#define DALI_ACTOR_DEVEL_H
/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2019 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.
// INTERNAL INCLUDES
#include <dali/public-api/actors/actor.h>
+#include <dali/public-api/math/rect.h>
namespace Dali
{
INHERIT_ORIENTATION = Dali::Actor::Property::INHERIT_ORIENTATION,
INHERIT_SCALE = Dali::Actor::Property::INHERIT_SCALE,
COLOR_MODE = Dali::Actor::Property::COLOR_MODE,
- POSITION_INHERITANCE = Dali::Actor::Property::POSITION_INHERITANCE,
+ RESERVED_PROPERTY_01 = Dali::Actor::Property::RESERVED_PROPERTY_01,
DRAW_MODE = Dali::Actor::Property::DRAW_MODE,
SIZE_MODE_FACTOR = Dali::Actor::Property::SIZE_MODE_FACTOR,
WIDTH_RESIZE_POLICY = Dali::Actor::Property::WIDTH_RESIZE_POLICY,
* @brief Returns the screen position of the Actor
* @details Name "screenPosition", type Property::VECTOR2. Read-only
* @note This assumes default camera and default render-task and the Z position is ZERO.
+ * @note The last known frame is used for the calculation. May not match a position value just set.
*/
SCREEN_POSITION = INHERIT_LAYOUT_DIRECTION + 3,
* @note Setting this to false will allow scaling or rotation around the anchor-point without affecting the actor's position.
*/
POSITION_USES_ANCHOR_POINT = INHERIT_LAYOUT_DIRECTION + 4,
+
+ /**
+ * @brief Returns whether the actor is culled or not.
+ * @details Name "culled", type Property::BOOLEAN. Read-only
+ * @note True means that the actor is out of the view frustum.
+ */
+ CULLED = INHERIT_LAYOUT_DIRECTION + 5,
};
} // namespace Property
* @pre The Actor has been initialized.
* @note This signal is NOT emitted if the actor becomes transparent (or the reverse), it's only linked with Actor::Property::VISIBLE.
*/
-DALI_IMPORT_API VisibilityChangedSignalType& VisibilityChangedSignal( Actor actor );
+DALI_CORE_API VisibilityChangedSignalType& VisibilityChangedSignal( Actor actor );
+
+/**
+ * Calculates screen position and size.
+ *
+ * @return pair of two values, position of top-left corner on screen and size respectively.
+ */
+DALI_CORE_API Rect<> CalculateScreenExtents( Actor actor );
+
typedef Signal< void (Actor) > ChildChangedSignalType; ///< Called when the actor has a child added or removed
* @return The signal to connect to
* @pre The Actor has been initialized
*/
-DALI_IMPORT_API ChildChangedSignalType& ChildAddedSignal( Actor actor );
+DALI_CORE_API ChildChangedSignalType& ChildAddedSignal( Actor actor );
/**
* @brief This signal is emitted when a child is removed from this actor.
* @return The signal to connect to
* @pre The Actor has been initialized
*/
-DALI_IMPORT_API ChildChangedSignalType& ChildRemovedSignal( Actor actor );
+DALI_CORE_API ChildChangedSignalType& ChildRemovedSignal( Actor actor );
+
+
+typedef Signal< void (Actor) > ChildOrderChangedSignalType; ///< Used when the actor's children have changed order
+
+/**
+ * @brief This signal is emitted when an actor's children change their sibling order
+ *
+ * A callback of the following type may be connected:
+ * @code
+ * void MyCallbackName( Actor parent );
+ * @endcode
+ * parent The parent actor of the moved children
+ *
+ * @return The signal to connect to
+ * @pre The Actor has been initialized
+ */
+DALI_CORE_API ChildOrderChangedSignalType& ChildOrderChangedSignal( Actor actor );
+
} // namespace DevelActor