X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Fpublic-api%2Fcontrols%2Fcontrol.h;h=f418372063d48ca070d8aea76b8e48b380abee9a;hb=d77eb8256291852ab373718df3fc8fd937150974;hp=5fd89331523728629fad7ff9a9e8a983f15094d5;hpb=bc5e9a0b52e07309fd557deb212333d1798109f3;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/public-api/controls/control.h b/dali-toolkit/public-api/controls/control.h index 5fd8933..f418372 100644 --- a/dali-toolkit/public-api/controls/control.h +++ b/dali-toolkit/public-api/controls/control.h @@ -2,7 +2,7 @@ #define __DALI_TOOLKIT_CONTROL_H__ /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2018 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. @@ -20,7 +20,7 @@ // EXTERNAL INCLUDES #include -#include +#include #include #include #include @@ -28,6 +28,9 @@ #include #include +// INTERNAL INCLUDES +#include + namespace Dali { @@ -69,7 +72,7 @@ class Control; * |------------------------|----------------------------------------------------| * | accessibilityActivated | %OnAccessibilityActivated() | */ -class DALI_IMPORT_API Control : public CustomActor +class DALI_TOOLKIT_API Control : public CustomActor { public: @@ -146,6 +149,7 @@ public: * @brief The outer space around the control. * @details Name "margin", type Property::EXTENTS. * @SINCE_1_2.62 + * @note Margin property is to be supported by Layout algorithms and containers in future. */ MARGIN, @@ -394,6 +398,15 @@ public: */ 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 /** @@ -449,12 +462,30 @@ public: * * 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();