-#ifndef __DALI_TOOLKIT_CONTROL_H__
-#define __DALI_TOOLKIT_CONTROL_H__
+#ifndef DALI_TOOLKIT_CONTROL_H
+#define DALI_TOOLKIT_CONTROL_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.
// EXTERNAL INCLUDES
#include <dali/public-api/actors/custom-actor.h>
-#include <dali/public-api/common/dali-common.h>
+#include <dali-toolkit/public-api/dali-toolkit-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>
+
+// INTERNAL INCLUDES
+#include <dali-toolkit/public-api/visuals/visual-properties.h>
namespace Dali
{
* |------------------------|----------------------------------------------------|
* | accessibilityActivated | %OnAccessibilityActivated() |
*/
-class DALI_IMPORT_API Control : public CustomActor
+class DALI_TOOLKIT_API Control : public CustomActor
{
public:
STYLE_NAME = PROPERTY_START_INDEX,
/**
- * @DEPRECATED_1_1.3
- * @brief The background color of the control.
- *
- * Mutually exclusive with BACKGROUND_IMAGE & BACKGROUND.
- * @details Name "backgroundColor", type Property::VECTOR4.
- * @see Toolkit::Control::SetStyleName()
- * @SINCE_1_0.0
- */
- BACKGROUND_COLOR,
-
- /**
- * @DEPRECATED_1_1.3
- * @brief The background image of the control.
- *
- * Mutually exclusive with BACKGROUND_COLOR & BACKGROUND.
- * @details Name "backgroundImage", type Property::MAP.
- * @SINCE_1_0.0
- */
- BACKGROUND_IMAGE,
-
- /**
* @brief Receives key events to the control.
* @details Name "keyInputFocus", type Property::BOOLEAN.
* @see Toolkit::Control::SetKeyInputFocus()
/**
* @brief The background of the control.
*
- * Mutually exclusive with BACKGROUND_COLOR & BACKGROUND_IMAGE.
* @details Name "background", type Property::MAP or std::string for URL or Property::VECTOR4 for Color.
* @SINCE_1_1.3
*/
void SetBackgroundColor( const Vector4& color );
/**
- * @DEPRECATED_1_1.3
- *
- * @brief Retrieves the background color of the control.
- *
- * @SINCE_1_0.0
- * @return The background color of the control
- */
- Vector4 GetBackgroundColor() const DALI_DEPRECATED_API;
-
- /**
- * @DEPRECATED_1_2_8, use Property::BACKGROUND instead
- *
- * @brief Sets an image as the background of the control.
- *
- * @SINCE_1_0.0
- * @param[in] image The image to set as the background
- */
- void SetBackgroundImage( Image image ) DALI_DEPRECATED_API;
-
- /**
* @brief Clears the background.
* @SINCE_1_0.0
*/
*/
bool IsResourceReady() const;
+ /**
+ * @brief Get the loading state of the visual resource.
+ *
+ * @SINCE_1_3_5
+ * @param[in] index The Property index of the visual
+ * @return Return the loading status (PREPARING, READY and FAILED) of visual resource
+ */
+ Visual::ResourceStatus GetVisualResourceStatus( const Dali::Property::Index index );
+
// Signals
/**
*
* Most resources are only loaded when the control is placed on stage.
*
+ * If resources are shared between ImageViews, they are cached.
+ * In this case, the ResourceReady signal may be sent before there is an object to connect to.
+ * To protect against this, IsResourceReady() can be checked first.
+ *
+ * @code
+ * auto newControl = Control::New();
+ * newControl.SetResource( resourceUrl );
+ * if ( newControl.IsResourceReady() )
+ * {
+ * // do something
+ * }
+ * else
+ * {
+ * newControl.ResourceReadySignal.Connect( .... )
+ * }
+ * @endcode
+ *
* A callback of the following type may be connected:
* @code
* void YourCallbackName( Control control );
* @endcode
*
* @SINCE_1_2.60
+ * @return The signal to connect to
* @note A RelayoutRequest is queued by Control before this signal is emitted
*/
ResourceReadySignalType& ResourceReadySignal();
} // namespace Dali
-#endif // __DALI_TOOLKIT_CONTROL_H__
+#endif // DALI_TOOLKIT_CONTROL_H