- float xMag_2 = cameraInfo.orthographic.xmag / 2.0;
- float yMag_2 = cameraInfo.orthographic.ymag / 2.0;
- cameraActor.SetOrthographicProjection(-xMag_2, xMag_2, yMag_2, -yMag_2, cameraInfo.orthographic.znear, cameraInfo.orthographic.zfar);
+ float xMag_2 = cameraInfo.orthographic.xmag / 2.0;
+ float yMag_2 = cameraInfo.orthographic.ymag / 2.0;
+ const float aspect = xMag_2 / yMag_2;
+
+ cameraActor.SetProjectionMode(Dali::Camera::ORTHOGRAPHIC_PROJECTION);
+ cameraActor.SetProperty(Dali::DevelCameraActor::Property::ORTHOGRAPHIC_SIZE, yMag_2);
+
+ cameraActor.SetNearClippingPlane(cameraInfo.orthographic.znear);
+ if(cameraInfo.orthographic.zfar > 0.0)
+ {
+ cameraActor.SetFarClippingPlane(cameraInfo.orthographic.zfar);
+ }
+ if(aspect > 0.0f) // Avoid divide-by-zero logic
+ {
+ cameraActor.SetAspectRatio(aspect);
+ }