return mImpl->mFlags & Impl::IS_ON_STAGE;
}
-bool Visual::Base::IsFromCache() const
-{
- return mImpl->mFlags & Impl::IS_FROM_CACHE;
-}
-
void Visual::Base::RegisterMixColor()
{
// Only register if not already registered.
return mImpl->mMixColor;
}
+void Visual::Base::AddResourceObserver( Visual::ResourceObserver& observer)
+{
+ mImpl->mResourceObserver = &observer;
+}
+
+void Visual::Base::RemoveResourceObserver( Visual::ResourceObserver& observer )
+{
+ mImpl->mResourceObserver = NULL;
+}
+
+void Visual::Base::ResourceReady()
+{
+ if( mImpl->mResourceReady )
+ {
+ // only inform the observer the first time the resource is ready
+ return;
+ }
+ mImpl->mResourceReady = true;
+
+ if( mImpl->mResourceObserver )
+ {
+ // observer is currently a control impl
+ mImpl->mResourceObserver->ResourceReady( *this );
+ }
+}
+
+bool Visual::Base::IsResourceReady() const
+{
+ return mImpl->mResourceReady;
+}
+
Renderer Visual::Base::GetRenderer()
{
return mImpl->mRenderer;