X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fimage-view%2Fimage-view-impl.h;h=32867bf304424ce2bfc2030587e15bae005387cf;hp=86437ff53a56f492f5ef52fdf7162c4113c1552d;hb=59314022f6789147a47a8b098433e211b6185625;hpb=18644a10e91e667563734dfa9fa8be6b85ffdc51 diff --git a/dali-toolkit/internal/controls/image-view/image-view-impl.h b/dali-toolkit/internal/controls/image-view/image-view-impl.h index 86437ff..32867bf 100644 --- a/dali-toolkit/internal/controls/image-view/image-view-impl.h +++ b/dali-toolkit/internal/controls/image-view/image-view-impl.h @@ -2,7 +2,7 @@ #define __DALI_TOOLKIT_INTERNAL_IMAGE_VIEW_H__ /* - * Copyright (c) 2014 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. @@ -22,7 +22,7 @@ #include // INTERNAL INCLUDES -#include +#include #include #include @@ -38,7 +38,7 @@ namespace Internal { class ImageView : public Control { - protected: +protected: /** * Construct a new ImageView. @@ -50,8 +50,6 @@ class ImageView : public Control */ virtual ~ImageView(); - - public: /** * Create a new ImageView. @@ -70,13 +68,32 @@ public: * If the handle is empty, ImageView will display nothing * @param[in] map The Dali::Property::Map to use for to display. */ - void SetImage( Dali::Property::Map map ); + void SetImage( const Dali::Property::Map& map ); /** * @copydoc Dali::Toolkit::SetImage */ void SetImage( const std::string& imageUrl, ImageDimensions size ); + /** + * @copydoc Dali::Toolkit::GetImage + */ + Image GetImage() const; + + /** + * @brief Set whether the Pre-multiplied Alpha Blending is required + * + * @param[in] preMultipled whether alpha is pre-multiplied. + */ + void EnablePreMultipliedAlpha( bool preMultipled ); + + /** + * @brief Query whether alpha is pre-multiplied. + * + * @return True is alpha is pre-multiplied, false otherwise. + */ + bool IsPreMultipliedAlphaEnabled() const; + // Properties /** * Called when a property of an object of this type is set. @@ -97,7 +114,7 @@ public: /** * @brief Set the depth index of this image renderer * - * Renderer with higher depth indices are rendered in front of other renderers with smaller values + * Renderer with higher depth indices are rendered in front of other visuals with smaller values * * @param[in] depthIndex The depth index of this renderer */ @@ -106,14 +123,9 @@ public: private: // From Control /** - * @copydoc Toolkit::Control::OnStageConnect() - */ - virtual void OnStageConnection( int depth ); - - /** - * @copydoc Toolkit::Control::OnStageDisconnection() + * @copydoc Toolkit::Control::OnInitialize */ - virtual void OnStageDisconnection(); + void OnInitialize(); /** * @copydoc Toolkit::Control::GetNaturalSize @@ -130,13 +142,18 @@ private: // From Control */ virtual float GetWidthForHeight( float height ); + /** + * @copydoc Toolkit::Control::OnRelayout() + */ + virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); + private: + /** - * Attaches mImage member to the renderer, creating the renderers, samplers, meshes and materials if needed - * - * @pre mImage has been initialised + * @brief Callback for ResourceReadySignal + * param[in] control signal prototype */ - void AttachImage(); + void OnResourceReady( Toolkit::Control control ); private: // Undefined @@ -144,8 +161,7 @@ private: ImageView& operator=( const ImageView& ); private: - Toolkit::ControlRenderer mRenderer; - ImageDimensions mImageSize; + Toolkit::Visual::Base mVisual; std::string mUrl; ///< the url for the image if the image came from a URL, empty otherwise Image mImage; ///< the Image if the image came from a Image, null otherwise