*
*/
-// INTERNAL INCLUDES
-#include <dali/dali.h>
-
-namespace Dali DALI_IMPORT_API
+// EXTERNAL INCLUDES
+#include <dali/public-api/actors/custom-actor.h>
+#include <dali/public-api/common/dali-common.h>
+#include <dali/public-api/events/long-press-gesture-detector.h>
+#include <dali/public-api/events/pan-gesture-detector.h>
+#include <dali/public-api/events/pinch-gesture-detector.h>
+#include <dali/public-api/events/tap-gesture-detector.h>
+#include <dali/public-api/events/tap-gesture-detector.h>
+#include <dali/public-api/images/image.h>
+
+namespace Dali
{
namespace Toolkit
* The implementation of the control must be supplied; see Internal::Control for more details.
* @see Internal::Control
*/
-class Control : public CustomActor
+class DALI_IMPORT_API Control : public CustomActor
{
public:
* @brief Retrieves the pinch gesture detector of the control.
*
* @return The pinch gesture detector.
- * @pre Pinch detection should have been enabled in the control.
+ * @note Will return an empty handle if the control does not handle the gesture itself.
*/
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.
+ * @note Will return an empty handle if the control does not handle the gesture itself.
*/
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.
+ * @note Will return an empty handle if the control does not handle the gesture itself.
*/
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.
+ * @note Will return an empty handle if the control does not handle the gesture itself.
*/
LongPressGestureDetector GetLongPressGestureDetector() const;
* @brief Sets the background color of the control.
*
* @param[in] color The required background color of the control
+ *
+ * @note The background color fully blends with the actor color.
*/
void SetBackgroundColor( const Vector4& color );
*/
KeyEventSignalV2& KeyEventSignal();
-public: // Not intended for application developers
+public: // Intended for control developers
/**
* @brief Create an initialised Control.
*
* @param[in] implementation The implementation for this control.
* @return A handle to a newly allocated Dali resource.
+ *
+ * @note Should NOT be called to create a handle from the implementation. As stated, this allocates a NEW Dali resource.
*/
- Control(Internal::Control& implementation);
+ explicit Control(Internal::Control& implementation);
/**
* @brief This constructor is used by CustomActor within Dali core to create additional Control handles
*
* @param [in] internal A pointer to a newly allocated Dali resource
*/
- Control(Dali::Internal::CustomActor* internal);
+ explicit Control(Dali::Internal::CustomActor* internal);
public: // Templates for Deriving Classes
* @see DownCast(BaseHandle)
*/
template<typename T, typename I>
- static T DownCast( BaseHandle handle )
+ DALI_INTERNAL static T DownCast( BaseHandle handle )
{
T result;
* @param[in] internal Pointer to the Internal::CustomActor
*/
template<typename I>
- void VerifyCustomActorPointer(Dali::Internal::CustomActor* internal)
+ DALI_INTERNAL void VerifyCustomActorPointer(Dali::Internal::CustomActor* internal)
{
// Can have a NULL pointer so we only need to check if the internal implementation is our class
// when there is a value.