X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fvisual-base-data-impl.h;h=347cf7d9caa8acacd95ba164621a6e6ce4c3d7ab;hp=f8ceabfdb92c4c57e6ffa36199fa7bbc86ff2c17;hb=6058e0e734f5b316fd8f8f622e87bfaeb6ca96b4;hpb=140fc4e567fa70d1fac89b50cf67b530a4dae0af diff --git a/dali-toolkit/internal/visuals/visual-base-data-impl.h b/dali-toolkit/internal/visuals/visual-base-data-impl.h index f8ceabf..347cf7d 100644 --- a/dali-toolkit/internal/visuals/visual-base-data-impl.h +++ b/dali-toolkit/internal/visuals/visual-base-data-impl.h @@ -40,6 +40,16 @@ namespace Visual struct Base::Impl { + /** + * Constructor + */ + Impl(); + + /** + * Destructor + */ + ~Impl(); + enum Flags { IS_ON_STAGE = 1, @@ -51,40 +61,69 @@ struct Base::Impl struct CustomShader { + CustomShader( const Property::Map& map ); + void SetPropertyMap( const Property::Map& map ); + void CreatePropertyMap( Property::Map& map ) const; + std::string mVertexShader; std::string mFragmentShader; Dali::ImageDimensions mGridSize; Dali::Shader::Hint::Value mHints; //(bitfield) values from enum Shader::Hint - - CustomShader( const Property::Map& map ); - void SetPropertyMap( const Property::Map& map ); - void CreatePropertyMap( Property::Map& map ) const; }; struct Transform { + /** + * Default constructor ensures the visual fills the control + */ + Transform(); + + /** + * Use the property map to set zero or more of the transform + * attributes, and sets the remaining attributes to their default + * values. + */ + void SetPropertyMap( const Property::Map& map ); + + /** + * Add the transform attributes to the map (using integer keys) + */ + void GetPropertyMap( Property::Map& map ) const; + + /** + * Update zero or more attributes from the property map. + */ + void UpdatePropertyMap( const Property::Map& map ); + + /** + * Register or set the uniform properties onto the renderer + */ + void RegisterUniforms( Renderer renderer, Toolkit::Direction::Type direction ); + + /** + * Convert the control size and the transform attributes into the actual + * size of the visual. + */ + Vector2 GetVisualSize( const Vector2& controlSize ); + Vector2 mOffset; Vector2 mSize; Vector4 mOffsetSizeMode; Toolkit::Align::Type mOrigin; Toolkit::Align::Type mAnchorPoint; - - Transform(); - void SetPropertyMap( const Property::Map& map ); - void GetPropertyMap( Property::Map& map ) const; - void RegisterUniforms( Renderer renderer, Toolkit::Direction::Type direction ); }; - Renderer mRenderer; - CustomShader* mCustomShader; - std::string mName; - Transform mTransform; - Vector2 mSize; - float mDepthIndex; - int mFlags; - - Impl(); - ~Impl(); + Renderer mRenderer; + CustomShader* mCustomShader; + SlotDelegate* mBlendSlotDelegate; ///< Used to own mix color animation connection + std::string mName; + Transform mTransform; + Vector4 mMixColor; + Size mControlSize; + float mDepthIndex; + Property::Index mMixColorIndex; + Property::Index mOpacityIndex; + int mFlags; }; } // namespace Visual