#define DALI_TOOLKIT_VISUAL_FACTORY_IMPL_H
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2022 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.
{
class VisualFactoryCache;
class ImageVisualShaderFactory;
+class TextVisualShaderFactory;
/**
* @copydoc Toolkit::VisualFactory
void OnStyleChangedSignal(Toolkit::StyleManager styleManager, StyleChange::Type type);
/**
+ * @brief BrokenImageChanged callback
+ *
+ * @param[in] styleManager Handle for style manager.
+ */
+ void OnBrokenImageChangedSignal(Toolkit::StyleManager styleManager);
+
+ /**
* @copydoc Toolkit::VisualFactory::CreateVisual( const Property::Map& )
*/
Toolkit::Visual::Base CreateVisual(const Property::Map& propertyMap);
private:
/**
+ * @brief Set the Broken Image url
+ * @param[in] styleManager The instance of StyleManager
+ */
+ void SetBrokenImageUrl(Toolkit::StyleManager& styleManager);
+
+ /**
* Get the factory cache, creating it if necessary.
*/
Internal::VisualFactoryCache& GetFactoryCache();
*/
ImageVisualShaderFactory& GetImageVisualShaderFactory();
+ /**
+ * Get the text visual shader factory, creating it if necessary.
+ */
+ TextVisualShaderFactory& GetTextVisualShaderFactory();
+
VisualFactory(const VisualFactory&) = delete;
VisualFactory& operator=(const VisualFactory& rhs) = delete;
private:
std::unique_ptr<VisualFactoryCache> mFactoryCache;
std::unique_ptr<ImageVisualShaderFactory> mImageVisualShaderFactory;
+ std::unique_ptr<TextVisualShaderFactory> mTextVisualShaderFactory;
SlotDelegate<VisualFactory> mSlotDelegate;
bool mDebugEnabled : 1;
bool mPreMultiplyOnLoad : 1; ///< Local store for this flag