DummyControl actor = DummyControl::New();
DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(actor.GetImplementation());
-
dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, smallVisual );
actor.SetSize( 200.f, 200.f );
- Toolkit::Visual::ResourceStatus resourceStatus = actor.GetVisualResourceStatus(DummyControl::Property::TEST_VISUAL);
+ Toolkit::Visual::ResourceStatus resourceStatus = DevelControl::GetVisualResourceStatus(dummyImpl, DummyControl::Property::TEST_VISUAL);
DALI_TEST_EQUALS( actor.GetRendererCount(), 0u, TEST_LOCATION );
DALI_TEST_EQUALS( actor.IsResourceReady(), false, TEST_LOCATION );
DALI_TEST_EQUALS( static_cast<int>(resourceStatus), static_cast<int>(Toolkit::Visual::ResourceStatus::PREPARING), TEST_LOCATION );
application.SendNotification();
application.Render();
- resourceStatus = actor.GetVisualResourceStatus(DummyControl::Property::TEST_VISUAL);
+ resourceStatus = DevelControl::GetVisualResourceStatus(dummyImpl, DummyControl::Property::TEST_VISUAL);
DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION );
DALI_TEST_EQUALS( actor.IsResourceReady(), true, TEST_LOCATION );
DALI_TEST_EQUALS( static_cast<int>(resourceStatus), static_cast<int>(Toolkit::Visual::ResourceStatus::READY), TEST_LOCATION );
dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL2, largeVisual, false );
- resourceStatus = actor.GetVisualResourceStatus(DummyControl::Property::TEST_VISUAL2);
+ resourceStatus = DevelControl::GetVisualResourceStatus(dummyImpl, DummyControl::Property::TEST_VISUAL2);
DALI_TEST_EQUALS( static_cast<int>(resourceStatus), static_cast<int>(Toolkit::Visual::ResourceStatus::PREPARING), TEST_LOCATION );
application.SendNotification();
- resourceStatus = actor.GetVisualResourceStatus(DummyControl::Property::TEST_VISUAL2);
+ resourceStatus = DevelControl::GetVisualResourceStatus(dummyImpl, DummyControl::Property::TEST_VISUAL2);
DALI_TEST_EQUALS( actor.GetRendererCount(), 1u, TEST_LOCATION );
DALI_TEST_EQUALS( actor.IsResourceReady(), true, TEST_LOCATION );
DALI_TEST_EQUALS( static_cast<int>(resourceStatus), static_cast<int>(Toolkit::Visual::ResourceStatus::PREPARING), TEST_LOCATION );
application.SendNotification();
- resourceStatus = actor.GetVisualResourceStatus(DummyControl::Property::TEST_VISUAL2);
+ resourceStatus = DevelControl::GetVisualResourceStatus(dummyImpl, DummyControl::Property::TEST_VISUAL2);
DALI_TEST_EQUALS( static_cast<int>(resourceStatus), static_cast<int>(Toolkit::Visual::ResourceStatus::READY), TEST_LOCATION );
END_TEST;
#include <dali-toolkit/dali-toolkit.h>
#include <dali/devel-api/scripting/scripting.h>
#include <dali-toolkit/devel-api/controls/control-devel.h>
-#include <dali-toolkit/public-api/image-loader/texture-manager.h>
+#include <dali-toolkit/devel-api/image-loader/texture-manager.h>
#include <dali-toolkit/devel-api/visual-factory/visual-base.h>
#include <dali-toolkit/devel-api/visuals/image-visual-properties-devel.h>
Property::Map imageMap;
imageMap[ ImageVisual::Property::URL ] = gImage_34_RGBA;
- imageMap[ ImageVisual::Property::LOAD_POLICY ] = ImageVisual::LoadPolicy::IMMEDIATE;
+ imageMap[ DevelImageVisual::Property::LOAD_POLICY ] = DevelImageVisual::LoadPolicy::IMMEDIATE;
tet_infoline("Creating ImageView without URL so image does not start loading");
ImageView imageView = ImageView::New();
Property::Map imageMap;
imageMap[ ImageVisual::Property::URL ] = gImage_34_RGBA;
- imageMap[ ImageVisual::Property::LOAD_POLICY ] = ImageVisual::LoadPolicy::IMMEDIATE;
+ imageMap[ DevelImageVisual::Property::LOAD_POLICY ] = DevelImageVisual::LoadPolicy::IMMEDIATE;
ImageView imageView = ImageView::New();
imageView.ResourceReadySignal().Connect( &ResourceReadySignal);
Property::Map imageImmediateLoadingMap;
imageImmediateLoadingMap[ ImageVisual::Property::URL ] = gImage_34_RGBA;
- imageImmediateLoadingMap[ ImageVisual::Property::LOAD_POLICY ] = ImageVisual::LoadPolicy::IMMEDIATE;
+ imageImmediateLoadingMap[ DevelImageVisual::Property::LOAD_POLICY ] = DevelImageVisual::LoadPolicy::IMMEDIATE;
tet_infoline("Immediate load an image");
ImageView imageView = ImageView::New();
Property::Map propertyMap;
propertyMap.Insert( Toolkit::Visual::Property::TYPE, Visual::IMAGE );
propertyMap.Insert( ImageVisual::Property::URL, TEST_LARGE_IMAGE_FILE_NAME );
- propertyMap.Insert( ImageVisual::Property::RELEASE_POLICY, ImageVisual::ReleasePolicy::DETACHED );
+ propertyMap.Insert( DevelImageVisual::Property::RELEASE_POLICY, DevelImageVisual::ReleasePolicy::DETACHED );
TestGlAbstraction& gl = application.GetGlAbstraction();
TraceCallStack& textureTrace = gl.GetTextureTrace();
ToolkitTestApplication application;
tet_infoline( "UtcDaliImageVisualReleasePolicy01 Detached Policy, disabling visual with this policy deletes texture" );
- Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::RELEASE_POLICY, ImageVisual::ReleasePolicy::DETACHED );
+ Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::RELEASE_POLICY, DevelImageVisual::ReleasePolicy::DETACHED );
DALI_TEST_CHECK( imageVisual );
// Set up debug trace
ToolkitTestApplication application;
tet_infoline( "UtcDaliImageVisualReleasePolicy02 Destroyed Policy, Texture should be deleted when visual destroyed" );
- Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::RELEASE_POLICY, ImageVisual::ReleasePolicy::DESTROYED );
+ Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::RELEASE_POLICY, DevelImageVisual::ReleasePolicy::DESTROYED );
DALI_TEST_CHECK( imageVisual );
// Setup debug trace
ToolkitTestApplication application;
tet_infoline( "UtcDaliImageVisualReleasePolicy03 Never Policy, texture should not be deleted after visual destroyed" );
- Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::RELEASE_POLICY, ImageVisual::ReleasePolicy::NEVER );
+ Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::RELEASE_POLICY, DevelImageVisual::ReleasePolicy::NEVER );
DALI_TEST_CHECK( imageVisual );
TestGlAbstraction& gl = application.GetGlAbstraction();
tet_infoline( "UtcDaliImageVisualReleasePolicy04 Two visuals with different policies sharing a texture" );
tet_infoline( "Create first visual with Never release policy" );
- Visual::Base imageVisualNever = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::RELEASE_POLICY, ImageVisual::ReleasePolicy::NEVER );
+ Visual::Base imageVisualNever = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::RELEASE_POLICY, DevelImageVisual::ReleasePolicy::NEVER );
tet_infoline( "Create second visual with Destroyed release policy");
- Visual::Base imageVisualDestroyed = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::RELEASE_POLICY, ImageVisual::ReleasePolicy::DESTROYED );
+ Visual::Base imageVisualDestroyed = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::RELEASE_POLICY, DevelImageVisual::ReleasePolicy::DESTROYED );
// Set up trace debug
TestGlAbstraction& gl = application.GetGlAbstraction();
imageVisualNever.CreatePropertyMap( resultMap );
DALI_TEST_CHECK( ! resultMap.Empty() );
- DALI_TEST_EQUALS( ( resultMap.Find( ImageVisual::Property::RELEASE_POLICY ) )->Get<int>(), (int)ImageVisual::ReleasePolicy::NEVER, TEST_LOCATION );
+ DALI_TEST_EQUALS( ( resultMap.Find( DevelImageVisual::Property::RELEASE_POLICY ) )->Get<int>(), (int)DevelImageVisual::ReleasePolicy::NEVER, TEST_LOCATION );
END_TEST;
}
ToolkitTestApplication application;
tet_infoline( "UtcDaliImageVisualReleasePolicy06 Never Policy, texture should not be affected by Disabling and Enabling visual" );
- Visual::Base imageVisual= CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::RELEASE_POLICY, ImageVisual::ReleasePolicy::NEVER );
+ Visual::Base imageVisual= CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::RELEASE_POLICY, DevelImageVisual::ReleasePolicy::NEVER );
DALI_TEST_CHECK( imageVisual );
TestGlAbstraction& gl = application.GetGlAbstraction();
tet_infoline( "UtcDaliImageVisualReleasePolicy07 Two visuals with different policies sharing a texture DETACHED and DESTROYED" );
tet_infoline( "Create first visual with DESTROYED release policy" );
- Visual::Base imageVisualDestroyed = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::RELEASE_POLICY, ImageVisual::ReleasePolicy::DESTROYED );
+ Visual::Base imageVisualDestroyed = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::RELEASE_POLICY, DevelImageVisual::ReleasePolicy::DESTROYED );
tet_infoline( "Create second visual with DETACHED release policy");
- Visual::Base imageVisualDetached = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::RELEASE_POLICY, ImageVisual::ReleasePolicy::DETACHED );
+ Visual::Base imageVisualDetached = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::RELEASE_POLICY, DevelImageVisual::ReleasePolicy::DETACHED );
// Set up trace debug
TestGlAbstraction& gl = application.GetGlAbstraction();
textureTrace.Enable(true);
tet_infoline( "Create visual with IMMEDIATE load policy" );
- Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::LOAD_POLICY, ImageVisual::LoadPolicy::IMMEDIATE );
+ Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::LOAD_POLICY, DevelImageVisual::LoadPolicy::IMMEDIATE );
DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1 ), true, TEST_LOCATION );
textureTrace.Enable(true);
tet_infoline( "Create visual with IMMEDIATE load policy" );
- Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::LOAD_POLICY, ImageVisual::LoadPolicy::ATTACHED );
+ Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::LOAD_POLICY, DevelImageVisual::LoadPolicy::ATTACHED );
const unsigned int TIME_OUT_3_SECONDS = 3;
DALI_TEST_EQUALS( Test::WaitForEventThreadTrigger( 1, TIME_OUT_3_SECONDS ), false, TEST_LOCATION );
actor.SetSize(200.f, 200.f);
tet_infoline( "Create visual with IMMEDIATE load policy" );
- Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::LOAD_POLICY, ImageVisual::LoadPolicy::IMMEDIATE );
+ Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::LOAD_POLICY, DevelImageVisual::LoadPolicy::IMMEDIATE );
tet_infoline( "Registering visual allows control to get a signal once loaded even if visual not enabled( not staged )" );
dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, imageVisual, VISUAL_NOT_ENABLED );
actor.SetSize(200.f, 200.f);
tet_infoline( "Create visual with IMMEDIATE load policy" );
- Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::LOAD_POLICY, ImageVisual::LoadPolicy::IMMEDIATE );
+ Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::LOAD_POLICY, DevelImageVisual::LoadPolicy::IMMEDIATE );
tet_infoline( "Registering visual allows control to get a signal once loaded even if visual not enabled( staged )" );
dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, imageVisual, VISUAL_NOT_ENABLED );
tet_infoline( "Original control correctly signalled, now testing for signal with new Control reusing the image" );
gResourceReadySignalFired = false; // Reset signal check ready for testing next Control
- Visual::Base imageVisual2 = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::LOAD_POLICY, ImageVisual::LoadPolicy::IMMEDIATE );
+ Visual::Base imageVisual2 = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::LOAD_POLICY, DevelImageVisual::LoadPolicy::IMMEDIATE );
DummyControl actor2 = DummyControl::New(true);
Impl::DummyControl& dummyImpl2 = static_cast<Impl::DummyControl&>(actor.GetImplementation());
actor2.ResourceReadySignal().Connect( &ResourceReadySignal);
Stage::GetCurrent().Add( actor );
tet_infoline( "Create visual with ATTACHED load policy" );
- Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::LOAD_POLICY, ImageVisual::LoadPolicy::ATTACHED );
+ Visual::Base imageVisual = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::LOAD_POLICY, DevelImageVisual::LoadPolicy::ATTACHED );
tet_infoline( "Registering visual allows control to get a signal once loaded" );
dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, imageVisual );
tet_infoline( "Original control correctly signalled, now testing for signal with new Control reusing the image" );
gResourceReadySignalFired = false; // Reset signal check ready for testing next Control
- Visual::Base imageVisual2 = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, ImageVisual::Property::LOAD_POLICY, ImageVisual::LoadPolicy::ATTACHED );
+ Visual::Base imageVisual2 = CreateVisualWithPolicy( TEST_IMAGE_FILE_NAME, DevelImageVisual::Property::LOAD_POLICY, DevelImageVisual::LoadPolicy::ATTACHED );
DummyControl actor2 = DummyControl::New(true);
Impl::DummyControl& dummyImpl2 = static_cast<Impl::DummyControl&>(actor.GetImplementation());
actor2.ResourceReadySignal().Connect( &ResourceReadySignal);
Property::Map propertyMap;
propertyMap.Insert( Visual::Property::TYPE, Visual::IMAGE );
propertyMap.Insert( ImageVisual::Property::URL, TEST_ROTATED_IMAGE );
- propertyMap.Insert( ImageVisual::Property::ORIENTATION_CORRECTION, false );
+ propertyMap.Insert( DevelImageVisual::Property::ORIENTATION_CORRECTION, false );
Visual::Base imageVisual = factory.CreateVisual( propertyMap );
tet_infoline( "Create control for visual, need to loaded it" );
propertyMap.Clear();
propertyMap.Insert( Visual::Property::TYPE, Visual::IMAGE );
propertyMap.Insert( ImageVisual::Property::URL, TEST_ROTATED_IMAGE );
- propertyMap.Insert( ImageVisual::Property::ORIENTATION_CORRECTION, true );
+ propertyMap.Insert( DevelImageVisual::Property::ORIENTATION_CORRECTION, true );
imageVisual = factory.CreateVisual( propertyMap );
dummyImpl.RegisterVisual( DummyControl::Property::TEST_VISUAL, imageVisual );
imageVisual.CreatePropertyMap( resultMap );
// check the Property::ORIENTATION_CORRECTION value from the returned map
- Property::Value* typeValue = resultMap.Find( ImageVisual::Property::ORIENTATION_CORRECTION, Property::BOOLEAN );
+ Property::Value* typeValue = resultMap.Find( DevelImageVisual::Property::ORIENTATION_CORRECTION, Property::BOOLEAN );
DALI_TEST_EQUALS( typeValue->Get<bool>(), true, TEST_LOCATION );
END_TEST;
#include <dali-toolkit-test-suite-utils.h>
#include <dali/public-api/rendering/texture-set.h>
#include <dali/public-api/rendering/texture.h>
-#include <dali-toolkit/public-api/image-loader/texture-manager.h>
+#include <dali-toolkit/devel-api/image-loader/texture-manager.h>
using namespace Dali;
using namespace Dali::Toolkit;
# Extra tags for Tizen 4.0
ALIASES += SINCE_1_3_4="@since 1.3.4"
-ALIASES += SINCE_1_3_5="@since 1.3.5"
ALIASES += DEPRECATED_1_0="@deprecated Deprecated since 1.0"
ALIASES += DEPRECATED_1_1="@deprecated Deprecated since 1.1"
## Extra tags for Tizen 4.0
#ALIASES += SINCE_1_3_4="\par Since:\n 4.0, DALi version 1.3.4"
-#ALIASES += SINCE_1_3_5="\par Since:\n 4.0, DALi version 1.3.5"
## DALi has no deprecated API in Tizen 2.4 because it's DALi's first release.
## Thus deprecated APIs in DALi 1.0.xx will be deprecated in Tizen 3.0.
#include <dali-toolkit/public-api/image-loader/async-image-loader.h>
#include <dali-toolkit/public-api/image-loader/sync-image-loader.h>
-#include <dali-toolkit/public-api/image-loader/texture-manager.h>
#include <dali-toolkit/public-api/accessibility-manager/accessibility-manager.h>
return controlDataImpl.IsVisualEnabled( index );
}
+Toolkit::Visual::ResourceStatus GetVisualResourceStatus( const Internal::Control& control, Dali::Property::Index index )
+{
+ const Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
+ return controlDataImpl.GetVisualResourceStatus( index );
+}
+
Dali::Animation CreateTransition( Internal::Control& control, const Toolkit::TransitionData& handle )
{
Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( control );
DALI_IMPORT_API bool IsVisualEnabled( const Internal::Control& control, Dali::Property::Index index );
/**
+ * @brief Get the loading state of the visual resource.
+ *
+ * @param[in] control The control
+ * @param[in] index The Property index of the visual
+ * @return Return the loading status (PREPARING, READY and FAILED) of visual resource
+ */
+DALI_IMPORT_API Toolkit::Visual::ResourceStatus GetVisualResourceStatus( const Internal::Control& control, Dali::Property::Index index );
+
+/**
* @brief Create a transition effect on the control.
*
* Only generates an animation if the properties described in the transition
$(devel_api_src_dir)/image-loader/async-image-loader-devel.cpp \
$(devel_api_src_dir)/image-loader/atlas-upload-observer.cpp \
$(devel_api_src_dir)/image-loader/image-atlas.cpp \
+ $(devel_api_src_dir)/image-loader/texture-manager.cpp \
$(devel_api_src_dir)/scripting/script.cpp \
$(devel_api_src_dir)/styling/style-manager-devel.cpp \
$(devel_api_src_dir)/transition-effects/cube-transition-cross-effect.cpp \
devel_api_image_loader_header_files = \
$(devel_api_src_dir)/image-loader/async-image-loader-devel.h \
$(devel_api_src_dir)/image-loader/atlas-upload-observer.h \
- $(devel_api_src_dir)/image-loader/image-atlas.h
+ $(devel_api_src_dir)/image-loader/image-atlas.h \
+ $(devel_api_src_dir)/image-loader/texture-manager.h
devel_api_scripting_header_files = \
$(devel_api_src_dir)/scripting/script.h \
*/
// CLASS HEADER
-#include <dali-toolkit/public-api/image-loader/texture-manager.h>
+#include <dali-toolkit/devel-api/image-loader/texture-manager.h>
// INTERNAL INCLUDES
#include <dali-toolkit/internal/visuals/visual-factory-impl.h>
return textureMgr.RemoveExternalTexture( textureUrl );
}
-} // namespace TextureManager
+} // TextureManager
-} // namespace Toolkit
+} // Toolkit
-} // namespace Dali
+} // Dali
-#ifndef DALI_TOOLKIT_TEXTURE_MANAGER_H
-#define DALI_TOOLKIT_TEXTURE_MANAGER_H
+#ifndef DALI_TOOLKIT_DEVEL_API_TEXTURE_MANAGER_H
+#define DALI_TOOLKIT_DEVEL_API_TEXTURE_MANAGER_H
/*
* Copyright (c) 2017 Samsung Electronics Co., Ltd.
/**
* API to interface with the toolkit texture manager
* Allows developers to add Textures through TextureSets to toolkit so that visuals can use them to render
- * @SINCE_1_3_5
*/
namespace TextureManager
{
/**
* @brief Add a Texture to texture manager
* Toolkit keeps the Texture handle until RemoveTexture is called.
- * @SINCE_1_3_5
* @note this method does not check for duplicates,
* if same Texture is added multiple times, a different URL is returned each time
* @param[in] texture the Texture to add
/**
* @brief Add a TextureSet to texture manager
* Toolkit keeps the TextureSet handle until RemoveTexture is called.
- * @SINCE_1_3_5
* @note this method does not check for duplicates,
* if same TextureSet is added multiple times, a different URL is returned each time
* @param[in] textureSet the TextureSet to add
/**
* @brief Removes a TextureSet from toolkit
- * @SINCE_1_3_5
* @note TextureSet may still be used by visuals and kept alive by them
* @param[in] textureUrl to remove
* @return the handle to the TextureSet or empty handle in case TextureSet is not found
*/
DALI_IMPORT_API TextureSet RemoveTexture( const std::string& textureUrl );
-} // namespace TextureManager
+}
-} // namespace Toolkit
+} // Toolkit
-} // namespace Dali
+} // Dali
-#endif // DALI_TOOLKIT_TEXTURE_MANAGER_H
+#endif // DALI_TOOLKIT_DEVEL_API_TEXTURE_MANAGER_H
return GetImplementation( *this ).GetName();
}
-void Visual::Base::SetTransformAndSize( const Dali::Property::Map& transform, Size controlSize )
+void Visual::Base::SetTransformAndSize( const Property::Map& transform, Size controlSize )
{
GetImplementation( *this ).SetTransformAndSize( transform, controlSize );
}
return GetImplementation( *this ).GetDepthIndex();
}
-void Visual::Base::CreatePropertyMap( Dali::Property::Map& map ) const
+void Visual::Base::CreatePropertyMap( Property::Map& map ) const
{
GetImplementation( *this ).CreatePropertyMap( map );
}
namespace Visual
{
+enum class ResourceStatus
+{
+ PREPARING,
+ READY,
+ FAILED
+};
+
/**
* @brief A Visual provides a renderer for drawing a control component. A control may have multiple visuals.
*
namespace DevelImageVisual
{
+/**
+ * @brief The policy determining if the image is loaded when the visual is staged or created.
+ */
+namespace LoadPolicy
+{
+
+/**
+ * @brief The available named elements that define the LoadPolicy.
+ */
+enum Type
+{
+ IMMEDIATE = 0, ///< The image is loaded when the ImageVisual is created.
+ ATTACHED ///< The image is loaded when the ImageVisual is attached to the stage.
+};
+
+} // namespace LoadPolicy
+
+/**
+ * @brief The policy determining when a image is deleted from the cache in relation to the ImageVisual lifetime.
+ * @note If the texture is being shared by another visual it persist if still required.
+ */
+namespace ReleasePolicy
+{
+
+/**
+ * @brief The available named elements that define the ReleasePolicy.
+ */
+enum Type
+{
+ DETACHED = 0, ///< Image deleted from cache when ImageVisual detached from stage.
+ DESTROYED, ///< Image deleted from cache when ImageVisual destroyed.
+ NEVER ///< Image is never deleted, will survive the lifetime of the application.
+};
+
+} // namespace ReleasePolicy;
+
namespace Property
{
FRAME_DELAY = Dali::Toolkit::ImageVisual::Property::FRAME_DELAY,
MASK_CONTENT_SCALE = Dali::Toolkit::ImageVisual::Property::MASK_CONTENT_SCALE,
CROP_TO_MASK = Dali::Toolkit::ImageVisual::Property::CROP_TO_MASK,
- LOAD_POLICY = Dali::Toolkit::ImageVisual::Property::LOAD_POLICY,
- RELEASE_POLICY = Dali::Toolkit::ImageVisual::Property::RELEASE_POLICY,
- ORIENTATION_CORRECTION = Dali::Toolkit::ImageVisual::Property::ORIENTATION_CORRECTION,
+
+ /**
+ * @brief The policy to determine when an image should be loaded.
+ * @details Name "loadPolicy", Type LoadPolicy::Type (Property::INTEGER)or Property::STRING.
+ * @note Default LoadPolicy::ATTACHED
+ * @see LoadPolicy::Type
+ */
+ LOAD_POLICY = CROP_TO_MASK + 1,
+
+ /**
+ * @brief The policy to determine when an image should no longer be cached.
+ * @details Name "releasePolicy", Type ReleasePolicy::Type (Property::INTEGER) or Property::STRING
+ * @note Default ReleasePolicy::DESTROYED
+ * @see ReleasePolicy::Type
+ */
+ RELEASE_POLICY = CROP_TO_MASK + 2,
+
+ /**
+ * @brief Determines if image orientation should be corrected so the image displays as it was intended.
+ * @details Name "orientationCorrection", Type Property::BOOLEAN, if true the image's orientation will be corrected.
+ * @note Default true
+ */
+ ORIENTATION_CORRECTION = CROP_TO_MASK + 3,
/**
* @brief Overlays the auxiliary iamge on top of an NPatch image.
* @details Name "auxiliaryImage", Type Property::STRING, URL of the image.
* @note Default true
*/
- AUXILIARY_IMAGE = ORIENTATION_CORRECTION + 1,
+ AUXILIARY_IMAGE = CROP_TO_MASK + 4,
/**
* @brief An alpha value for mixing between the masked main NPatch image and the auxiliary image
* @details Name "auxiliaryImageAlpha", Type Property::FLOAT, between 0 and 1
* @note Default 0
*/
- AUXILIARY_IMAGE_ALPHA = ORIENTATION_CORRECTION + 2,
+ AUXILIARY_IMAGE_ALPHA = CROP_TO_MASK + 5,
};
#include <dali-toolkit/internal/controls/tooltip/tooltip.h>
#include <dali-toolkit/internal/builder/style.h>
#include <dali-toolkit/internal/builder/dictionary.h>
-#include <dali-toolkit/public-api/visuals/visual-properties.h>
namespace Dali
{
//INTERNAL INCLUDES
#include <dali-toolkit/devel-api/visuals/animated-gradient-visual-properties-devel.h>
-#include <dali-toolkit/public-api/visuals/visual-properties.h>
#include <dali-toolkit/devel-api/visuals/visual-properties-devel.h>
#include <dali-toolkit/internal/visuals/visual-factory-impl.h>
#include <dali-toolkit/internal/visuals/visual-factory-cache.h>
// load policies
DALI_ENUM_TO_STRING_TABLE_BEGIN( LOAD_POLICY )
-DALI_ENUM_TO_STRING_WITH_SCOPE( Dali::Toolkit::ImageVisual::LoadPolicy, IMMEDIATE )
-DALI_ENUM_TO_STRING_WITH_SCOPE( Dali::Toolkit::ImageVisual::LoadPolicy, ATTACHED )
+DALI_ENUM_TO_STRING_WITH_SCOPE( DevelImageVisual::LoadPolicy, IMMEDIATE )
+DALI_ENUM_TO_STRING_WITH_SCOPE( DevelImageVisual::LoadPolicy, ATTACHED )
DALI_ENUM_TO_STRING_TABLE_END( LOAD_POLICY )
// release policies
DALI_ENUM_TO_STRING_TABLE_BEGIN( RELEASE_POLICY )
-DALI_ENUM_TO_STRING_WITH_SCOPE( Dali::Toolkit::ImageVisual::ReleasePolicy, DETACHED )
-DALI_ENUM_TO_STRING_WITH_SCOPE( Dali::Toolkit::ImageVisual::ReleasePolicy, DESTROYED )
-DALI_ENUM_TO_STRING_WITH_SCOPE( Dali::Toolkit::ImageVisual::ReleasePolicy, NEVER )
+DALI_ENUM_TO_STRING_WITH_SCOPE( DevelImageVisual::ReleasePolicy, DETACHED )
+DALI_ENUM_TO_STRING_WITH_SCOPE( DevelImageVisual::ReleasePolicy, DESTROYED )
+DALI_ENUM_TO_STRING_WITH_SCOPE( DevelImageVisual::ReleasePolicy, NEVER )
DALI_ENUM_TO_STRING_TABLE_END( RELEASE_POLICY )
const Vector4 FULL_TEXTURE_RECT(0.f, 0.f, 1.f, 1.f);
mSamplingMode( samplingMode ),
mWrapModeU( WrapMode::DEFAULT ),
mWrapModeV( WrapMode::DEFAULT ),
- mLoadPolicy( Toolkit::ImageVisual::LoadPolicy::ATTACHED ),
- mReleasePolicy( Toolkit::ImageVisual::ReleasePolicy::DETACHED ),
+ mLoadPolicy( DevelImageVisual::LoadPolicy::ATTACHED ),
+ mReleasePolicy( DevelImageVisual::ReleasePolicy::DETACHED ),
mAtlasRect( 0.0f, 0.0f, 0.0f, 0.0f ),
mAttemptAtlasing( false ),
mLoading( false ),
mSamplingMode( SamplingMode::DEFAULT ),
mWrapModeU( WrapMode::DEFAULT ),
mWrapModeV( WrapMode::DEFAULT ),
- mLoadPolicy( Toolkit::ImageVisual::LoadPolicy::ATTACHED ),
- mReleasePolicy( Toolkit::ImageVisual::ReleasePolicy::DESTROYED ),
+ mLoadPolicy( DevelImageVisual::LoadPolicy::ATTACHED ),
+ mReleasePolicy( DevelImageVisual::ReleasePolicy::DESTROYED ),
mAtlasRect( 0.0f, 0.0f, 0.0f, 0.0f ),
mAttemptAtlasing( false ),
mLoading( false ),
}
// ImageVisual destroyed so remove texture unless ReleasePolicy is set to never release
- if( ( mTextureId != TextureManager::INVALID_TEXTURE_ID ) && ( mReleasePolicy != Toolkit::ImageVisual::ReleasePolicy::NEVER ) )
+ if( ( mTextureId != TextureManager::INVALID_TEXTURE_ID ) && ( mReleasePolicy != DevelImageVisual::ReleasePolicy::NEVER ) )
{
RemoveTexture();
}
}
else if ( keyValue.first == LOAD_POLICY_NAME )
{
- DoSetProperty( Toolkit::ImageVisual::Property::LOAD_POLICY, keyValue.second );
+ DoSetProperty( Toolkit::DevelImageVisual::Property::LOAD_POLICY, keyValue.second );
}
else if( keyValue.first == RELEASE_POLICY_NAME )
{
- DoSetProperty( Toolkit::ImageVisual::Property::RELEASE_POLICY, keyValue.second );
+ DoSetProperty( Toolkit::DevelImageVisual::Property::RELEASE_POLICY, keyValue.second );
}
else if( keyValue.first == ORIENTATION_CORRECTION_NAME )
{
- DoSetProperty( Toolkit::ImageVisual::Property::ORIENTATION_CORRECTION, keyValue.second );
+ DoSetProperty( Toolkit::DevelImageVisual::Property::ORIENTATION_CORRECTION, keyValue.second );
}
}
}
// Load image immediately if LOAD_POLICY requires it
- if ( mLoadPolicy == Toolkit::ImageVisual::LoadPolicy::IMMEDIATE )
+ if ( mLoadPolicy == DevelImageVisual::LoadPolicy::IMMEDIATE )
{
auto attemptAtlasing = AttemptAtlasing();
LoadTexture( attemptAtlasing, mAtlasRect, mTextures, mOrientationCorrection,
break;
}
- case Toolkit::ImageVisual::Property::RELEASE_POLICY:
+ case Toolkit::DevelImageVisual::Property::RELEASE_POLICY:
{
int releasePolicy;
Scripting::GetEnumerationProperty( value, RELEASE_POLICY_TABLE, RELEASE_POLICY_TABLE_COUNT, releasePolicy );
- mReleasePolicy = Toolkit::ImageVisual::ReleasePolicy::Type( releasePolicy );
+ mReleasePolicy = DevelImageVisual::ReleasePolicy::Type( releasePolicy );
break;
}
- case Toolkit::ImageVisual::Property::LOAD_POLICY:
+ case Toolkit::DevelImageVisual::Property::LOAD_POLICY:
{
int loadPolicy;
Scripting::GetEnumerationProperty( value, LOAD_POLICY_TABLE, LOAD_POLICY_TABLE_COUNT, loadPolicy );
- mLoadPolicy = Toolkit::ImageVisual::LoadPolicy::Type( loadPolicy );
+ mLoadPolicy = DevelImageVisual::LoadPolicy::Type( loadPolicy );
break;
}
- case Toolkit::ImageVisual::Property::ORIENTATION_CORRECTION:
+ case Toolkit::DevelImageVisual::Property::ORIENTATION_CORRECTION:
{
bool orientationCorrection( mOrientationCorrection );
if( value.Get( orientationCorrection ) )
// Image release is dependent on the ReleasePolicy, renderer is destroyed.
actor.RemoveRenderer( mImpl->mRenderer);
- if( mReleasePolicy == Toolkit::ImageVisual::ReleasePolicy::DETACHED )
+ if( mReleasePolicy == DevelImageVisual::ReleasePolicy::DETACHED )
{
RemoveTexture(); // If INVALID_TEXTURE_ID then removal will be attempted on atlas
}
map.Insert( Toolkit::ImageVisual::Property::CROP_TO_MASK, mMaskingData->mCropToMask );
}
- map.Insert( Toolkit::ImageVisual::Property::LOAD_POLICY, mLoadPolicy );
- map.Insert( Toolkit::ImageVisual::Property::RELEASE_POLICY, mReleasePolicy );
- map.Insert( Toolkit::ImageVisual::Property::ORIENTATION_CORRECTION, mOrientationCorrection );
+ map.Insert( Toolkit::DevelImageVisual::Property::LOAD_POLICY, mLoadPolicy );
+ map.Insert( Toolkit::DevelImageVisual::Property::RELEASE_POLICY, mReleasePolicy );
+ map.Insert( Toolkit::DevelImageVisual::Property::ORIENTATION_CORRECTION, mOrientationCorrection );
}
void ImageVisual::DoCreateInstancePropertyMap( Property::Map& map ) const
#include <dali-toolkit/internal/visuals/visual-base-impl.h>
#include <dali-toolkit/internal/visuals/visual-url.h>
#include <dali-toolkit/devel-api/visuals/image-visual-properties-devel.h>
-#include <dali-toolkit/public-api/visuals/image-visual-properties.h>
namespace Dali
{
Dali::SamplingMode::Type mSamplingMode:4;
Dali::WrapMode::Type mWrapModeU:3;
Dali::WrapMode::Type mWrapModeV:3;
- Dali::Toolkit::ImageVisual::LoadPolicy::Type mLoadPolicy;
- Dali::Toolkit::ImageVisual::ReleasePolicy::Type mReleasePolicy;
+ DevelImageVisual::LoadPolicy::Type mLoadPolicy;
+ DevelImageVisual::ReleasePolicy::Type mReleasePolicy;
Vector4 mAtlasRect;
bool mAttemptAtlasing; ///< If true will attempt atlasing, otherwise create unique texture
bool mLoading; ///< True if the texture is still loading.
#include <dali-toolkit/internal/visuals/visual-base-impl.h>
#include <dali-toolkit/internal/visuals/visual-resource-observer.h>
#include <dali-toolkit/public-api/align-enumerations.h>
-#include <dali-toolkit/public-api/visuals/visual-properties.h>
namespace Dali
{
#include <dali-toolkit/internal/visuals/transition-data-impl.h>
#include <dali-toolkit/internal/visuals/visual-factory-cache.h>
#include <dali-toolkit/devel-api/direction-enums.h>
-#include <dali-toolkit/public-api/visuals/visual-properties.h>
namespace Dali
{
return controlDataImpl.IsResourceReady();
}
-Toolkit::Visual::ResourceStatus Control::GetVisualResourceStatus( Dali::Property::Index index )
-{
- const Internal::Control& internalControl = Toolkit::Internal::GetImplementation( *this );
- const Internal::Control::Impl& controlDataImpl = Internal::Control::Impl::Get( internalControl );
- return controlDataImpl.GetVisualResourceStatus( index );
-}
-
Control::KeyEventSignalType& Control::KeyEventSignal()
{
return Internal::GetImplementation(*this).KeyEventSignal();
#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
{
*/
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( Dali::Property::Index index );
-
// Signals
/**
$(public_api_src_dir)/controls/video-view/video-view.cpp \
$(public_api_src_dir)/image-loader/async-image-loader.cpp \
$(public_api_src_dir)/image-loader/sync-image-loader.cpp \
- $(public_api_src_dir)/image-loader/texture-manager.cpp \
$(public_api_src_dir)/styling/style-manager.cpp \
$(public_api_src_dir)/accessibility-manager/accessibility-manager.cpp \
$(public_api_src_dir)/focus-manager/keyboard-focus-manager.cpp \
public_api_image_loader_header_files = \
$(public_api_src_dir)/image-loader/async-image-loader.h \
- $(public_api_src_dir)/image-loader/sync-image-loader.h \
- $(public_api_src_dir)/image-loader/texture-manager.h
+ $(public_api_src_dir)/image-loader/sync-image-loader.h
public_api_progress_bar_header_files = \
$(public_api_src_dir)/controls/progress-bar/progress-bar.h
* @note If this is false, then the mask is scaled to fit the image before being applied.
*/
CROP_TO_MASK,
-
-/**
- * @brief The policy to determine when an image should be loaded.
- * @details Name "loadPolicy", Type LoadPolicy::Type (Property::INTEGER)or Property::STRING.
- * @SINCE_1_3_5
- * @note Default LoadPolicy::ATTACHED
- * @see LoadPolicy::Type
- */
-
- LOAD_POLICY,
-
- /**
- * @brief The policy to determine when an image should no longer be cached.
- * @details Name "releasePolicy", Type ReleasePolicy::Type (Property::INTEGER) or Property::STRING
- * @SINCE_1_3_5
- * @note Default ReleasePolicy::DESTROYED
- * @see ReleasePolicy::Type
- */
-
- RELEASE_POLICY,
-
- /**
- * @brief Determines if image orientation should be corrected so the image displays as it was intended.
- * @details Name "orientationCorrection", Type Property::BOOLEAN, if true the image's orientation will be corrected.
- * @SINCE_1_3_5
- * @note Default true
- */
-
- ORIENTATION_CORRECTION,
-
};
} // namespace Property
-/**
- * @brief The policy determining if the image is loaded when the visual is staged or created.
- * @SINCE_1_3_5
- */
-namespace LoadPolicy
-{
-
-/**
- * @brief The available named elements that define the LoadPolicy.
- * @SINCE_1_3_5
- */
-enum Type
-{
- IMMEDIATE = 0, ///< The image is loaded when the ImageVisual is created.
- ATTACHED ///< The image is loaded when the ImageVisual is attached to the stage.
-};
-
-} // namespace LoadPolicy
-
-/**
- * @brief The policy determining when a image is deleted from the cache in relation to the ImageVisual lifetime.
- * @SINCE_1_3_5
- * @note If the texture is being shared by another visual it persist if still required.
- */
-namespace ReleasePolicy
-{
-
-/**
- * @brief The available named elements that define the ReleasePolicy.
- * @SINCE_1_3_5
- */
-enum Type
-{
- DETACHED = 0, ///< Image deleted from cache when ImageVisual detached from stage.
- DESTROYED, ///< Image deleted from cache when ImageVisual destroyed.
- NEVER ///< Image is never deleted, will survive the lifetime of the application.
-};
-
-} // namespace ReleasePolicy;
-
} // namespace ImageVisual
/**
} // namespace Shader
-
-/**
- * @brief Status of resource which is used for visual.
- * @SINCE_1_3_5
- */
-enum class ResourceStatus
-{
- PREPARING, /// Resource is prepared. @SINCE_1_3_5
- READY, /// Resource is ready. @SINCE_1_3_5
- FAILED /// Resource is fail to load @SINCE_1_3_5
-};
-
} // namespace Visual
/**