From f05405f74dafe1780dcb285507c8f888f66dd949 Mon Sep 17 00:00:00 2001 From: Bongjoo Seo Date: Wed, 12 Jun 2013 19:58:21 +0900 Subject: [PATCH] Added GetImageSource() API Change-Id: Iad9ff6233b201f5ef94ba441c93b86c9b5dbac59 Signed-off-by: Bongjoo Seo --- src/ui/animations/FUiAnim_EflNode.cpp | 4 +--- .../animations/FUiAnim_EflVisualElementSurfaceImpl.cpp | 9 +++++++++ .../animations/FUiAnim_EflVisualElementSurfaceImpl.h | 4 +++- src/ui/animations/FUiAnim_VisualElementImpl.cpp | 6 ++++++ src/ui/animations/FUiAnim_VisualElementSharedData.cpp | 14 +++++++++++++- src/ui/animations/FUiAnim_VisualElementSurfaceImpl.cpp | 18 ------------------ src/ui/inc/FUiAnim_VisualElementImpl.h | 1 + src/ui/inc/FUiAnim_VisualElementSharedData.h | 1 + src/ui/inc/FUiAnim_VisualElementSurfaceImpl.h | 8 ++++---- 9 files changed, 38 insertions(+), 27 deletions(-) diff --git a/src/ui/animations/FUiAnim_EflNode.cpp b/src/ui/animations/FUiAnim_EflNode.cpp index 460c86f..0125b7e 100644 --- a/src/ui/animations/FUiAnim_EflNode.cpp +++ b/src/ui/animations/FUiAnim_EflNode.cpp @@ -692,9 +692,7 @@ _EflNode::SetFlushNeeded(void) if (pSurfaceImpl->__isImageObject) { - const char* pName = null; - evas_object_image_file_get(pImageObject, &pName, null); - if (!pName) + if (pSurfaceImpl->GetImage().IsEmpty()) { evas_object_image_size_get(pImageObject, &imageWidth, &imageHeight); evas_object_image_data_update_add(pImageObject, 0, 0, imageWidth, imageHeight); diff --git a/src/ui/animations/FUiAnim_EflVisualElementSurfaceImpl.cpp b/src/ui/animations/FUiAnim_EflVisualElementSurfaceImpl.cpp index 9d52c1d..b721b35 100644 --- a/src/ui/animations/FUiAnim_EflVisualElementSurfaceImpl.cpp +++ b/src/ui/animations/FUiAnim_EflVisualElementSurfaceImpl.cpp @@ -114,6 +114,7 @@ _EflVisualElementSurfaceImpl::_EflVisualElementSurfaceImpl(const Handle layer, c , __pBuffer(null) , __fromOutside(true) , __isImageObject(true) + , __imageName() { ClearLastResult(); @@ -180,6 +181,8 @@ _EflVisualElementSurfaceImpl::SetImage(const String& fileName) SysTryReturnResult(NID_UI_ANIM, err == EVAS_LOAD_ERROR_NONE, E_SYSTEM, "A system error has been occurred. Image file(%s) load failed . MSG = %s", (const char*)(pBuffer->GetPointer()), evas_load_error_str(err)); + __imageName = fileName; + if (__pBuffer != null) { delete []__pBuffer; @@ -191,6 +194,12 @@ _EflVisualElementSurfaceImpl::SetImage(const String& fileName) return E_SUCCESS; } +String +_EflVisualElementSurfaceImpl::GetImage(void) const +{ + return __imageName; +} + Handle _EflVisualElementSurfaceImpl::GetNativeHandle(void) const { diff --git a/src/ui/animations/FUiAnim_EflVisualElementSurfaceImpl.h b/src/ui/animations/FUiAnim_EflVisualElementSurfaceImpl.h index 4b3b0ce..0df5701 100644 --- a/src/ui/animations/FUiAnim_EflVisualElementSurfaceImpl.h +++ b/src/ui/animations/FUiAnim_EflVisualElementSurfaceImpl.h @@ -48,9 +48,10 @@ public: public: virtual Handle GetNativeHandle(void) const; - virtual Tizen::Graphics::Dimension GetPhysicalSize(void) const; virtual result SetImage(const Tizen::Base::String& fileName); + virtual Tizen::Base::String GetImage(void) const; virtual result GetBufferInfo(Tizen::Graphics::BufferInfo& bufferInfo) const; + virtual Tizen::Graphics::Dimension GetPhysicalSize(void) const; private: _EflVisualElementSurfaceImpl(void); // no implementation @@ -65,6 +66,7 @@ private: unsigned char* __pBuffer; bool __fromOutside; bool __isImageObject; + Tizen::Base::String __imageName; friend class _VisualElementSurfaceImpl; friend class _VisualElementImpl; diff --git a/src/ui/animations/FUiAnim_VisualElementImpl.cpp b/src/ui/animations/FUiAnim_VisualElementImpl.cpp index 0ed677e..861e588 100644 --- a/src/ui/animations/FUiAnim_VisualElementImpl.cpp +++ b/src/ui/animations/FUiAnim_VisualElementImpl.cpp @@ -1002,6 +1002,12 @@ _VisualElementImpl::SetImageSource(const String& filePath) return r; } +String +_VisualElementImpl::GetImageSource(void) const +{ + return GetSharedData().GetImage(); +} + void _VisualElementImpl::SetSurfaceChanged(void) { diff --git a/src/ui/animations/FUiAnim_VisualElementSharedData.cpp b/src/ui/animations/FUiAnim_VisualElementSharedData.cpp index 6cbd612..c3726c5 100644 --- a/src/ui/animations/FUiAnim_VisualElementSharedData.cpp +++ b/src/ui/animations/FUiAnim_VisualElementSharedData.cpp @@ -34,6 +34,7 @@ #include "FUiAnim_NativeLayer.h" using namespace std; +using namespace Tizen::Base; namespace Tizen { namespace Ui { namespace Animations { @@ -146,7 +147,7 @@ _VisualElementSharedData::CreateSurface(const Tizen::Graphics::FloatDimension& s } result -_VisualElementSharedData::SetImage(const Tizen::Base::String& fileName) +_VisualElementSharedData::SetImage(const String& fileName) { SysTryReturnResult(NID_UI, pNativeNode, E_INVALID_STATE, "The Native Node is invalid."); SysTryReturnResult(NID_UI, pSurface, E_INVALID_STATE, "The Native Node is invalid."); @@ -158,6 +159,17 @@ _VisualElementSharedData::SetImage(const Tizen::Base::String& fileName) return E_SUCCESS; } +String +_VisualElementSharedData::GetImage(void) +{ + SysTryReturn(NID_UI, pNativeNode, String(), E_INVALID_STATE, "The Native Node is invalid."); + SysTryReturn(NID_UI, pSurface, String(), E_INVALID_STATE, "The Native Node is invalid."); + + _VisualElementSurfaceImpl* pImpl = _VisualElementSurfaceImpl::GetInstance(*pSurface); + SysTryReturn(NID_UI, pImpl, String(), E_SYSTEM, "A system error has been occurred."); + return pImpl->GetImage(); +} + void _VisualElementSharedData::RemoveSurface(_VisualElementImpl& presentation) { diff --git a/src/ui/animations/FUiAnim_VisualElementSurfaceImpl.cpp b/src/ui/animations/FUiAnim_VisualElementSurfaceImpl.cpp index f543921..b86fb83 100644 --- a/src/ui/animations/FUiAnim_VisualElementSurfaceImpl.cpp +++ b/src/ui/animations/FUiAnim_VisualElementSurfaceImpl.cpp @@ -118,12 +118,6 @@ _VisualElementSurfaceImpl::_VisualElementSurfaceImpl(const FloatDimension& size) { } -result -_VisualElementSurfaceImpl::SetImage(const String& fileName) -{ - return E_SUCCESS; -} - _VisualElementSurfaceImpl::~_VisualElementSurfaceImpl(void) { } @@ -156,18 +150,6 @@ _VisualElementSurfaceImpl::GetReferenceCount(void) const return __refCount; } -result -_VisualElementSurfaceImpl::GetBufferInfo(BufferInfo& bufferInfo) const -{ - return E_SUCCESS; -} - -Dimension -_VisualElementSurfaceImpl::GetPhysicalSize(void) const -{ - return Dimension(); -} - bool _VisualElementSurfaceImpl::Equals(const Tizen::Base::Object& obj) const { diff --git a/src/ui/inc/FUiAnim_VisualElementImpl.h b/src/ui/inc/FUiAnim_VisualElementImpl.h index fa683e5..f995bbe 100644 --- a/src/ui/inc/FUiAnim_VisualElementImpl.h +++ b/src/ui/inc/FUiAnim_VisualElementImpl.h @@ -738,6 +738,7 @@ public: result SetImageSource(const Tizen::Base::String& filePath); + Tizen::Base::String GetImageSource(void) const; result SetRenderOperation(VisualElement::RenderOperation renderOperation); diff --git a/src/ui/inc/FUiAnim_VisualElementSharedData.h b/src/ui/inc/FUiAnim_VisualElementSharedData.h index 94a8df6..a4e1891 100644 --- a/src/ui/inc/FUiAnim_VisualElementSharedData.h +++ b/src/ui/inc/FUiAnim_VisualElementSharedData.h @@ -61,6 +61,7 @@ public: result CreateSurface(const Tizen::Graphics::FloatDimension& size, _NativeLayer& layer); void RemoveSurface(_VisualElementImpl& presentation); result SetImage(const Tizen::Base::String& fileName); + Tizen::Base::String GetImage(void); bool NeedNativeReconfigure(void) const { diff --git a/src/ui/inc/FUiAnim_VisualElementSurfaceImpl.h b/src/ui/inc/FUiAnim_VisualElementSurfaceImpl.h index 8cb069d..5c4e939 100644 --- a/src/ui/inc/FUiAnim_VisualElementSurfaceImpl.h +++ b/src/ui/inc/FUiAnim_VisualElementSurfaceImpl.h @@ -58,10 +58,10 @@ public: static _VisualElementSurfaceImpl* CreateInstanceN(const DisplayContext& displayContext, const Tizen::Graphics::FloatDimension& size); // create internal instance virtual Handle GetNativeHandle(void) const = 0; - virtual result SetImage(const Tizen::Base::String& fileName); - virtual result GetBufferInfo(Tizen::Graphics::BufferInfo& bufferInfo) const; - - virtual Tizen::Graphics::Dimension GetPhysicalSize(void) const; + virtual result SetImage(const Tizen::Base::String& fileName) = 0; + virtual Tizen::Base::String GetImage(void) const = 0; + virtual result GetBufferInfo(Tizen::Graphics::BufferInfo& bufferInfo) const = 0; + virtual Tizen::Graphics::Dimension GetPhysicalSize(void) const = 0; Tizen::Graphics::Dimension GetSize(void) const { -- 2.7.4