#define DALI_TOOLKIT_INTERNAL_VISUAL_H
/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
#include <dali-toolkit/devel-api/visual-factory/visual-base.h>
#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>
namespace Dali
{
namespace Visual
{
+class ResourceObserver;
+
/**
* Base class for all Control rendering logic. A control may have multiple visuals.
*
/**
* @copydoc Toolkit::Visual::Base::SetDepthIndex
*/
- void SetDepthIndex( float index );
+ void SetDepthIndex( int index );
/**
* @copydoc Toolkit::Visual::Base::GetDepthIndex
*/
- float GetDepthIndex() const;
+ int GetDepthIndex() const;
/**
* @copydoc Toolkit::Visual::Base::SetOnStage
/**
* @brief Set whether the Pre-multiplied Alpha Blending is required
*
- * @param[in] preMultipled whether alpha is pre-multiplied.
+ * @param[in] preMultiplied whether alpha is pre-multiplied.
*/
- void EnablePreMultipliedAlpha( bool preMultipled );
+ void EnablePreMultipliedAlpha( bool preMultiplied );
/**
* @brief Query whether alpha is pre-multiplied.
void AnimateProperty( Dali::Animation& transition,
Internal::TransitionData::Animator& animator );
+ /**
+ * @brief Add an observer to watch for when the Visuals resources are loaded.
+ * Currently only supports a single observer
+ *
+ */
+ void AddResourceObserver( Visual::ResourceObserver& observer );
+
+ /**
+ * @brief Remove an observer
+ */
+ void RemoveResourceObserver( Visual::ResourceObserver& observer );
+
+ /**
+ * @brief Called when the visuals resources are loaded / ready
+ */
+ void ResourceReady();
+
+ /**
+ * @brief Called when the visuals resources are loaded / ready
+ * @return true if ready, false otherwise
+ */
+ bool IsResourceReady() const;
+
protected:
/**
*/
bool IsOnStage() const;
- /**
- * @brief Gets whether the Dali::Renderer is from a shared cache (and therefore any modifications will affect other users of that renderer)
- *
- * @return Returns true if the renderer is from shared cache, false otherwise
- */
- bool IsFromCache() const;
-
private:
/**