Add move semantics to common and base Toolkit classes
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / controls / scrollable / scroll-view / scroll-view.h
index 594e6da..14b9909 100755 (executable)
@@ -1,8 +1,8 @@
-#ifndef __DALI_TOOLKIT_SCROLL_VIEW_H__
-#define __DALI_TOOLKIT_SCROLL_VIEW_H__
+#ifndef DALI_TOOLKIT_SCROLL_VIEW_H
+#define DALI_TOOLKIT_SCROLL_VIEW_H
 
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
@@ -85,7 +85,7 @@ enum DirectionBias
  * @brief Used for specifying minimum/maximum extents of a ruler.
  * @SINCE_1_0.0
  */
-class DALI_IMPORT_API RulerDomain
+class DALI_TOOLKIT_API RulerDomain
 {
 public:
 
@@ -154,7 +154,7 @@ class RulerExtension;
  * where their snap points are and their domain.
  * @SINCE_1_0.0
  */
-class DALI_IMPORT_API Ruler : public RefObject
+class DALI_TOOLKIT_API Ruler : public RefObject
 {
 public:
   /**
@@ -372,7 +372,7 @@ typedef IntrusivePtr<Ruler> RulerPtr; ///< Pointer to Dali::Toolkit::Ruler objec
  * @brief Concrete implementation of Ruler that has no snapping and has one single page.
  * @SINCE_1_0.0
  */
-class DALI_IMPORT_API DefaultRuler : public Ruler
+class DALI_TOOLKIT_API DefaultRuler : public Ruler
 {
 public:
   /**
@@ -406,7 +406,7 @@ public:
  * @brief Concrete implementation of Ruler that has fixed snapping.
  * @SINCE_1_0.0
  */
-class DALI_IMPORT_API FixedRuler : public Ruler
+class DALI_TOOLKIT_API FixedRuler : public Ruler
 {
 public:
   /**
@@ -454,7 +454,7 @@ class ScrollView;
  * | snap-started      | @ref SnapStartedSignal()   |
  * @SINCE_1_0.0
  */
-class DALI_IMPORT_API ScrollView : public Scrollable
+class DALI_TOOLKIT_API ScrollView : public Scrollable
 {
 
 public:
@@ -737,6 +737,14 @@ public:
   ScrollView( const ScrollView& handle );
 
   /**
+   * @brief Move constructor
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   */
+  ScrollView( ScrollView&& rhs );
+
+  /**
    * @brief Assignment operator.
    *
    * Changes this handle to point to another real object.
@@ -747,6 +755,15 @@ public:
   ScrollView& operator=( const ScrollView& handle );
 
   /**
+   * @brief Move assignment
+   * @SINCE_1_9.23
+   *
+   * @param[in] rhs A reference to the moved handle
+   * @return A reference to this
+   */
+  ScrollView& operator=( ScrollView&& rhs );
+
+  /**
    * @brief Destructor.
    *
    * This is non-virtual since derived Handle types must not contain data or virtual methods.
@@ -875,7 +892,7 @@ public:
    *
    * @SINCE_1_0.0
    * @param[in] sensitive @c true to enable scroll, @c false to disable scrolling
-   * @note Unlike Actor::SetSensitive(), this determines whether this ScrollView
+   * @note Unlike Actor::Property::SENSITIVE, this determines whether this ScrollView
    * should react (e.g. pan), without disrupting the sensitivity of its children.
    *
    */
@@ -1445,4 +1462,4 @@ public: // Not intended for application developers
 
 } // namespace Dali
 
-#endif // __DALI_TOOLKIT_SCROLL_VIEW_H__
+#endif // DALI_TOOLKIT_SCROLL_VIEW_H