Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4b3370a3 authored by Wu-cheng Li's avatar Wu-cheng Li Committed by Android Git Automerger
Browse files

am 9bf511db: am f73d48d7: Merge "Fix some camera orientation javadoc errors." into gingerbread

Merge commit '9bf511db'

* commit '9bf511db':
  Fix some camera orientation javadoc errors.
parents dc58e521 9bf511db
Loading
Loading
Loading
Loading
+45 −21
Original line number Diff line number Diff line
@@ -175,13 +175,18 @@ public class Camera {
         * camera image needs to be rotated clockwise so it shows correctly on
         * the display in its natural orientation. It should be 0, 90, 180, or 270.
         *
         * For example, suppose a device has a naturally tall screen, but the camera
         * sensor is mounted in landscape. If the top side of the camera sensor is
         * aligned with the right edge of the display in natural orientation, the
         * value should be 90.
         * For example, suppose a device has a naturally tall screen. The
         * back-facing camera sensor is mounted in landscape. You are looking at
         * the screen. If the top side of the camera sensor is aligned with the
         * right edge of the screen in natural orientation, the value should be
         * 90. If the top side of a front-facing camera sensor is aligned with
         * the right of the screen, the value should be 270.
         *
         * @see #setDisplayOrientation(int)
         * @see #setRotation(int)
         * @see #setPreviewSize(int, int)
         * @see #setPictureSize(int, int)
         * @see #setJpegThumbnailSize(int, int)
         */
        public int orientation;
    };
@@ -771,13 +776,16 @@ public class Camera {
    public native final void stopSmoothZoom();

    /**
     * Set the display orientation. This affects the preview frames and the
     * picture displayed after snapshot. This method is useful for portrait
     * mode applications.
     * Set the clockwise rotation of preview display in degrees. This affects
     * the preview frames and the picture displayed after snapshot. This method
     * is useful for portrait mode applications. Note that preview display of
     * front-facing cameras is flipped horizontally, that is, the image is
     * reflected along the central vertical axis of the camera sensor. So the
     * users can see themselves as looking into a mirror.
     *
     * This does not affect the order of byte array passed in
     * {@link PreviewCallback#onPreviewFrame}. This method is not allowed to
     * be called during preview.
     * This does not affect the order of byte array passed in {@link
     * PreviewCallback#onPreviewFrame}, JPEG pictures, or recorded videos. This
     * method is not allowed to be called during preview.
     *
     * If you want to make the camera image show in the same orientation as
     * the display, you can use the following code.<p>
@@ -797,13 +805,20 @@ public class Camera {
     *         case Surface.ROTATION_270: degrees = 270; break;
     *     }
     *
     *     int result = (info.orientation - degrees + 360) % 360;
     *     int result;
     *     if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
     *         result = (info.orientation + degrees) % 360;
     *         result = (360 - result) % 360;  // compensate the mirror
     *     } else {  // back-facing
     *         result = (info.orientation - degrees + 360) % 360;
     *     }
     *     camera.setDisplayOrientation(result);
     * }
     * </pre>
     * @param degrees the angle that the picture will be rotated clockwise.
     *                Valid values are 0, 90, 180, and 270. The starting
     *                position is 0 (landscape).
     * @see #setPreviewDisplay(SurfaceHolder)
     */
    public native final void setDisplayOrientation(int degrees);

@@ -1749,20 +1764,23 @@ public class Camera {
         * the orientation in the EXIF header will be missing or 1 (row #0 is
         * top and column #0 is left side).
         *
         * If appplications want to rotate the picture to match the
         * orientation of what users see, apps should use {@link
         * If applications want to rotate the picture to match the orientation
         * of what users see, apps should use {@link
         * android.view.OrientationEventListener} and {@link CameraInfo}.
         * The value from OrientationEventListener is relative to the natural
         * orientation of the device. CameraInfo.mOrientation is the angle
         * between camera orientation and natural device orientation. The sum
         * of the two is the angle for rotation.
         * orientation of the device. CameraInfo.orientation is the angle
         * between camera orientation and natural device orientation. The sum or
         * of the two is the rotation angle for back-facing camera. The
         * difference of the two is the rotation angle for front-facing camera.
         * Note that the JPEG pictures of front-facing cameras are not mirrored
         * as in preview display.
         *
         * For example, suppose the natural orientation of the device is
         * portrait. The device is rotated 270 degrees clockwise, so the device
         * orientation is 270. Suppose the camera sensor is mounted in landscape
         * and the top side of the camera sensor is aligned with the right edge
         * of the display in natural orientation. So the camera orientation is
         * 90. The rotation should be set to 0 (270 + 90).
         * orientation is 270. Suppose a back-facing camera sensor is mounted in
         * landscape and the top side of the camera sensor is aligned with the
         * right edge of the display in natural orientation. So the camera
         * orientation is 90. The rotation should be set to 0 (270 + 90).
         *
         * The reference code is as follows.
         *
@@ -1772,7 +1790,13 @@ public class Camera {
         *            new android.hardware.Camera.CameraInfo();
         *     android.hardware.Camera.getCameraInfo(cameraId, info);
         *     orientation = (orientation + 45) / 90 * 90;
         *     mParameters.setRotation((orientation + info.mOrientation) % 360);
         *     int rotation = 0;
         *     if (info.facing == CameraInfo.CAMERA_FACING_FRONT) {
         *         rotation = (info.orientation - orientation + 360) % 360;
         *     } else {  // back-facing camera
         *         rotation = (info.orientation + orientation) % 360;
         *     }
         *     mParameters.setRotation(rotation);
         * }
         *
         * @param rotation The rotation angle in degrees relative to the