X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Factors%2Fimage-actor-impl.h;h=a9e2f6fac67dcde1f9808bafdf42e4beba7d5168;hb=8b0b50bb14b39e34a119c573cad63fd03c96b09a;hp=ae8c9dd1ac444c297db95864883864ed59d8ce95;hpb=69d985b714049a708cafc0b8d63e830dd2b1fbc8;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/event/actors/image-actor-impl.h b/dali/internal/event/actors/image-actor-impl.h index ae8c9dd..a9e2f6f 100644 --- a/dali/internal/event/actors/image-actor-impl.h +++ b/dali/internal/event/actors/image-actor-impl.h @@ -21,10 +21,12 @@ // INTERNAL INCLUDES #include #include +#include +#include #include -#include -#include +#include #include +#include #include namespace Dali @@ -48,11 +50,10 @@ class Image; * mImageAttachment's member object. The first one points to the Image object that is going to * be displayed next, the second one to the Image that is currently being displayed. */ -class ImageActor : public RenderableActor +class ImageActor : public Actor { public: - typedef Dali::ImageActor::Style Style; typedef Dali::ImageActor::PixelArea PixelArea; /** @@ -76,7 +77,7 @@ public: * Retrieve the image rendered by the actor's attachment. * @return smart pointer to the image or an empty one if no image is assigned */ - ImagePtr GetImage(); + ImagePtr GetImage() const; /** * @copydoc Dali::ImageActor::SetPixelArea() @@ -101,31 +102,24 @@ public: /** * @copydoc Dali::ImageActor::SetStyle() */ - void SetStyle( Style style ); + void SetStyle( Dali::ImageActor::Style style ); /** * @copydoc Dali::ImageActor::GetStyle() */ - Style GetStyle() const; + Dali::ImageActor::Style GetStyle() const; /** - * @copydoc Dali::ImageActor::SetNinePatchBorder + * @copydoc Dali::ImageActor::SetNinePatchBorder() */ - void SetNinePatchBorder( const Vector4& border, bool inPixels = false ); + void SetNinePatchBorder( const Vector4& border ); /** - * @copydoc Dali::ImageActor::GetNinePatchBorder + * @copydoc Dali::ImageActor::GetNinePatchBorder() */ Vector4 GetNinePatchBorder() const; /** - * Retrieve the attachment which renders the image. - * @return The attachment. - */ - ImageAttachment& GetImageAttachment(); - - - /** * @copydoc Dali::RenderableActor::SetSortModifier() */ void SetSortModifier(float modifier); @@ -136,16 +130,6 @@ public: float GetSortModifier() const; /** - * @copydoc Dali::RenderableActor::SetDepthIndex() - */ - void SetDepthIndex( int depthIndex ); - - /** - * @copydoc Dali::RenderableActor::GetDepthIndex() - */ - int GetDepthIndex() const; - - /** * @copydoc Dali::RenderableActor::SetCullFace() */ void SetCullFace(CullFaceMode mode); @@ -217,6 +201,11 @@ public: */ void GetFilterMode( FilterMode::Type& minFilter, FilterMode::Type& magFilter ) const; + /** + * @brief Allows this ImageActor to respond to the eventa that the shader effect's effect texture has been changed + */ + void EffectImageUpdated(); + public: /** * @copydoc Actor::SetShaderEffect @@ -292,13 +281,6 @@ public: // From Actor */ virtual Vector3 GetNaturalSize() const; -private: // From RenderableActor - - /** - * @copydoc RenderableActor::GetRenderableAttachment - */ - virtual RenderableAttachment& GetRenderableAttachment() const; - protected: /** @@ -321,19 +303,30 @@ private: Vector2 CalculateNaturalSize() const; /** - * From Actor; used to trigger fade-in animations. + * Update the grid geometry. */ - virtual void OnStageConnectionInternal(); + void UpdateGeometry(); /** - * From Actor; used to notify Image. + * Update the texture rect uniform */ - virtual void OnStageDisconnectionInternal(); + void UpdateTexureRect(); private: - ImageAttachmentPtr mImageAttachment; ///< Used to display the image (holds a pointer to currently showed Image) - + ShaderEffectPtr mShaderEffect; ///< Optional referenced shader effect + RendererPtr mRenderer; ///< The renderer used to render the image + PixelArea mPixelArea; ///< The pixel area of the image to render + Vector4 mBlendColor; ///< The blend color for this ImageActor + Vector4 mNinePatchBorder; ///< Nine-patch not supported, but this is used to store what is set so it can be returned for backwards compatibility. + Uint16Pair mGridSize; ///< The geometry grid size + int mRendererIndex; ///< The index location of mRenderer + size_t mTextureIndex; ///< The texture index for this ImageActor's texture + size_t mEffectTextureIndex; ///< The texture index for this ImageActor's effect texture + FilterMode::Type mMinFilter; ///< The minification filter currently set + FilterMode::Type mMagFilter; ///< The magnification filter currently set + Dali::ImageActor::Style mStyle; ///< The style set by SetStyle. Not used internally, only used to store what is set so it can be returned for backwards compatibility. + bool mIsPixelAreaSet; ///< Flag indicating if the pixel area has been set }; } // namespace Internal