#include <dali/public-api/math/vector3.h>
#include <dali/public-api/images/frame-buffer-image.h>
-namespace Dali DALI_IMPORT_API
+namespace Dali
{
namespace Internal DALI_INTERNAL
* actors in lower layers cannot obscure actors in higher layers.
*
* If depth test is disabled, there is no performance overhead from clearing the depth buffer.
+ *
+ * Actions
+ * | %Action Name | %Layer method called |
+ * |-----------------|----------------------|
+ * | raise | @ref Raise() |
+ * | lower | @ref Lower() |
+ * | raise-to-top | @ref RaiseToTop() |
+ * | lower-to-bottom | @ref LowerToBottom() |
*/
class DALI_IMPORT_API Layer : public Actor
{
public:
- // Default Properties additional to Actor
- static const Property::Index CLIPPING_ENABLE; ///< name "clipping-enable", type BOOLEAN
- static const Property::Index CLIPPING_BOX; ///< name "clipping-box", type RECTANGLE
-
- // Action Names
- static const char* const ACTION_RAISE; ///< name "raise"
- static const char* const ACTION_LOWER; ///< name "lower"
- static const char* const ACTION_RAISE_TO_TOP; ///< name "raise-to-top"
- static const char* const ACTION_LOWER_TO_BOTTOM; ///< name "lower-to-bottom"
+ /**
+ * @brief An enumeration of properties belonging to the Layer class.
+ * Properties additional to Actor.
+ */
+ struct Property
+ {
+ enum
+ {
+ CLIPPING_ENABLE = DEFAULT_DERIVED_ACTOR_PROPERTY_START_INDEX, ///< name "clipping-enable", type bool
+ CLIPPING_BOX, ///< name "clipping-box", type Rect<int>
+ };
+ };
/**
* @brief The sort function type.
Layer& operator=(const Layer& rhs);
/**
- * @brief This method is defined to allow assignment of the NULL value,
- * and will throw an exception if passed any other value.
- *
- * Assigning to NULL is an alias for Reset().
- * @param [in] rhs A NULL pointer
- * @return A reference to this handle
- */
- Layer& operator=(BaseHandle::NullType* rhs);
-
- /**
* @brief Query the depth of the layer
*
* 0 is bottom most layer, higher number is on top
*/
bool IsTouchConsumed() const;
+ /**
+ * @brief This allows the user to specify whether this layer should consume hover.
+ *
+ * If set, any layers behind this layer will not be hit-test.
+ *
+ * @param[in] consume Whether the layer should consume hover.
+ */
+ void SetHoverConsumed( bool consume );
+
+ /**
+ * @brief Retrieves whether the layer consumes hover.
+ *
+ * @return true if consuming hover, false otherwise.
+ */
+ bool IsHoverConsumed() const;
+
public: // Not intended for application developers
/**