[dali_1.0.32] Merge branch 'tizen'
[platform/core/uifw/dali-core.git] / dali / public-api / actors / camera-actor.h
index dbb6d8c..f8e17cf 100644 (file)
@@ -20,7 +20,7 @@
 
 #include <dali/public-api/actors/actor.h>
 
-namespace Dali DALI_IMPORT_API
+namespace Dali
 {
 
 namespace Internal DALI_INTERNAL
@@ -66,25 +66,34 @@ enum ProjectionMode
  * in world coordinates.
  *
  */
-class CameraActor : public Actor
+class DALI_IMPORT_API CameraActor : public Actor
 {
 public:
 
-  // Default Properties; additional to Actor properties
-  static const Property::Index TYPE;                         ///< Property::STRING,   // "type"                  // Not animatable
-  static const Property::Index PROJECTION_MODE;              ///< Property::STRING,   // "projection-mode"       // Not animatable
-  static const Property::Index FIELD_OF_VIEW;                ///< Property::FLOAT,    // "field-of-view"         // Not animatable
-  static const Property::Index ASPECT_RATIO;                 ///< Property::FLOAT,    // "aspect-ratio"          // Not animatable
-  static const Property::Index NEAR_PLANE_DISTANCE;          ///< Property::FLOAT,    // "near-plane-distance"   // Not animatable
-  static const Property::Index FAR_PLANE_DISTANCE;           ///< Property::FLOAT,    // "far-plane-distance"    // Not animatable
-  static const Property::Index LEFT_PLANE_DISTANCE;          ///< Property::FLOAT,    // "left-plane-distance"   // Not animatable
-  static const Property::Index RIGHT_PLANE_DISTANCE;         ///< Property::FLOAT,    // "right-plane-distance"  // Not animatable
-  static const Property::Index TOP_PLANE_DISTANCE;           ///< Property::FLOAT,    // "top-plane-distance"    // Not animatable
-  static const Property::Index BOTTOM_PLANE_DISTANCE;        ///< Property::FLOAT,    // "bottom-plane-distance" // Not animatable
-  static const Property::Index TARGET_POSITION;              ///< Property::VECTOR3,  // "target-position"       // Not animatable
-  static const Property::Index PROJECTION_MATRIX;            ///< Property::MATRIX,   // "projection-matrix"     // Constraint input, not animatable
-  static const Property::Index VIEW_MATRIX;                  ///< Property::MATRIX,   // "view-matrix"           // Constraint input, not animatable
-  static const Property::Index INVERT_Y_AXIS;                ///< Property::BOOLEAN,  // "invert-y-axis"         // Not animatable
+  /**
+   * @brief An enumeration of properties belonging to the CameraActor class.
+   * Properties additional to Actor.
+   */
+  struct Property
+  {
+    enum
+    {
+      Type = DEFAULT_DERIVED_ACTOR_PROPERTY_START_INDEX, ///< name "type",                  type String
+      ProjectionMode,                                    ///< name "projection-mode",       type String
+      FieldOfView,                                       ///< name "field-of-view",         type Float
+      AspectRatio,                                       ///< name "aspect-ratio",          type Float
+      NearPlaneDistance,                                 ///< name "near-plane-distance",   type Float
+      FarPlaneDistance,                                  ///< name "far-plane-distance",    type Float
+      LeftPlaneDistance,                                 ///< name "left-plane-distance",   type Float
+      RightPlaneDistance,                                ///< name "right-plane-distance",  type Float
+      TopPlaneDistance,                                  ///< name "top-plane-distance",    type Float
+      BottomPlaneDistance,                               ///< name "bottom-plane-distance", type Float
+      TargetPosition,                                    ///< name "target-position",       type Vector3
+      ProjectionMatrix,                                  ///< name "projection-matrix",     type Matrix
+      ViewMatrix,                                        ///< name "view-matrix",           type Matrix
+      InvertYAxis,                                       ///< name "invert-y-axis",         type Boolean
+    };
+  };
 
   /**
    * @brief Create an uninitialized CameraActor handle.
@@ -130,9 +139,18 @@ public:
   ~CameraActor();
 
   /**
-   * @copydoc Dali::BaseHandle::operator=
+   * @brief Copy constructor
+   *
+   * @param [in] copy The actor to copy.
+   */
+  CameraActor(const CameraActor& copy);
+
+  /**
+   * @brief Assignment operator
+   *
+   * @param [in] rhs The actor to copy.
    */
-  using BaseHandle::operator=;
+  CameraActor& operator=(const CameraActor& rhs);
 
   /**
    * @brief Set the camera type.