}
-Actor::DefaultPropertyLookup* Actor::mDefaultPropertyLookup = NULL;
-
ActorPtr Actor::New()
{
ActorPtr actor( new Actor( BASIC ) );
AddNodeMessage( mStage->GetUpdateManager(), *node ); // Pass ownership to scene-graph
mNode = node; // Keep raw-pointer to Node
- if(!mDefaultPropertyLookup)
- {
- mDefaultPropertyLookup = new DefaultPropertyLookup();
-
- for (int i=0; i<DEFAULT_PROPERTY_COUNT; ++i)
- {
- (*mDefaultPropertyLookup)[DEFAULT_PROPERTY_DETAILS[i].name] = i;
- }
- }
-
OnInitialize();
RegisterObject();
}
}
-const std::string& Actor::GetDefaultPropertyName( Property::Index index ) const
+const char* Actor::GetDefaultPropertyName( Property::Index index ) const
{
if( index < DEFAULT_PROPERTY_COUNT )
{
}
else
{
- // index out of range..return empty string
- return String::EMPTY;
+ return NULL;
}
}
{
Property::Index index = Property::INVALID_INDEX;
- DALI_ASSERT_DEBUG( NULL != mDefaultPropertyLookup );
-
// Look for name in default properties
- DefaultPropertyLookup::const_iterator result = mDefaultPropertyLookup->find( name );
- if ( mDefaultPropertyLookup->end() != result )
+ for( int i = 0; i < DEFAULT_PROPERTY_COUNT; ++i )
{
- index = result->second;
+ const Internal::PropertyDetails* property = &DEFAULT_PROPERTY_DETAILS[ i ];
+ if( 0 == strcmp( name.c_str(), property->name ) ) // dont want to convert rhs to string
+ {
+ index = i;
+ break;
+ }
}
return index;
#include <string>
// INTERNAL INCLUDES
-#include <dali/public-api/common/map-wrapper.h>
#include <dali/public-api/common/vector-wrapper.h>
#include <dali/public-api/object/ref-object.h>
#include <dali/public-api/actors/actor.h>
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyName()
*/
- virtual const std::string& GetDefaultPropertyName(Property::Index index) const;
+ virtual const char* GetDefaultPropertyName(Property::Index index) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
PositionInheritanceMode mPositionInheritanceMode : 2; ///< Cached: Determines how position is inherited
ColorMode mColorMode : 2; ///< Cached: Determines whether mWorldColor is inherited
- // Default properties
- typedef std::map<std::string, Property::Index> DefaultPropertyLookup;
-
private:
static ActorContainer mNullChildren; ///< Empty container (shared by all actors, returned by GetChildren() const)
static unsigned int mActorCounter; ///< A counter to track the actor instance creation
- // Default properties
- static DefaultPropertyLookup* mDefaultPropertyLookup;
-
-};
-
-/**
- * @brief Structure for setting up default properties and their details.
- */
-struct PropertyDetails
-{
- std::string name; ///< The name of the property.
- Property::Type type; ///< The property type.
- bool writable:1; ///< Whether the property is writable
- bool animatable:1; ///< Whether the property is animatable.
- bool constraintInput:1; ///< Whether the property can be used as an input to a constraint.
};
} // namespace Internal
namespace Internal
{
-bool CameraActor::mFirstInstance = true;
-Actor::DefaultPropertyLookup* CameraActor::mDefaultCameraActorPropertyLookup = NULL;
namespace
{
TypeRegistration mType( typeid(Dali::CameraActor), typeid(Dali::Actor), Create );
-const std::string DEFAULT_CAMERA_ACTOR_PROPERTY_NAMES[] =
+const char* DEFAULT_CAMERA_ACTOR_PROPERTY_NAMES[] =
{
"type",
"projection-mode",
"view-matrix",
"invert-y-axis"
};
-const int DEFAULT_CAMERA_ACTOR_PROPERTY_COUNT = sizeof( DEFAULT_CAMERA_ACTOR_PROPERTY_NAMES ) / sizeof( std::string );
+const int DEFAULT_CAMERA_ACTOR_PROPERTY_COUNT = sizeof( DEFAULT_CAMERA_ACTOR_PROPERTY_NAMES ) / sizeof( DEFAULT_CAMERA_ACTOR_PROPERTY_NAMES[0] );
const Property::Type DEFAULT_CAMERA_ACTOR_PROPERTY_TYPES[DEFAULT_CAMERA_ACTOR_PROPERTY_COUNT] =
{
void CameraActor::OnInitialize()
{
- if(CameraActor::mFirstInstance)
- {
- mDefaultCameraActorPropertyLookup = new DefaultPropertyLookup();
- const int start = DEFAULT_ACTOR_PROPERTY_MAX_COUNT;
- for ( int i = 0; i < DEFAULT_CAMERA_ACTOR_PROPERTY_COUNT; ++i )
- {
- (*mDefaultCameraActorPropertyLookup)[DEFAULT_CAMERA_ACTOR_PROPERTY_NAMES[i]] = i + start;
- }
- CameraActor::mFirstInstance = false;
- }
}
CameraActor::CameraActor()
}
}
-const std::string& CameraActor::GetDefaultPropertyName( Property::Index index ) const
+const char* CameraActor::GetDefaultPropertyName( Property::Index index ) const
{
if(index < DEFAULT_ACTOR_PROPERTY_MAX_COUNT)
{
{
return DEFAULT_CAMERA_ACTOR_PROPERTY_NAMES[index];
}
- else
- {
- // index out-of-bounds
- static const std::string INVALID_PROPERTY_NAME;
- return INVALID_PROPERTY_NAME;
- }
+ return NULL;
}
}
{
Property::Index index = Property::INVALID_INDEX;
- DALI_ASSERT_DEBUG( NULL != mDefaultCameraActorPropertyLookup );
-
// Look for name in current class' default properties
- DefaultPropertyLookup::const_iterator result = mDefaultCameraActorPropertyLookup->find( name );
- if ( mDefaultCameraActorPropertyLookup->end() != result )
+ for( int i = 0; i < DEFAULT_CAMERA_ACTOR_PROPERTY_COUNT; ++i )
{
- index = result->second;
+ if( 0 == strcmp( name.c_str(), DEFAULT_CAMERA_ACTOR_PROPERTY_NAMES[ i ] ) ) // dont want to convert rhs to string
+ {
+ index = i + DEFAULT_ACTOR_PROPERTY_MAX_COUNT;
+ break;
+ }
}
- else
+
+ // If not found, check in base class
+ if( Property::INVALID_INDEX == index )
{
- // If not found, check in base class
index = Actor::GetDefaultPropertyIndex( name );
}
/**
* copydoc Dali::Internal::ProxyObject
*/
- virtual const std::string& GetDefaultPropertyName( Property::Index index ) const;
+ virtual const char* GetDefaultPropertyName( Property::Index index ) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
virtual ~CameraActor();
private:
+
CameraAttachmentPtr mCameraAttachment;
- static bool mFirstInstance ;
- static DefaultPropertyLookup* mDefaultCameraActorPropertyLookup; ///< Default properties
+
};
} // namespace Internal
namespace Internal
{
-bool ImageActor::mFirstInstance = true;
-Actor::DefaultPropertyLookup* ImageActor::mDefaultImageActorPropertyLookup = NULL;
namespace
{
TypeRegistration mType( typeid(Dali::ImageActor), typeid(Dali::RenderableActor), Create );
-const std::string DEFAULT_IMAGE_ACTOR_PROPERTY_NAMES[] =
+const Internal::PropertyDetails DEFAULT_IMAGE_ACTOR_PROPERTY_DETAILS[] =
{
- "pixel-area",
- "style",
- "border",
- "image"
-};
-const int DEFAULT_IMAGE_ACTOR_PROPERTY_COUNT = sizeof( DEFAULT_IMAGE_ACTOR_PROPERTY_NAMES ) / sizeof( std::string );
-
-const Property::Type DEFAULT_IMAGE_ACTOR_PROPERTY_TYPES[DEFAULT_IMAGE_ACTOR_PROPERTY_COUNT] =
-{
- Property::RECTANGLE, // "pixel-area",
- Property::STRING, // "style",
- Property::VECTOR4, // "border",
- Property::MAP, // "image",
+ // Name Type writable animatable constraint-input
+ { "pixel-area", Property::RECTANGLE, true, false, true }, // PIXEL_AREA
+ { "style", Property::STRING, true, false, true }, // STYLE
+ { "border", Property::VECTOR4, true, false, true }, // BORDER
+ { "image", Property::MAP, true, false, false }, // IMAGE
};
+const int DEFAULT_IMAGE_ACTOR_PROPERTY_COUNT = sizeof( DEFAULT_IMAGE_ACTOR_PROPERTY_DETAILS ) / sizeof( DEFAULT_IMAGE_ACTOR_PROPERTY_DETAILS[0] );
ImageActor::Style StyleEnum(const std::string &s)
{
void ImageActor::OnInitialize()
{
- if(ImageActor::mFirstInstance)
- {
- mDefaultImageActorPropertyLookup = new DefaultPropertyLookup();
- const int start = DEFAULT_RENDERABLE_ACTOR_PROPERTY_MAX_COUNT;
- for ( int i = 0; i < DEFAULT_IMAGE_ACTOR_PROPERTY_COUNT; ++i )
- {
- (*mDefaultImageActorPropertyLookup)[DEFAULT_IMAGE_ACTOR_PROPERTY_NAMES[i]] = i + start;
- }
- ImageActor::mFirstInstance = false;
- }
}
void ImageActor::SetImage( ImagePtr& image )
bool ImageActor::IsDefaultPropertyWritable( Property::Index index ) const
{
- if(index < DEFAULT_RENDERABLE_ACTOR_PROPERTY_MAX_COUNT)
+ if( index < DEFAULT_RENDERABLE_ACTOR_PROPERTY_MAX_COUNT )
{
return RenderableActor::IsDefaultPropertyWritable(index);
}
else
{
- return true;
+ index -= DEFAULT_RENDERABLE_ACTOR_PROPERTY_MAX_COUNT;
+ if ( ( index >= 0 ) && ( index < DEFAULT_IMAGE_ACTOR_PROPERTY_COUNT ) )
+ {
+ return DEFAULT_IMAGE_ACTOR_PROPERTY_DETAILS[ index ].writable;
+ }
}
+ return false;
}
bool ImageActor::IsDefaultPropertyAnimatable( Property::Index index ) const
}
else
{
- return false;
+ index -= DEFAULT_RENDERABLE_ACTOR_PROPERTY_MAX_COUNT;
+ if ( ( index >= 0 ) && ( index < DEFAULT_IMAGE_ACTOR_PROPERTY_COUNT ) )
+ {
+ return DEFAULT_IMAGE_ACTOR_PROPERTY_DETAILS[ index ].animatable;
+ }
}
+ return false;
}
bool ImageActor::IsDefaultPropertyAConstraintInput( Property::Index index ) const
{
return RenderableActor::IsDefaultPropertyAConstraintInput(index);
}
- return true; // Our properties can be used as input to constraints.
+ else
+ {
+ index -= DEFAULT_RENDERABLE_ACTOR_PROPERTY_MAX_COUNT;
+ if ( ( index >= 0 ) && ( index < DEFAULT_IMAGE_ACTOR_PROPERTY_COUNT ) )
+ {
+ return DEFAULT_IMAGE_ACTOR_PROPERTY_DETAILS[ index ].constraintInput;
+ }
+ }
+ return false;
}
Property::Type ImageActor::GetDefaultPropertyType( Property::Index index ) const
if ( ( index >= 0 ) && ( index < DEFAULT_IMAGE_ACTOR_PROPERTY_COUNT ) )
{
- return DEFAULT_IMAGE_ACTOR_PROPERTY_TYPES[index];
+ return DEFAULT_IMAGE_ACTOR_PROPERTY_DETAILS[index].type;
}
else
{
}
}
-const std::string& ImageActor::GetDefaultPropertyName( Property::Index index ) const
+const char* ImageActor::GetDefaultPropertyName( Property::Index index ) const
{
if(index < DEFAULT_RENDERABLE_ACTOR_PROPERTY_MAX_COUNT)
{
if ( ( index >= 0 ) && ( index < DEFAULT_IMAGE_ACTOR_PROPERTY_COUNT ) )
{
- return DEFAULT_IMAGE_ACTOR_PROPERTY_NAMES[index];
+ return DEFAULT_IMAGE_ACTOR_PROPERTY_DETAILS[index].name;
}
else
{
// index out-of-bounds
- static const std::string INVALID_PROPERTY_NAME;
- return INVALID_PROPERTY_NAME;
+ return NULL;
}
}
}
{
Property::Index index = Property::INVALID_INDEX;
- DALI_ASSERT_DEBUG( NULL != mDefaultImageActorPropertyLookup );
-
- // Look for name in current class' default properties
- DefaultPropertyLookup::const_iterator result = mDefaultImageActorPropertyLookup->find( name );
- if ( mDefaultImageActorPropertyLookup->end() != result )
+ // Look for name in default properties
+ for( int i = 0; i < DEFAULT_IMAGE_ACTOR_PROPERTY_COUNT; ++i )
{
- index = result->second;
+ const Internal::PropertyDetails* property = &DEFAULT_IMAGE_ACTOR_PROPERTY_DETAILS[ i ];
+ if( 0 == strcmp( name.c_str(), property->name ) ) // dont want to convert rhs to string
+ {
+ index = i + DEFAULT_RENDERABLE_ACTOR_PROPERTY_MAX_COUNT;
+ break;
+ }
}
- else
+
+ // If not found, check in base class
+ if( Property::INVALID_INDEX == index )
{
- // If not found, check in base class
index = RenderableActor::GetDefaultPropertyIndex( name );
}
-
return index;
}
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyName()
*/
- virtual const std::string& GetDefaultPropertyName(Property::Index index) const;
+ virtual const char* GetDefaultPropertyName(Property::Index index) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
bool mUsingNaturalSize:1; ///< True only when the actor is using
bool mInternalSetSize:1; ///< True whilst setting size internally, false at all other times
- static bool mFirstInstance ;
- static DefaultPropertyLookup* mDefaultImageActorPropertyLookup; ///< Default properties
-
};
} // namespace Internal
namespace Internal
{
-bool Layer::mFirstInstance = true;
-Actor::DefaultPropertyLookup* Layer::mDefaultLayerPropertyLookup = NULL;
namespace
{
TypeAction a3(mType, Dali::Layer::ACTION_RAISE_TO_TOP, &Layer::DoAction);
TypeAction a4(mType, Dali::Layer::ACTION_LOWER_TO_BOTTOM, &Layer::DoAction);
-const std::string DEFAULT_LAYER_PROPERTY_NAMES[] =
+const PropertyDetails DEFAULT_PROPERTY_DETAILS[] =
{
- "clipping-enable",
- "clipping-box"
-};
-const int DEFAULT_LAYER_PROPERTY_COUNT = sizeof( DEFAULT_LAYER_PROPERTY_NAMES ) / sizeof( std::string );
-
-const Property::Type DEFAULT_LAYER_PROPERTY_TYPES[DEFAULT_LAYER_PROPERTY_COUNT] =
-{
- Property::BOOLEAN, // "clipping-enable",
- Property::RECTANGLE, // "clipping-box",
+ // Name Type writable animatable constraint-input
+ { "clipping-enable", Property::BOOLEAN, true, false, true }, // CLIPPING_ENABLE
+ { "clipping-box", Property::RECTANGLE, true, false, true }, // CLIPPING_BOX
};
+const int DEFAULT_LAYER_PROPERTY_COUNT = sizeof( DEFAULT_PROPERTY_DETAILS ) / sizeof( DEFAULT_PROPERTY_DETAILS[0] );
} // unnamed namespace
void Layer::OnInitialize()
{
- if(Layer::mFirstInstance)
- {
- mDefaultLayerPropertyLookup = new DefaultPropertyLookup();
- const int start = DEFAULT_ACTOR_PROPERTY_MAX_COUNT;
- for ( int i = 0; i < DEFAULT_LAYER_PROPERTY_COUNT; ++i )
- {
- (*mDefaultLayerPropertyLookup)[DEFAULT_LAYER_PROPERTY_NAMES[i]] = i + start;
- }
- Layer::mFirstInstance = false;
- }
}
Layer::~Layer()
}
else
{
- return true;
+ return true; // all properties writable, no need to lookup the table
}
}
}
else
{
- return false;
+ return false; // all properties non animateable, no need to lookup the table
}
}
{
return Actor::IsDefaultPropertyAConstraintInput(index);
}
- return true; // our properties can be used as an input to a constraint
+ return true; // our properties can be used as an input to a constraint, no need to lookup the table
}
Property::Type Layer::GetDefaultPropertyType( Property::Index index ) const
if ( ( index >= 0 ) && ( index < DEFAULT_LAYER_PROPERTY_COUNT ) )
{
- return DEFAULT_LAYER_PROPERTY_TYPES[index];
+ return DEFAULT_PROPERTY_DETAILS[index].type;
}
else
{
}
}
-
-const std::string& Layer::GetDefaultPropertyName( Property::Index index ) const
+const char* Layer::GetDefaultPropertyName( Property::Index index ) const
{
if(index < DEFAULT_ACTOR_PROPERTY_MAX_COUNT)
{
if ( ( index >= 0 ) && ( index < DEFAULT_LAYER_PROPERTY_COUNT ) )
{
- return DEFAULT_LAYER_PROPERTY_NAMES[index];
+ return DEFAULT_PROPERTY_DETAILS[index].name;
}
else
{
- // index out-of-bounds
- static const std::string INVALID_PROPERTY_NAME;
- return INVALID_PROPERTY_NAME;
+ return NULL;
}
}
}
{
Property::Index index = Property::INVALID_INDEX;
- DALI_ASSERT_DEBUG( NULL != mDefaultLayerPropertyLookup );
-
// Look for name in current class' default properties
- DefaultPropertyLookup::const_iterator result = mDefaultLayerPropertyLookup->find( name );
- if ( mDefaultLayerPropertyLookup->end() != result )
+ for( int i = 0; i < DEFAULT_LAYER_PROPERTY_COUNT; ++i )
{
- index = result->second;
+ const Internal::PropertyDetails* property = &DEFAULT_PROPERTY_DETAILS[ i ];
+ if( 0 == strcmp( name.c_str(), property->name ) ) // dont want to convert rhs to string
+ {
+ index = i + DEFAULT_ACTOR_PROPERTY_MAX_COUNT;
+ break;
+ }
}
- else
+ if( Property::INVALID_INDEX == index )
{
// If not found, check in base class
index = Actor::GetDefaultPropertyIndex( name );
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyName()
*/
- virtual const std::string& GetDefaultPropertyName(Property::Index index) const;
+ virtual const char* GetDefaultPropertyName(Property::Index index) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
bool mTouchConsumed:1; ///< Whether we should consume touch (including gesture).
bool mHoverConsumed:1; ///< Whether we should consume hover.
- static bool mFirstInstance;
- static DefaultPropertyLookup* mDefaultLayerPropertyLookup; ///< Default properties
};
} // namespace Internal
namespace Internal
{
-bool LightActor::mFirstInstance = true ;
-Actor::DefaultPropertyLookup* LightActor::mDefaultLightActorPropertyLookup = NULL;
namespace
{
void LightActor::OnInitialize()
{
- if(LightActor::mFirstInstance)
- {
- mDefaultLightActorPropertyLookup = new DefaultPropertyLookup();
- const int start = DEFAULT_ACTOR_PROPERTY_MAX_COUNT;
- for ( int i = 0; i < DEFAULT_LIGHT_ACTOR_PROPERTY_COUNT; ++i )
- {
- (*mDefaultLightActorPropertyLookup)[DEFAULT_LIGHT_ACTOR_PROPERTY_DETAILS[i].name] = i + start;
- }
- LightActor::mFirstInstance = false ;
- }
}
LightActor::LightActor()
}
else
{
- return true ;
+ return true; // all properties are writable
}
}
}
else
{
- return false ;
+ return false; // all properties are non animateable
}
}
}
}
-const std::string& LightActor::GetDefaultPropertyName( Property::Index index ) const
+const char* LightActor::GetDefaultPropertyName( Property::Index index ) const
{
if(index < DEFAULT_ACTOR_PROPERTY_MAX_COUNT)
{
}
else
{
- // index out-of-bounds
- static const std::string INVALID_PROPERTY_NAME;
- return INVALID_PROPERTY_NAME;
+ return NULL;
}
}
}
{
Property::Index index = Property::INVALID_INDEX;
- DALI_ASSERT_DEBUG( NULL != mDefaultLightActorPropertyLookup );
-
// Look for name in current class' default properties
- DefaultPropertyLookup::const_iterator result = mDefaultLightActorPropertyLookup->find( name );
- if ( mDefaultLightActorPropertyLookup->end() != result )
+ for( int i = 0; i < DEFAULT_LIGHT_ACTOR_PROPERTY_COUNT; ++i )
{
- index = result->second;
+ const Internal::PropertyDetails* property = &DEFAULT_LIGHT_ACTOR_PROPERTY_DETAILS[ i ];
+ if( 0 == strcmp( name.c_str(), property->name ) ) // dont want to convert rhs to string
+ {
+ index = i + DEFAULT_ACTOR_PROPERTY_MAX_COUNT;
+ break;
+ }
}
- else
+
+ // If not found, check in base class
+ if( Property::INVALID_INDEX == index )
{
- // If not found, check in base class
index = Actor::GetDefaultPropertyIndex( name );
}
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyName()
*/
- virtual const std::string& GetDefaultPropertyName(Property::Index index) const;
+ virtual const char* GetDefaultPropertyName(Property::Index index) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
LightAttachmentPtr mLightAttachment;
bool mIsActive;
- static bool mFirstInstance ;
- static DefaultPropertyLookup* mDefaultLightActorPropertyLookup; ///< Default properties
+
};
} // namespace Internal
namespace
{
-const std::string DEFAULT_TEXT_ACTOR_PROPERTY_NAMES[] =
+const char* DEFAULT_TEXT_ACTOR_PROPERTY_NAMES[] =
{
"text",
"font",
"shadow-size",
"text-color"
};
-const int DEFAULT_TEXT_ACTOR_PROPERTY_COUNT = sizeof( DEFAULT_TEXT_ACTOR_PROPERTY_NAMES ) / sizeof( std::string );
+const int DEFAULT_TEXT_ACTOR_PROPERTY_COUNT = sizeof( DEFAULT_TEXT_ACTOR_PROPERTY_NAMES ) / sizeof( DEFAULT_TEXT_ACTOR_PROPERTY_NAMES[0] );
const Property::Type DEFAULT_TEXT_ACTOR_PROPERTY_TYPES[DEFAULT_TEXT_ACTOR_PROPERTY_COUNT] =
{
namespace Internal
{
-bool TextActor::mFirstInstance = true;
-Actor::DefaultPropertyLookup* TextActor::mDefaultTextActorPropertyLookup = NULL;
namespace
{
void TextActor::OnInitialize()
{
- if(TextActor::mFirstInstance)
- {
- mDefaultTextActorPropertyLookup = new DefaultPropertyLookup();
- const int start = DEFAULT_RENDERABLE_ACTOR_PROPERTY_MAX_COUNT;
- for ( int i = 0; i < DEFAULT_TEXT_ACTOR_PROPERTY_COUNT; ++i )
- {
- (*mDefaultTextActorPropertyLookup)[DEFAULT_TEXT_ACTOR_PROPERTY_NAMES[i]] = i + start;
- }
- TextActor::mFirstInstance = false ;
- }
}
TextActor::~TextActor()
}
}
-const std::string& TextActor::GetDefaultPropertyName( Property::Index index ) const
+const char* TextActor::GetDefaultPropertyName( Property::Index index ) const
{
if(index < DEFAULT_RENDERABLE_ACTOR_PROPERTY_MAX_COUNT)
{
}
else
{
- // index out-of-bounds
- static const std::string INVALID_PROPERTY_NAME;
- return INVALID_PROPERTY_NAME;
+ return NULL;
}
}
}
{
Property::Index index = Property::INVALID_INDEX;
- DALI_ASSERT_DEBUG( NULL != mDefaultTextActorPropertyLookup );
-
- // Look for name in current class' default properties
- DefaultPropertyLookup::const_iterator result = mDefaultTextActorPropertyLookup->find( name );
- if ( mDefaultTextActorPropertyLookup->end() != result )
+ // Look for name in default properties
+ for( int i = 0; i < DEFAULT_TEXT_ACTOR_PROPERTY_COUNT; ++i )
{
- index = result->second;
+ if( 0 == strcmp( name.c_str(), DEFAULT_TEXT_ACTOR_PROPERTY_NAMES[ i ] ) ) // dont want to convert rhs to string
+ {
+ index = i + DEFAULT_RENDERABLE_ACTOR_PROPERTY_MAX_COUNT;
+ break;
+ }
}
- else
+
+ // If not found, check in base class
+ if( Property::INVALID_INDEX == index )
{
- // If not found, check in base class
index = RenderableActor::GetDefaultPropertyIndex( name );
}
}
else
{
- return true ;
+ return true;
}
}
}
else
{
- return false ;
+ return false;
}
}
/**
* copydoc Dali::Internal::ProxyObject
*/
- virtual const std::string& GetDefaultPropertyName( Property::Index index ) const ;
+ virtual const char* GetDefaultPropertyName( Property::Index index ) const ;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
bool mInternalSetSize:1; ///< to determine when we are internally setting size
bool mFontDetection:1; ///< tells whether TextActor should query platform abstraction after SetText
bool mObserving:1; ///< Whether the text actor is waiting for text to load
- static bool mFirstInstance;
- static DefaultPropertyLookup* mDefaultTextActorPropertyLookup; ///< Default properties
};
} // namespace Internal
* We want to discourage the use of property strings (minimize string comparisons),
* particularly for the default properties.
*/
-const std::string DEFAULT_PROPERTY_NAMES[] =
+const char* DEFAULT_PROPERTY_NAMES[] =
{
"weight"
};
}
}
-const std::string& ActiveConstraintBase::GetDefaultPropertyName( Property::Index index ) const
+const char* ActiveConstraintBase::GetDefaultPropertyName( Property::Index index ) const
{
if ( ( index >= 0 ) && ( index < DEFAULT_PROPERTY_COUNT ) )
{
}
else
{
- // index out of range..return empty string
- static const std::string INVALID_PROPERTY_NAME;
- return INVALID_PROPERTY_NAME;
+ return NULL;
}
}
Property::Index index = Property::INVALID_INDEX;
// Only one name to compare with...
- if ( name == DEFAULT_PROPERTY_NAMES[0] )
+ if( 0 == strcmp( name.c_str(), DEFAULT_PROPERTY_NAMES[0] ) ) // dont want to convert rhs to string
{
index = 0;
}
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyName()
*/
- virtual const std::string& GetDefaultPropertyName( Property::Index index ) const;
+ virtual const char* GetDefaultPropertyName( Property::Index index ) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
const Dali::Matrix BezierBasis = Dali::Matrix( BezierBasisCoeff );
-struct PropertyDetails
+const Dali::Internal::PropertyDetails DEFAULT_PROPERTY_DETAILS[] =
{
- std::string name; ///< The name of the property.
- Dali::Property::Type type; ///< The property type.
- bool writable:1; ///< Whether the property is writable
- bool animatable:1; ///< Whether the property is animatable.
- bool constraintInput:1; ///< Whether the property can be used as an input to a constraint.
+ { "points", Dali::Property::ARRAY, true, false, false },
+ { "control-points", Dali::Property::ARRAY, true, false, false },
};
-const PropertyDetails DEFAULT_PROPERTY_DETAILS[] = {{"points", Dali::Property::ARRAY, true, false, false },
- {"control-points", Dali::Property::ARRAY, true, false, false },
- };
-
-const int DEFAULT_PROPERTY_COUNT = sizeof( DEFAULT_PROPERTY_DETAILS ) / sizeof( PropertyDetails );
+const int DEFAULT_PROPERTY_COUNT = sizeof( DEFAULT_PROPERTY_DETAILS ) / sizeof( DEFAULT_PROPERTY_DETAILS[0] );
}//Unnamed namespace
}
}
-const std::string& Path::GetDefaultPropertyName(Property::Index index) const
+const char* Path::GetDefaultPropertyName(Property::Index index) const
{
if ( ( index >= 0 ) && ( index < DEFAULT_PROPERTY_COUNT ) )
{
else
{
// index out of range
- static const std::string INVALID_PROPERTY_NAME;
- return INVALID_PROPERTY_NAME;
+ return NULL;
}
}
{
Property::Index index = Property::INVALID_INDEX;
- for( int i(0); i<DEFAULT_PROPERTY_COUNT; ++i )
+ // Look for name in default properties
+ for( int i = 0; i < DEFAULT_PROPERTY_COUNT; ++i )
{
- if ( name == DEFAULT_PROPERTY_DETAILS[i].name )
+ const Internal::PropertyDetails* property = &DEFAULT_PROPERTY_DETAILS[ i ];
+ if( 0 == strcmp( name.c_str(), property->name ) ) // dont want to convert rhs to string
{
index = i;
break;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyName()
*/
- virtual const std::string& GetDefaultPropertyName(Property::Index index) const;
+ virtual const char* GetDefaultPropertyName(Property::Index index) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
/**
* @copydoc Dali::Handle::GetPropertyName()
*/
- virtual const std::string& GetPropertyName(Property::Index index) const = 0;
+ virtual std::string GetPropertyName(Property::Index index) const = 0;
/**
* @copydoc Dali::Handle::GetPropertyIndex()
return count;
}
-const std::string& ProxyObject::GetPropertyName( Property::Index index ) const
+std::string ProxyObject::GetPropertyName( Property::Index index ) const
{
DALI_ASSERT_ALWAYS( index > Property::INVALID_INDEX && "Property index out of bounds" );
namespace Internal
{
+/**
+ * @brief Structure for setting up default properties and their details.
+ */
+struct PropertyDetails
+{
+ const char* name; ///< The name of the property.
+ Property::Type type; ///< The property type.
+ bool writable:1; ///< Whether the property is writable
+ bool animatable:1; ///< Whether the property is animatable.
+ bool constraintInput:1; ///< Whether the property can be used as an input to a constraint.
+};
+
class Stage;
class PropertyInputImpl;
class ProxyObject;
/**
* @copydoc Dali::Internal::Object::GetPropertyName()
*/
- virtual const std::string& GetPropertyName( Property::Index index ) const;
+ virtual std::string GetPropertyName( Property::Index index ) const;
/**
* @copydoc Dali::Internal::Object::GetPropertyIndex()
* Query how many default properties the derived class supports.
* @return The number of default properties.
*/
- virtual const std::string& GetDefaultPropertyName( Property::Index index ) const = 0;
+ virtual const char* GetDefaultPropertyName( Property::Index index ) const = 0;
/**
* Query the index of a default property.
namespace Internal
{
-ShaderEffect::DefaultPropertyLookup* ShaderEffect::mDefaultPropertyLookup = NULL;
-
namespace
{
+const PropertyDetails DEFAULT_PROPERTY_DETAILS[] =
+{
+ // Name Type writable animatable constraint-input
+ { "grid-density", Property::FLOAT, true, false, false }, // GRID_DENSITY
+ { "image", Property::MAP, true, false, false }, // IMAGE
+ { "program", Property::MAP, true, false, false }, // PROGRAM
+ { "geometry-hints", Property::INTEGER, true, false, false }, // GEOMETRY_HINTS
+};
+
+const int DEFAULT_PROPERTY_COUNT = sizeof( DEFAULT_PROPERTY_DETAILS ) / sizeof( DEFAULT_PROPERTY_DETAILS[0] );
+
+BaseHandle Create()
+{
+ Internal::ShaderEffectPtr internal = Internal::ShaderEffect::New();
+
+ return Dali::ShaderEffect(internal.Get());
+}
+
+TypeRegistration mType( typeid(Dali::ShaderEffect), typeid(Dali::Handle), Create );
struct WrapperStrings
{
* @param[in] fragmentBody from application
* @param[in] modifiesGeometry based on flags and vertex shader
*/
-void WrapAndSetProgram( ShaderEffect& effect,
+void WrapAndSetProgram( Internal::ShaderEffect& effect,
GeometryType actualGeometryType, GeometryType expectedGeometryType,
const std::string& vertexPrefix, const std::string& fragmentPrefix,
const std::string& vertexBody, const std::string& fragmentBody,
}
}
-BaseHandle Create()
-{
- Internal::ShaderEffectPtr internal = Internal::ShaderEffect::New();
-
- return Dali::ShaderEffect(internal.Get());
-}
-
-TypeRegistration mType( typeid(Dali::ShaderEffect), typeid(Dali::Handle), Create );
-
-const std::string DEFAULT_PROPERTY_NAMES[] =
-{
- "grid-density",
- "image",
- "program",
- "geometry-hints",
-};
-const int DEFAULT_PROPERTY_COUNT = sizeof( DEFAULT_PROPERTY_NAMES ) / sizeof( std::string );
-
-const Property::Type DEFAULT_PROPERTY_TYPES[DEFAULT_PROPERTY_COUNT] =
-{
- Property::FLOAT, // "grid-density",
- Property::MAP, // "image",
- Property::MAP, // "program",
- Property::INTEGER, // "geometry-hints",
-};
-
std::string GetShader(const std::string& field, const Property::Value& property)
{
std::string value;
}
}
-const std::string& ShaderEffect::GetDefaultPropertyName(Property::Index index) const
+const char* ShaderEffect::GetDefaultPropertyName(Property::Index index) const
{
if( index < DEFAULT_PROPERTY_COUNT )
{
- return DEFAULT_PROPERTY_NAMES[index];
+ return DEFAULT_PROPERTY_DETAILS[index].name;
}
else
{
- // index out of range..return empty string
- static const std::string INVALID_PROPERTY_NAME;
- return INVALID_PROPERTY_NAME;
+ return NULL;
}
}
{
Property::Index index = Property::INVALID_INDEX;
- // Lazy initialization of static mDefaultPropertyLookup
- if (!mDefaultPropertyLookup)
+ // Look for name in default properties
+ for( int i = 0; i < DEFAULT_PROPERTY_COUNT; ++i )
{
- mDefaultPropertyLookup = new DefaultPropertyLookup();
-
- for (int i=0; i<DEFAULT_PROPERTY_COUNT; ++i)
+ const Internal::PropertyDetails* property = &DEFAULT_PROPERTY_DETAILS[ i ];
+ if( 0 == strcmp( name.c_str(), property->name ) ) // dont want to convert rhs to string
{
- (*mDefaultPropertyLookup)[DEFAULT_PROPERTY_NAMES[i]] = i;
+ index = i;
+ break;
}
}
- DALI_ASSERT_DEBUG( NULL != mDefaultPropertyLookup );
-
- // Look for name in default properties
- DefaultPropertyLookup::const_iterator result = mDefaultPropertyLookup->find( name );
- if ( mDefaultPropertyLookup->end() != result )
- {
- index = result->second;
- }
return index;
+
}
bool ShaderEffect::IsDefaultPropertyWritable(Property::Index index) const
{
- return true;
+ return true; // all properties are writable
}
bool ShaderEffect::IsDefaultPropertyAnimatable(Property::Index index) const
{
- return false;
+ return false; // all properties are non animatable
}
bool ShaderEffect::IsDefaultPropertyAConstraintInput( Property::Index index ) const
{
- return false;
+ return false; // all properties cannot be used as constraint input
}
Property::Type ShaderEffect::GetDefaultPropertyType(Property::Index index) const
{
if( index < DEFAULT_PROPERTY_COUNT )
{
- return DEFAULT_PROPERTY_TYPES[index];
+ return DEFAULT_PROPERTY_DETAILS[index].type;
}
else
{
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyName()
*/
- virtual const std::string& GetDefaultPropertyName( Property::Index index ) const;
+ virtual const char* GetDefaultPropertyName( Property::Index index ) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
Dali::ShaderEffect::GeometryHints mGeometryHints; ///< shader geometry hints for building the geometry
Dali::Vector< UniformCoordinateType > mCoordinateTypes; ///< cached to avoid sending tons of unnecessary messages
- // Default properties
- typedef std::map<std::string, Property::Index> DefaultPropertyLookup;
- static DefaultPropertyLookup* mDefaultPropertyLookup;
};
} // namespace Internal
{
}
-const std::string& GestureDetector::GetDefaultPropertyName( Property::Index index ) const
+const char* GestureDetector::GetDefaultPropertyName( Property::Index index ) const
{
- return String::EMPTY;
+ return NULL;
}
Property::Index GestureDetector::GetDefaultPropertyIndex(const std::string& name) const
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyName()
*/
- virtual const std::string& GetDefaultPropertyName(Property::Index index) const;
+ virtual const char* GetDefaultPropertyName(Property::Index index) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
} // unnamed namespace
-PanGestureDetector::DefaultPropertyLookup* PanGestureDetector::mDefaultPropertyLookup = NULL;
-
PanGestureDetectorPtr PanGestureDetector::New()
{
return new PanGestureDetector;
mMaximumTouches(1),
mSceneObject(NULL)
{
- if( !mDefaultPropertyLookup )
- {
- mDefaultPropertyLookup = new DefaultPropertyLookup();
- const int start = DEFAULT_GESTURE_DETECTOR_PROPERTY_MAX_COUNT;
- for ( int i = 0; i < DEFAULT_PROPERTY_COUNT; ++i )
- {
- ( *mDefaultPropertyLookup )[ DEFAULT_PROPERTIES[i].name ] = i + start;
- }
- }
}
PanGestureDetector::~PanGestureDetector()
}
}
-const std::string& PanGestureDetector::GetDefaultPropertyName( Property::Index index ) const
+const char* PanGestureDetector::GetDefaultPropertyName( Property::Index index ) const
{
index -= DEFAULT_GESTURE_DETECTOR_PROPERTY_MAX_COUNT;
if ( ( index >= 0 ) && ( index < DEFAULT_PROPERTY_COUNT ) )
}
else
{
- // Index out-of-range... return empty string.
- static const std::string INVALID_PROPERTY_NAME;
- return INVALID_PROPERTY_NAME;
+ return NULL;
}
}
{
Property::Index index = Property::INVALID_INDEX;
- DALI_ASSERT_DEBUG( NULL != mDefaultPropertyLookup );
-
// Look for name in default properties
- DefaultPropertyLookup::const_iterator result = mDefaultPropertyLookup->find( name );
- if ( mDefaultPropertyLookup->end() != result )
+ for( int i = 0; i < DEFAULT_PROPERTY_COUNT; ++i )
{
- index = result->second;
+ const Internal::PropertyDetails* property = &DEFAULT_PROPERTIES[ i ];
+ if( 0 == strcmp( name.c_str(), property->name ) ) // dont want to convert rhs to string
+ {
+ index = i;
+ break;
+ }
}
-
return index;
}
*/
// INTERNAL INCLUDES
-#include <dali/public-api/common/map-wrapper.h>
#include <dali/public-api/events/gesture.h>
#include <dali/public-api/events/pan-gesture-detector.h>
#include <dali/public-api/math/vector2.h>
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyName()
*/
- virtual const std::string& GetDefaultPropertyName(Property::Index index) const;
+ virtual const char* GetDefaultPropertyName(Property::Index index) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
const SceneGraph::PanGesture* mSceneObject; ///< Not owned
- // Default properties
-
- typedef std::map<std::string, Property::Index> DefaultPropertyLookup;
- static DefaultPropertyLookup* mDefaultPropertyLookup;
};
} // namespace Internal
namespace
{
-const std::string DEFAULT_PROPERTY_NAMES[] =
+const PropertyDetails DEFAULT_PROPERTY_DETAILS[] =
{
- "position",
- "vertex-color",
- "texture-coords"
+ // Name Type writable animatable constraint-input
+ { "position", Property::VECTOR3, true, true, true }, // POSITION
+ { "vertex-color", Property::VECTOR4, true, true, true }, // COLOR
+ { "texture-coords", Property::VECTOR2, true, true, true }, // TEXTURE_COORDS
};
-const int VERTEX_PROPERTY_COUNT = sizeof( DEFAULT_PROPERTY_NAMES ) / sizeof( std::string );
-const Property::Type DEFAULT_PROPERTY_TYPES[ VERTEX_PROPERTY_COUNT ] =
-{
- Property::VECTOR3, // position
- Property::VECTOR4, // Color
- Property::VECTOR2, // Texture Coords
-};
+const int VERTEX_PROPERTY_COUNT = sizeof( DEFAULT_PROPERTY_DETAILS ) / sizeof( DEFAULT_PROPERTY_DETAILS[0] );
} // namespace
-AnimatableMesh::DefaultPropertyLookup* AnimatableMesh::mDefaultPropertyLookup = NULL;
-
-
AnimatableMesh::AnimatableMesh(
SceneGraph::UpdateManager& updateManager,
SceneGraph::AnimatableMesh* sceneObject,
}
}
-const std::string& AnimatableMesh::GetDefaultPropertyName( Property::Index index ) const
+const char* AnimatableMesh::GetDefaultPropertyName( Property::Index index ) const
{
if ( ( index >= 0 ) && ( index < mPropertyCount ) )
{
- return DEFAULT_PROPERTY_NAMES[index % VERTEX_PROPERTY_COUNT];
+ return DEFAULT_PROPERTY_DETAILS[index % VERTEX_PROPERTY_COUNT].name;
}
else
{
- // Index out-of-range... return empty string.
- static const std::string INVALID_PROPERTY_NAME;
- return INVALID_PROPERTY_NAME;
+ return NULL;
}
}
{
Property::Index index = Property::INVALID_INDEX;
- // TODO: Property names should be modified to append the vertex index
-
+ // Look for name in default properties
+ for( int i = 0; i < VERTEX_PROPERTY_COUNT; ++i )
+ {
+ const Internal::PropertyDetails* property = &DEFAULT_PROPERTY_DETAILS[ i ];
+ if( 0 == strcmp( name.c_str(), property->name ) ) // dont want to convert rhs to string
+ {
+ index = i;
+ break;
+ }
+ }
return index;
}
bool AnimatableMesh::IsDefaultPropertyWritable(Property::Index index) const
{
- return true;
+ return DEFAULT_PROPERTY_DETAILS[ index % VERTEX_PROPERTY_COUNT ].writable;
}
bool AnimatableMesh::IsDefaultPropertyAnimatable(Property::Index index) const
{
- return true;
+ return DEFAULT_PROPERTY_DETAILS[ index % VERTEX_PROPERTY_COUNT ].animatable;
}
bool AnimatableMesh::IsDefaultPropertyAConstraintInput( Property::Index index ) const
{
- return true;
+ return DEFAULT_PROPERTY_DETAILS[ index % VERTEX_PROPERTY_COUNT ].constraintInput;
}
Property::Type AnimatableMesh::GetDefaultPropertyType(Property::Index index) const
{
if ( ( index >= 0 ) && ( index < mPropertyCount ) )
{
- return DEFAULT_PROPERTY_TYPES[index % VERTEX_PROPERTY_COUNT ];
+ return DEFAULT_PROPERTY_DETAILS[ index % VERTEX_PROPERTY_COUNT ].type;
}
else
{
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyName()
*/
- virtual const std::string& GetDefaultPropertyName(Property::Index index) const;
+ virtual const char* GetDefaultPropertyName(Property::Index index) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
unsigned int mNumberOfVertices;
int mPropertyCount;
- // Default properties
- typedef std::map<std::string, Property::Index> DefaultPropertyLookup;
- static DefaultPropertyLookup* mDefaultPropertyLookup;
};
}//Internal
using Dali::Internal::SceneGraph::UpdateManager;
using Dali::Internal::SceneGraph::AnimatableProperty;
-namespace
-{
-const std::string INVALID_PROPERTY_NAME;
-}
-
namespace Dali
{
{
}
-const std::string& CustomObject::GetDefaultPropertyName( Property::Index index ) const
+const char* CustomObject::GetDefaultPropertyName( Property::Index index ) const
{
- return INVALID_PROPERTY_NAME;
+ return NULL;
}
Property::Index CustomObject::GetDefaultPropertyIndex(const std::string& name) const
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyName()
*/
- virtual const std::string& GetDefaultPropertyName(Property::Index index) const;
+ virtual const char* GetDefaultPropertyName(Property::Index index) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
namespace // For internal properties
{
-const std::string DEFAULT_PROPERTY_NAMES[] =
+const char* DEFAULT_PROPERTY_NAMES[] =
{
"viewport-position",
"viewport-size",
"clear-color"
};
-const int DEFAULT_PROPERTY_COUNT = sizeof( DEFAULT_PROPERTY_NAMES ) / sizeof( std::string );
+const int DEFAULT_PROPERTY_COUNT = sizeof( DEFAULT_PROPERTY_NAMES ) / sizeof( DEFAULT_PROPERTY_NAMES[0]);
const Property::Type DEFAULT_PROPERTY_TYPES[DEFAULT_PROPERTY_COUNT] =
{
}// unnamed namespace
-RenderTask::DefaultPropertyLookup* RenderTask::sDefaultPropertyLookup = NULL;
-
RenderTask* RenderTask::New( bool isSystemLevel )
{
RenderTask* task( new RenderTask( ThreadLocalStorage::Get().GetEventToUpdate(), isSystemLevel ) );
}
}
-const std::string& RenderTask::GetDefaultPropertyName( Property::Index index ) const
+const char* RenderTask::GetDefaultPropertyName( Property::Index index ) const
{
if( index < DEFAULT_PROPERTY_COUNT )
{
}
else
{
- // index out of range..return empty string
- static const std::string INVALID_PROPERTY_NAME;
- return INVALID_PROPERTY_NAME;
+ return NULL;
}
}
{
Property::Index index = Property::INVALID_INDEX;
- // Lazy initialization of static sDefaultPropertyLookup
- if (!sDefaultPropertyLookup)
+ // Look for name in default properties
+ for( int i = 0; i < DEFAULT_PROPERTY_COUNT; ++i )
{
- sDefaultPropertyLookup = new DefaultPropertyLookup();
-
- for (int i=0; i<DEFAULT_PROPERTY_COUNT; ++i)
+ if( 0 == strcmp( name.c_str(), DEFAULT_PROPERTY_NAMES[ i ] ) ) // dont want to convert rhs to string
{
- (*sDefaultPropertyLookup)[DEFAULT_PROPERTY_NAMES[i]] = i;
+ index = i;
+ break;
}
}
- DALI_ASSERT_DEBUG( NULL != sDefaultPropertyLookup );
-
- // Look for name in default properties
- DefaultPropertyLookup::const_iterator result = sDefaultPropertyLookup->find( name );
- if ( sDefaultPropertyLookup->end() != result )
- {
- index = result->second;
- }
return index;
}
bool RenderTask::IsDefaultPropertyWritable(Property::Index index) const
{
- return true;
+ return true; // all properties writable
}
bool RenderTask::IsDefaultPropertyAnimatable(Property::Index index) const
{
- return true;
+ return true; // all properties animatable
}
bool RenderTask::IsDefaultPropertyAConstraintInput( Property::Index index ) const
{
- return true;
+ return true; // all properties can be used as constraint input
}
Property::Type RenderTask::GetDefaultPropertyType(Property::Index index) const
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyName()
*/
- virtual const std::string& GetDefaultPropertyName(Property::Index index) const;
+ virtual const char* GetDefaultPropertyName(Property::Index index) const;
/**
* @copydoc Dali::Internal::ProxyObject::GetDefaultPropertyIndex()
bool mCullMode : 1; ///< True if the render-task's actors should be culled
bool mIsSystemLevel : 1; ///< True if the render-task is on the system level task list.
- // Default properties
- typedef std::map<std::string, Property::Index> DefaultPropertyLookup;
- static DefaultPropertyLookup* sDefaultPropertyLookup;
-
//Signals
Dali::RenderTask::RenderTaskSignalV2 mSignalFinishedV2; ///< Signal emmited when the render task has been processed.
};
/**
* Create an inherited property.
- * @param [in] initialValue The initial value of the property.
*/
InheritedMatrix()
: mValue(),
class RenderableActor;
}
-class ShaderEffect;
-
/**
* @brief Face culling modes.
*/
return GetImplementation(*this).GetPropertyCount();
}
-const std::string& Handle::GetPropertyName(Property::Index index) const
+std::string Handle::GetPropertyName(Property::Index index) const
{
return GetImplementation(*this).GetPropertyName( index );
}
* @param [in] index The index of the property.
* @return The name of the property.
*/
- const std::string& GetPropertyName(Property::Index index) const;
+ std::string GetPropertyName(Property::Index index) const;
/**
* @brief Query the index of a property.
// INTERNAL INCLUDES
#include <dali/public-api/object/base-handle.h>
+#include <dali/public-api/common/vector-wrapper.h>
namespace Dali
{