[dali_2.3.22] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / devel-api / controls / magnifier / magnifier.h
index e898326..15429e8 100644 (file)
@@ -1,8 +1,8 @@
-#ifndef __DALI_TOOLKIT_MAGNIFIER_H__
-#define __DALI_TOOLKIT_MAGNIFIER_H__
+#ifndef DALI_TOOLKIT_MAGNIFIER_H
+#define DALI_TOOLKIT_MAGNIFIER_H
 
 /*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
 
 namespace Dali
 {
-
 namespace Toolkit
 {
-
 namespace Internal DALI_INTERNAL
 {
 class Magnifier;
@@ -41,20 +39,19 @@ class Magnifier;
  * to the stage as a separate overlay. In addition to the contents, an optional frame
  * is displayed around the magnified contents.
  */
-class DALI_IMPORT_API Magnifier : public Control
+class DALI_TOOLKIT_API Magnifier : public Control
 {
 public:
-
   /**
    * @brief The start and end property ranges for this control.
    */
   enum PropertyRange
   {
     PROPERTY_START_INDEX = Control::CONTROL_PROPERTY_END_INDEX + 1,
-    PROPERTY_END_INDEX =   PROPERTY_START_INDEX + 1000,             ///< Reserve property indices
+    PROPERTY_END_INDEX   = PROPERTY_START_INDEX + 1000, ///< Reserve property indices
 
     ANIMATABLE_PROPERTY_START_INDEX = ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX,
-    ANIMATABLE_PROPERTY_END_INDEX =   ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX + 1000              ///< Reserve animatable property indices
+    ANIMATABLE_PROPERTY_END_INDEX   = ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX + 1000 ///< Reserve animatable property indices
   };
 
   /**
@@ -65,8 +62,8 @@ public:
     enum
     {
       // Event side properties
-      FRAME_VISIBILITY = PROPERTY_START_INDEX,           ///< name "frameVisibility",       Whether a frame is visible or not,         type boolean
-      MAGNIFICATION_FACTOR,                              ///< name "magnificationFactor",   Larger value means greater magnification,  type float
+      FRAME_VISIBILITY = PROPERTY_START_INDEX, ///< name "frameVisibility",       Whether a frame is visible or not,         type boolean
+      MAGNIFICATION_FACTOR,                    ///< name "magnificationFactor",   Larger value means greater magnification,  type float
 
       // Animatable properties
       SOURCE_POSITION = ANIMATABLE_PROPERTY_START_INDEX, ///< name "sourcePosition",  The position of the source,  type Vector3
@@ -74,7 +71,6 @@ public:
   };
 
 public:
-
   /**
    * Creates an empty Magnifier handle
    */
@@ -82,14 +78,29 @@ public:
 
   /**
    * Copy constructor. Creates another handle that points to the same real object
-   * @param handle to copy from
+   * @param[in] handle to copy from
    */
-  Magnifier( const Magnifier& handle );
+  Magnifier(const Magnifier& handle);
 
   /**
    * Assignment operator. Changes this handle to point to another real object
+   * @param[in] handle to copy from
+   * @return reference to this
+   */
+  Magnifier& operator=(const Magnifier& handle);
+
+  /**
+   * Move constructor. Creates another handle that points to the same real object
+   * @param[in] rhs to move from
+   */
+  Magnifier(Magnifier&& rhs);
+
+  /**
+   * Move assignment operator. Changes this handle to point to another real object
+   * @param[in] rhs to move from
+   * @return reference to this
    */
-  Magnifier& operator=( const Magnifier& handle );
+  Magnifier& operator=(Magnifier&& rhs);
 
   /**
    * @brief Destructor
@@ -110,10 +121,9 @@ public:
    * @param[in] handle Handle to an object
    * @return handle to a Magnifier or an uninitialized handle
    */
-  static Magnifier DownCast( BaseHandle handle );
+  static Magnifier DownCast(BaseHandle handle);
 
 public:
-
   /**
    * Set the actors to be rendered in magnifier.
    * @param[in] actor This actor and its children will be rendered.
@@ -121,7 +131,6 @@ public:
   void SetSourceActor(Actor actor);
 
 public: // Not intended for application developers
-
   /**
    * Creates a handle using the Toolkit::Internal implementation.
    * @param[in]  implementation  The Control implementation.
@@ -139,4 +148,4 @@ public: // Not intended for application developers
 
 } // namespace Dali
 
-#endif // __DALI_TOOLKIT_MAGNIFIER_H__
+#endif // DALI_TOOLKIT_MAGNIFIER_H