(Control) Added more event-side properties
[platform/core/uifw/dali-toolkit.git] / capi / dali-toolkit / public-api / controls / control.h
index f588a2c..26baa51 100644 (file)
@@ -45,11 +45,26 @@ class Control : public CustomActor, public ConnectionTrackerInterface
 {
 public:
 
-  // Action Names
-  static const char* const ACTION_CONTROL_ACTIVATED; ///< name "control-activated"
-
-  // Signal Names
-  static const char* const SIGNAL_KEY_EVENT;         ///< name "key-event"
+  /// @name Properties
+  /** @{ */
+  static const Property::Index PROPERTY_BACKGROUND_COLOR;    ///< name "background-color",        @see SetBackgroundColor,        type VECTOR4
+  static const Property::Index PROPERTY_BACKGROUND;          ///< name "background",              @see SetBackground,             type MAP
+  static const Property::Index PROPERTY_WIDTH_POLICY;        ///< name "width-policy",            @see SetSizePolicy,             type STRING
+  static const Property::Index PROPERTY_HEIGHT_POLICY;       ///< name "height-policy",           @see SetSizePolicy,             type STRING
+  static const Property::Index PROPERTY_MINIMUM_SIZE;        ///< name "minimum-size",            @see SetMinimumSize,            type VECTOR3
+  static const Property::Index PROPERTY_MAXIMUM_SIZE;        ///< name "maximum-size",            @see SetMaximumSize,            type VECTOR3
+  static const Property::Index PROPERTY_KEY_INPUT_FOCUS;     ///< name "key-input-focus",         @see SetKeyInputFocus,          type BOOLEAN
+  /** @} */
+
+  /// @name Signals
+  /** @{ */
+  static const char* const SIGNAL_KEY_EVENT;                 ///< name "key-event"
+  /** @} */
+
+  /// @name Actions
+  /** @{ */
+  static const char* const ACTION_CONTROL_ACTIVATED;         ///< name "control-activated"
+  /** @} */
 
   /**
    * @brief Describes how a control could be resized.
@@ -159,6 +174,8 @@ public:
    */
   const ControlImpl& GetImplementation() const;
 
+  // Size Negotiation
+
   /**
    * @brief Sets the size policies for the width and height dimensions.
    *
@@ -230,6 +247,8 @@ public:
    */
   float GetWidthForHeight( float height );
 
+  // Key Input
+
   /**
    * @brief This sets the control to receive key events.
    *
@@ -262,8 +281,78 @@ public:
    */
   void ClearKeyInputFocus();
 
-//signals
-public:
+  // Gesture Detection
+
+  /**
+   * @brief Retrieves the pinch gesture detector of the control.
+   *
+   * @return The pinch gesture detector.
+   * @pre Pinch detection should have been enabled in the control.
+   */
+  PinchGestureDetector GetPinchGestureDetector() const;
+
+  /**
+   * @brief Retrieves the pan gesture detector of the control.
+   *
+   * @return The pan gesture detector.
+   * @pre Pan detection should have been enabled in the control.
+   */
+  PanGestureDetector GetPanGestureDetector() const;
+
+  /**
+   * @brief Retrieves the tap gesture detector of the control.
+   *
+   * @return The tap gesture detector.
+   * @pre Tap detection should have been enabled in the control.
+   */
+  TapGestureDetector GetTapGestureDetector() const;
+
+  /**
+   * @brief Retrieves the long press gesture detector of the control.
+   *
+   * @return The long press gesture detector.
+   * @pre Long press detection should have been enabled in the control.
+   */
+  LongPressGestureDetector GetLongPressGestureDetector() const;
+
+  // Background
+
+  /**
+   * @brief Sets the background color of the control.
+   *
+   * @param[in] color The required background color of the control
+   */
+  void SetBackgroundColor( const Vector4& color );
+
+  /**
+   * @brief Retrieves the background color of the control.
+   *
+   * @return The background color of the control.
+   */
+  Vector4 GetBackgroundColor() const;
+
+  /**
+   * @brief Sets an image as the background of the control.
+   *
+   * The color of this image is blended with the background color @see SetBackgroundColor
+   *
+   * @param[in] image The image to set as the background.
+   */
+  void SetBackground( Image image );
+
+  /**
+   * @brief Clears the background.
+   */
+  void ClearBackground();
+
+  /**
+   * @brief Retrieves the actor used as the background for this control.
+   *
+   * @return The actor that used as the background for this control.
+   */
+  Actor GetBackgroundActor() const;
+
+  // Signals
 
   /**
    * @brief This signal is emitted when key event is received.