2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
17 #include <FBaseErrors.h>
18 #include <FBaseSysLog.h>
19 #include <FGrpFloatMatrix4.h>
20 #include <FGrpCanvas.h>
21 #include <FUiVariant.h>
22 #include <FUiEffects.h>
23 #include <FUiAnimVisualElementAnimation.h>
24 #include <FUiCtrlGallery.h>
25 #include <FGrp_CanvasImpl.h>
26 #include <FGrp_TextTextObject.h>
27 #include <FGrp_TextTextSimple.h>
28 #include "FUi_Control.h"
29 #include "FUi_ResourceManager.h"
30 #include "FUiAnim_MatrixUtil.h"
31 #include "FUiAnim_VisualElement.h"
32 #include "FUiCtrl_GalleryImpl.h"
33 #include "FUiCtrl_GalleryRenderer.h"
34 #include "FUiCtrl_GalleryBitmap.h"
35 #include "FUiCtrl_GalleryCanvasManager.h"
36 #include "FUiCtrl_GalleryCanvas.h"
37 #include "FUiCtrl_GalleryRendererNotifier.h"
38 #include "FUiCtrl_GalleryRendererNotification.h"
39 #include "FUiCtrl_IGalleryRendererNotiListener.h"
42 using namespace Tizen::Base;
43 using namespace Tizen::Base::Runtime;
44 using namespace Tizen::Base::Collection;
45 using namespace Tizen::Graphics;
46 using namespace Tizen::Ui;
47 using namespace Tizen::Ui::Animations;
48 using namespace Tizen::Ui::Effects;
49 using namespace Tizen::Graphics::_Text;
51 namespace Tizen { namespace Ui { namespace Controls {
56 const int GALLERY_CANVAS_INITIAL_MAX_COUNT = 5;
57 const int GALLERY_ZOOM_TRANSITION_ZOOM_FACTOR = 10;
59 } // unnamed namespace
62 _GalleryRenderer::CreateGalleryRendererN(_Control& control)
66 _GalleryRenderer* pRenderer = new (std::nothrow) _GalleryRenderer();
67 SysTryCatch(NID_UI_CTRL, pRenderer != null, , E_OUT_OF_MEMORY,
68 "[E_OUT_OF_MEMORY] Failed to allocate the memory for the _GalleryRenderer.");
70 r = pRenderer->Construct(control);
71 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
73 SetLastResult(E_SUCCESS);
84 _GalleryRenderer::AddNotiListener(const _IGalleryRendererNotiListener& notiListener)
86 return GetRendererNotifier().AddListener((const IEventListener&)notiListener);
90 _GalleryRenderer::RemoveNotiListener(const _IGalleryRendererNotiListener& notiListener)
92 return GetRendererNotifier().RemoveListener((const IEventListener&)notiListener);
96 _GalleryRenderer::SetCanvasMaxCount(int maxCount)
99 _GalleryCanvasManager& canvasManager = GetCanvasManager();
100 Rectangle viewRect = GetViewRect();
102 r = canvasManager.ResetCanvasManager(maxCount + 1, viewRect);
103 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
105 SetEmptyCanvasIndex(maxCount);
111 _GalleryRenderer::GetCanvasMaxCount(void) const
113 return GetCanvasManager().GetCanvasCount();
117 _GalleryRenderer::SetCanvasVisibility(int canvasIndex, bool visibility)
119 _GalleryCanvas* pCanvas = GetCanvasManager().GetCanvas(canvasIndex);
120 result r = GetLastResult();
121 SysTryReturn(NID_UI_CTRL, pCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
123 pCanvas->GetFrameVisualElement().SetImplicitAnimationEnabled(false);
125 if (visibility == true)
127 r = pCanvas->GetFrameVisualElement().SetZOrderGroup(1000);
128 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
130 pCanvas->GetFrameVisualElement().SetOpacity(1.0);
134 r = pCanvas->GetFrameVisualElement().SetZOrderGroup(0);
135 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
138 return pCanvas->SetVisibility(visibility);
141 _GalleryRenderer::SetCanvasShowState(int canvasIndex, bool showState)
143 _GalleryCanvas* pCanvas = GetCanvasManager().GetCanvas(canvasIndex);
144 result r = GetLastResult();
145 SysTryReturn(NID_UI_CTRL, pCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
147 return pCanvas->SetVisibility(showState);
151 _GalleryRenderer::IsCanvasVisibility(int canvasIndex) const
153 _GalleryCanvas* pCanvas = GetCanvasManager().GetCanvas(canvasIndex);
154 SysTryReturn(NID_UI_CTRL, pCanvas != null, false, GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
156 return pCanvas->IsVisibility();
160 _GalleryRenderer::GetViewRect(void) const
162 Rectangle rect = GetCanvasManager().GetRootCanvas().GetBounds();
169 _GalleryRenderer::SetEmptyImage(const _GalleryBitmap* pImage)
171 _GalleryCanvas* pCanvas = GetCanvasManager().GetCanvas(GetEmptyCanvasIndex());
172 result r = GetLastResult();
173 SysTryReturn(NID_UI_CTRL, pCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
175 r = pCanvas->SetImage(pImage, GetViewRect(), GALLERY_FITTING_TYPE_NONE);
176 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
184 _GalleryRenderer::SetEmptyText(const String& pText)
186 __emptyString = pText;
192 _GalleryRenderer::EnableEmptyView(void)
194 __showEmptyImage = true;
195 __needDrawEmptyCanvas = true;
201 _GalleryRenderer::DisableEmptyView(void)
203 result r = SetCanvasVisibility(GetEmptyCanvasIndex(), false);
204 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
206 __showEmptyImage = false;
207 __needDrawEmptyCanvas = false;
213 _GalleryRenderer::SetCanvasImage(int canvasIndex, const _GalleryBitmap* pImage
214 , _GalleryVerticalAlignment imageVerticalAlignment, _GalleryHorizontalAlignment imageHorizontalAlignment
215 , _GalleryFittingType fittingType)
217 _GalleryCanvas* pCanvas = GetCanvasManager().GetCanvas(canvasIndex);
218 result r = GetLastResult();
219 SysTryReturn(NID_UI_CTRL, pCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
221 pCanvas->SetImageAlignment(imageVerticalAlignment, imageHorizontalAlignment);
222 r = pCanvas->SetImage(pImage, GetViewRect(), fittingType);
223 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
229 _GalleryRenderer::SetCanvasBounds(int canvasIndex, const Rectangle& bounds,
230 const _GalleryAnimationTiming* pAnimation)
232 _GalleryCanvas* pCanvas = GetCanvasManager().GetCanvas(canvasIndex);
233 result r = GetLastResult();
234 SysTryReturn(NID_UI_CTRL, pCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
236 _VisualElement& visualElement = pCanvas->GetImageVisualElement();
237 _VisualElement& frameVisualElement = pCanvas->GetFrameVisualElement();
238 frameVisualElement.SetImplicitAnimationEnabled(false);
240 Rectangle canvasVEBounds = pCanvas->GetImageVisualElementBounds();
241 FloatMatrix4 endMatrix;// = visualElement.GetTransformMatrix();
242 endMatrix.SetAsIdentity();
245 float factor = (float)bounds.width / (float)canvasVEBounds.width;
246 float translateX = (float)realBounds.x - (float)canvasVEBounds.x;
247 float translateY = (float)realBounds.y - (float)canvasVEBounds.y;
249 float translateX = (float)bounds.x;
250 float translateY = (float)bounds.y;
253 Rectangle viewRect = GetViewRect();
254 Rectangle imageBounds = pCanvas->GetOriginalImageBounds();
255 if (bounds.width != viewRect.width)
257 float factor = (float)bounds.width / (float)(viewRect.width);
258 translateX = translateX - (imageBounds.width / 2 + imageBounds.x) + ((imageBounds.width / 2 + imageBounds.x) * factor);
259 translateY = translateY - (imageBounds.height / 2 + imageBounds.y) + ((imageBounds.height / 2 + imageBounds.y) * factor);
260 endMatrix.SetAsIdentity();
261 _MatrixUtilTranslate(endMatrix, translateX, translateY, 0);
262 _MatrixUtilScale(endMatrix, factor, factor, 1);
263 pCanvas->SetCanvasFactor(factor);
264 pCanvas->SetClippingOfFrameVisualElement(false);
268 //_MatrixUtilTranslate(endMatrix, translateX, translateY, 0);
269 pCanvas->SetCanvasFactor(1.0f);
270 pCanvas->SetClippingOfFrameVisualElement(true);
273 r = SetCanvasImageBounds(canvasIndex, bounds);
274 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
276 if (pAnimation != null)
278 visualElement.SetImplicitAnimationEnabled(true);
279 frameVisualElement.SetImplicitAnimationEnabled(true);
282 GetAnimationDelegator().SetGalleryAnimationTiming(*pAnimation);
284 r = visualElement.SetTransformMatrix(endMatrix);
285 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
286 __animationRunning = true;
288 pCanvas->SetBounds(bounds);
290 visualElement.SetImplicitAnimationEnabled(false);
291 frameVisualElement.SetImplicitAnimationEnabled(false);
295 visualElement.RemoveAllAnimations();
297 if (GetAnimationCount() != 0)
299 ResetAnimationCount();
303 visualElement.SetImplicitAnimationEnabled(false);
305 r = visualElement.SetTransformMatrix(endMatrix);
306 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
308 pCanvas->SetBounds(bounds);
312 imageBounds = pCanvas->GetImageBounds();
313 anchor.x = (float)(-bounds.x + (GetViewRect().width / 2)) / (float)bounds.width;
314 anchor.y = (float)(-bounds.y + (GetViewRect().height / 2)) / (float)bounds.height;
315 pCanvas->SetImageAnchor(anchor);
321 _GalleryRenderer::GetCanvasBounds(int canvasIndex) const
323 _GalleryCanvas* pCanvas = GetCanvasManager().GetCanvas(canvasIndex);
324 SysTryReturn(NID_UI_CTRL, pCanvas != null, Rectangle(), GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
326 SetLastResult(E_SUCCESS);
328 return pCanvas->GetBounds();
332 _GalleryRenderer::GetCanvasAlignBoundary(int canvasIndex) const
334 _GalleryCanvas* pCanvas = GetCanvasManager().GetCanvas(canvasIndex);
335 SysTryReturn(NID_UI_CTRL, pCanvas != null, Rectangle(), GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
337 SetLastResult(E_SUCCESS);
339 Rectangle alignBoundary = pCanvas->GetAlignBoundary();
340 if (alignBoundary.width == -1 || alignBoundary.width < GetViewRect().width)
342 alignBoundary = GetViewRect();
345 return alignBoundary;
349 _GalleryRenderer::SetCanvasImageBounds(int canvasIndex, const Rectangle& bounds)
351 _GalleryCanvas* pCanvas = GetCanvasManager().GetCanvas(canvasIndex);
352 result r = GetLastResult();
353 SysTryReturn(NID_UI_CTRL, pCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
354 pCanvas->SetImageBounds(bounds);
360 _GalleryRenderer::GetCanvasImageBounds(int canvasIndex) const
362 _GalleryCanvas* pCanvas = GetCanvasManager().GetCanvas(canvasIndex);
363 SysTryReturn(NID_UI_CTRL, pCanvas != null, Rectangle(), GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
365 SetLastResult(E_SUCCESS);
367 return pCanvas->GetImageBounds();
371 _GalleryRenderer::RunCanvasTransition(int startCanvasIndex, int endCanvasIndex, _GalleryTransitionType transition,
372 const _GalleryAnimationTiming* pAnimation)
374 result r = E_SUCCESS;
375 ResetAnimationCount();
377 _GalleryCanvas* pCanvas = null;
378 for (int i = 0; i < GetCanvasManager().GetCanvasCount(); i++)
380 pCanvas = GetCanvasManager().GetCanvas(i);
382 SysTryReturn(NID_UI_CTRL, pCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
383 pCanvas->SetVisibility(false);
386 pCanvas = GetCanvasManager().GetCanvas(startCanvasIndex);
388 SysTryReturn(NID_UI_CTRL, pCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
390 r = pCanvas->SetVisibility(true);
391 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
393 pCanvas = GetCanvasManager().GetCanvas(endCanvasIndex);
395 SysTryReturn(NID_UI_CTRL, pCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
397 r = pCanvas->SetVisibility(true);
398 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
402 case GALLERY_TRANSITION_DISSOLVE:
403 r = RunDissolveTransition(startCanvasIndex, endCanvasIndex, pAnimation);
404 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
406 case GALLERY_TRANSITION_ZOOM:
407 r = RunZoomTransition(startCanvasIndex, endCanvasIndex, pAnimation);
408 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
410 case GALLERY_TRANSITION_PAGE:
411 r = RunPageTransition(startCanvasIndex, endCanvasIndex, pAnimation);
412 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
418 //SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
424 _GalleryRenderer::StopAllCanvasAnimation(void)
428 SetLastResult(E_SUCCESS);
433 _GalleryRenderer::IsRunningCanvasTransition(void) const
435 bool returnValue = (GetSlideShowPlayType() == GALLERY_SLIDESHOW_NONE && __animationRunning == false);
441 _GalleryRenderer::IsRunningCanvasAnimation(void) const
443 return __animationRunning;
447 _GalleryRenderer::IsExposed(void) const
453 _GalleryRenderer::RefreshView(void)
455 return GetCanvasManager().GetRootCanvas().RefreshCanvas();
459 _GalleryRenderer::ReleaseAllCanvasResource(void)
461 return GetCanvasManager().ReleaseAllCanvasResource();
465 _GalleryRenderer::ResetAllCanvas(void)
467 Rectangle viewRect = GetViewRect();
468 result r = GetCanvasManager().ResetAllCanvas(viewRect);
469 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
475 _GalleryRenderer::InitializeCanvasBounds(void)
477 int canvasCount = GetCanvasManager().GetCanvasCount();
478 _GalleryCanvas* pCanvas = null;
479 Rectangle bounds = GetViewRect();
480 result r = E_SUCCESS;
481 for (int canvasIndex = 0; canvasIndex < canvasCount; canvasIndex++)
483 pCanvas = GetCanvasManager().GetCanvas(canvasIndex);
485 SysTryReturn(NID_UI_CTRL, pCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
487 //r = pCanvas->SetVisualElementBounds(bounds);
488 //SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
490 r = pCanvas->SetBounds(bounds);
491 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
493 r = pCanvas->SetVisibility(false);
494 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
502 _GalleryRenderer::Draw(void)
504 result r = E_SUCCESS;
505 if (__showEmptyImage == true)
507 r = ShowEmptyImageAndText();
508 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
509 SysLog(NID_UI_CTRL, "There is no image in gallery.");
513 r = GetCanvasManager().LoadAllCanvasImage();
514 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
521 _GalleryRenderer::GalleryBoundsChanged(int currentCanvasIndex)
523 _GalleryCanvas* pCanvas = null;
524 result r = E_SUCCESS;
526 pCanvas = GetCanvasManager().GetCanvas(currentCanvasIndex);
527 SysTryReturnVoidResult(NID_UI_CTRL, pCanvas != null, GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
529 float factor = pCanvas->GetCanvasFactor();
530 Rectangle bounds = pCanvas->GetBounds();
531 bounds.width *= factor;
532 bounds.height *= factor;
534 if (bounds.width != GetViewRect().width)
536 bounds.x = -(pCanvas->GetImageAnchor().x * bounds.width - GetViewRect().width / 2);
537 bounds.y = -(pCanvas->GetImageAnchor().y * bounds.height - GetViewRect().height / 2);
539 r = pCanvas->GetFrameVisualElement().SetBounds(FloatRectangle(0, 0, bounds.width, bounds.height));
540 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
541 pCanvas->SetImageBounds(bounds);
543 r = pCanvas->SetBounds(bounds);
544 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
547 SetLastResult(E_SUCCESS);
552 _GalleryRenderer::OnVisualElementAnimationStarted(const VisualElementAnimation& animation, const String& keyName, VisualElement& target)
554 _GalleryRendererNotification* pRendererNotifier = new (std::nothrow)_GalleryRendererNotification(GALLERY_RENDERER_NOTI_CANVAS_ANIMATION_STARTED);
555 SysTryReturnVoidResult(NID_UI_CTRL, pRendererNotifier != null, E_OUT_OF_MEMORY,
556 "[E_OUT_OF_MEMORY] Failed to allocate the memory for the _GalleryRendererNotification.");
557 GetRendererNotifier().Fire(*pRendererNotifier);
561 _GalleryRenderer::OnVisualElementAnimationRepeated(const VisualElementAnimation& animation, const String& keyName, VisualElement& target, long currentRepeatCount)
567 _GalleryRenderer::OnVisualElementAnimationFinished(const VisualElementAnimation& animation,
568 const String& keyName,
569 VisualElement& target,
570 bool completedNormally)
572 _GalleryRendererNotification* pRendererNotifier = null;
574 if (completedNormally == true)
576 ReleaseAnimationCount();
577 if (GetSlideShowPlayType() == GALLERY_SLIDESHOW_NONE)
579 if (GetAnimationCount() == 0)
581 pRendererNotifier = new (std::nothrow)_GalleryRendererNotification(GALLERY_RENDERER_NOTI_CANVAS_ANIMATION_COMPLETED);
582 SysTryReturnVoidResult(NID_UI_CTRL, pRendererNotifier != null, E_OUT_OF_MEMORY,
583 "[E_OUT_OF_MEMORY] Failed to allocate the memory for the _GalleryRendererNotification.");
584 GetRendererNotifier().Fire(*pRendererNotifier);
585 __animationRunning = false;
590 if (GetAnimationCount() == 0)
592 SetSlideShowPlayType(GALLERY_SLIDESHOW_NONE);
593 pRendererNotifier = new (std::nothrow)_GalleryRendererNotification(GALLERY_RENDERER_NOTI_TRANSITION_COMPLETED);
594 SysTryReturnVoidResult(NID_UI_CTRL, pRendererNotifier != null, E_OUT_OF_MEMORY,
595 "[E_OUT_OF_MEMORY] Failed to allocate the memory for the _GalleryRendererNotification.");
597 GetRendererNotifier().Fire(*pRendererNotifier);
603 if (GetSlideShowPlayType() != GALLERY_SLIDESHOW_NONE)
605 SetSlideShowPlayType(GALLERY_SLIDESHOW_NONE);
606 pRendererNotifier = new (std::nothrow)_GalleryRendererNotification(GALLERY_RENDERER_NOTI_TRANSITION_CANCEL);
607 SysTryReturnVoidResult(NID_UI_CTRL, pRendererNotifier != null, E_OUT_OF_MEMORY,
608 "[E_OUT_OF_MEMORY] Failed to allocate the memory for the _GalleryRendererNotification.");
610 GetRendererNotifier().Fire(*pRendererNotifier);
614 SetLastResult(E_SUCCESS);
618 _GalleryRenderer::_GalleryRenderer(void)
620 , __pCanvasManager(null)
621 , __pRendererNotifyer(null)
622 , __pGalleryAnimationDelegator(null)
624 , __emptyCanvasIndex(-1)
625 , __slideShowAnimationCount(0)
626 , __slideShowPlayType(GALLERY_SLIDESHOW_NONE)
627 , __showEmptyImage(true)
628 , __animationRunning(false)
629 , __needDrawEmptyCanvas(true)
630 , __startCanvasOfPageCurling(-1)
631 , __endCanvasOfPageCurling(-1)
633 , __pTransparentBitmap(null)
634 , __pPageCurlingBitmap(null)
636 GET_COLOR_CONFIG(GALLERY::EMPTY_GALLERY_TEXT_NORMAL, __emptyTextColor);
639 _GalleryRenderer::~_GalleryRenderer(void)
644 if (GetEffect() != null)
646 EffectManager::DestroyInstance();
650 delete __pCanvasManager;
651 delete __pGalleryAnimationDelegator;
652 delete __pRendererNotifyer;
653 delete __pTransparentBitmap;
654 delete __pPageCurlingBitmap;
658 _GalleryRenderer::Construct(_Control& control)
660 result r = E_SUCCESS;
661 _GalleryRendererNotifier* pRendererNotifier = null;
662 _GalleryCanvasManager* pCanvasManager = null;
663 _GalleryAnimationProvider* pVEDelegator = null;
664 Rectangle initialCanvasBounds = control.GetBounds();
666 pRendererNotifier = new (std::nothrow) _GalleryRendererNotifier();
667 SysTryCatch(NID_UI_CTRL, pRendererNotifier != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
669 pVEDelegator = new (std::nothrow) _GalleryAnimationProvider();
670 SysTryCatch(NID_UI_CTRL, pRendererNotifier != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
672 pCanvasManager = _GalleryCanvasManager::CreateCanvasManagerN(control, GALLERY_CANVAS_INITIAL_MAX_COUNT, initialCanvasBounds, pVEDelegator);
673 SysTryCatch(NID_UI_CTRL, pCanvasManager != null, , GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
676 SetRendererNotifier(*pRendererNotifier);
677 SetCanvasManager(*pCanvasManager);
678 SetAnimationDelegator(*pVEDelegator);
680 GetAnimationDelegator().SetAnimationDelegator(this);
685 delete pRendererNotifier;
692 _GalleryRenderer::ShowEmptyImageAndText(void)
694 Canvas* pEmptyCanvas = null;
695 Dimension textDimension(0, 0);
697 TextObject* pTextObject = null;
698 result r = E_SUCCESS;
700 if (__needDrawEmptyCanvas == true)
702 _GalleryCanvas* pEmptyGalleryCanvas = GetCanvasManager().GetCanvas(GetEmptyCanvasIndex());
704 SysTryReturn(NID_UI_CTRL, pEmptyGalleryCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
706 r = pEmptyGalleryCanvas->SetBounds(GetViewRect());
707 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
710 if (__emptyString.GetLength() != 0)
712 pFont = GetControl().GetFallbackFont();
713 SysTryCatch(NID_UI_CTRL, pFont != null, , GetLastResult(), "[%s] Propagating.", GetErrorMessage(GetLastResult()));
715 pFont->GetTextExtent(__emptyString, __emptyString.GetLength(), textDimension);
717 pTextObject = new (std::nothrow) TextObject;
718 SysTryCatch(NID_UI_CTRL, pTextObject != null, , E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
720 pTextObject->Construct();//(const_cast<wchar_t*>(__emptyString.GetPointer())), __emptyString.GetLength(), TEXT_ELEMENT_SOURCE_TYPE_EXTERNAL);
721 TextSimple* pSimpleText = new (std::nothrow)TextSimple((const_cast<wchar_t*>(__emptyString.GetPointer())), __emptyString.GetLength(), TEXT_ELEMENT_SOURCE_TYPE_EXTERNAL);
722 pTextObject->AppendElement(*pSimpleText);
724 pTextObject->SetAction(TEXT_OBJECT_ACTION_TYPE_ABBREV);
725 pTextObject->SetWrap(TEXT_OBJECT_WRAP_TYPE_NONE);
726 pTextObject->SetAlignment(TEXT_OBJECT_ALIGNMENT_CENTER | TEXT_OBJECT_ALIGNMENT_MIDDLE);
727 pTextObject->SetFont(pFont, 0, pTextObject->GetTextLength());
728 textDimension = pTextObject->GetTextExtent(0, pTextObject->GetTextLength());
729 if (textDimension.width > GetViewRect().width)
731 textDimension.width = GetViewRect().width;
733 pTextObject->SetForegroundColor(__emptyTextColor, 0, pTextObject->GetTextLength());
736 Point imagePosition(0, 0);
737 Point textPosition(0, 0);
738 Dimension imageSize(0, 0);
739 Rectangle visualElementBounds(0, 0, 0, 0);
740 _GalleryBitmap* pImage = pEmptyGalleryCanvas->GetImage();
743 imageSize = pImage->GetSize();
746 if (imageSize.width >= textDimension.width)
748 visualElementBounds.x = GetViewRect().width - imageSize.width;
749 visualElementBounds.width = imageSize.width;
750 if (imageSize.width != textDimension.width)
752 textPosition.x = (imageSize.width - textDimension.width) / 2;
757 visualElementBounds.x = GetViewRect().width - textDimension.width;
758 visualElementBounds.width = textDimension.width;
759 imagePosition.x = (textDimension.width - imageSize.width) / 2;
761 visualElementBounds.height = imageSize.height + textDimension.height;
762 visualElementBounds.y = GetViewRect().height - visualElementBounds.height;
764 visualElementBounds.x = visualElementBounds.x / 2;
765 visualElementBounds.y = visualElementBounds.y / 2;
767 pEmptyGalleryCanvas->SetVisualElementBounds(visualElementBounds);
769 Rectangle imageBounds(imagePosition.x, imagePosition.y, imageSize.width, imageSize.height);
770 pEmptyGalleryCanvas->SetImageBounds(imageBounds);
772 if (pImage != null || __emptyString.GetLength() != 0)
774 pEmptyCanvas = pEmptyGalleryCanvas->GetImageVisualElement().GetCanvasN();
776 SysTryCatch(NID_UI_CTRL, pEmptyCanvas != null, , r, "[%s] Propagating.", GetErrorMessage(r));
778 Color color(0, 0, 0, 0);
779 pEmptyCanvas->SetBackgroundColor(color);
781 r = pEmptyCanvas->Clear();
782 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
786 if (pImage->GetInternalBitmap()->IsNinePatchedBitmap() == true)
788 Dimension size = pImage->GetSize();
789 Rectangle rect(imagePosition.x, imagePosition.y, size.width, size.height);
790 r = pEmptyCanvas->DrawNinePatchedBitmap(rect, *pImage->GetInternalBitmap());
791 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
795 r = pEmptyCanvas->DrawBitmap(imagePosition, *pImage->GetInternalBitmap());
796 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
800 textPosition.y = imageBounds.y + imageBounds.height;
801 if (pTextObject != null)
803 pTextObject->SetBounds(Rectangle(textPosition.x, textPosition.y, textDimension.width, textDimension.height));
804 pTextObject->Draw(*_CanvasImpl::GetInstance(*pEmptyCanvas));
811 r = pEmptyGalleryCanvas->GetImageVisualElement().SetFlushNeeded();
812 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
816 r = pEmptyGalleryCanvas->SetVisibility(true);
817 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
819 __needDrawEmptyCanvas = false;
832 _GalleryRenderer::RunDissolveTransition(int startCanvasIndex, int endCanvasIndex, const _GalleryAnimationTiming* pAnimation)
834 SysTryReturn(NID_UI_CTRL, pAnimation != null, E_INVALID_ARG, E_INVALID_ARG,
835 "[E_INVALID_ARG] The gallery animation timing is null");
837 Rectangle viewBounds = GetViewRect();
838 result r = SetCanvasBounds(endCanvasIndex, viewBounds);
839 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
841 _GalleryCanvas* pStartCanvas = GetCanvasManager().GetCanvas(startCanvasIndex);
843 SysTryReturn(NID_UI_CTRL, pStartCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
845 _GalleryCanvas* pEndCanvas = GetCanvasManager().GetCanvas(endCanvasIndex);
847 SysTryReturn(NID_UI_CTRL, pEndCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
849 _VisualElement& startVisualElement = pStartCanvas->GetFrameVisualElement();
850 r = startVisualElement.SetZOrder(&pEndCanvas->GetFrameVisualElement(), true);
851 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
853 startVisualElement.SetImplicitAnimationEnabled(true);
855 GetAnimationDelegator().SetGalleryAnimationTiming(*pAnimation);
856 startVisualElement.SetOpacity(0.0f);
859 startVisualElement.SetImplicitAnimationEnabled(false);
861 pEndCanvas->GetFrameVisualElement().SetOpacity(0.0f);
863 pEndCanvas->GetFrameVisualElement().SetImplicitAnimationEnabled(true);
865 pEndCanvas->GetFrameVisualElement().SetOpacity(1.0f);
866 //AddAnimationCount();
868 pEndCanvas->GetFrameVisualElement().SetImplicitAnimationEnabled(false);
870 SetSlideShowPlayType(GALLERY_SLIDESHOW_DISSOLVE);
876 _GalleryRenderer::RunZoomTransition(int startCanvasIndex, int endCanvasIndex, const _GalleryAnimationTiming* pAnimation)
878 result r = RunDissolveTransition(startCanvasIndex, endCanvasIndex, pAnimation);
879 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
881 Rectangle viewRect = GetViewRect();
882 Rectangle zoomBounds = viewRect;
883 zoomBounds.width *= GALLERY_ZOOM_TRANSITION_ZOOM_FACTOR;
884 zoomBounds.height *= GALLERY_ZOOM_TRANSITION_ZOOM_FACTOR;
885 zoomBounds.x = -(viewRect.width / 2 * (GALLERY_ZOOM_TRANSITION_ZOOM_FACTOR - 1));
886 zoomBounds.y = -(viewRect.height / 2 * (GALLERY_ZOOM_TRANSITION_ZOOM_FACTOR - 1));
888 r = SetCanvasBounds(startCanvasIndex, zoomBounds, pAnimation);
889 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
891 //AddAnimationCount();
893 SetSlideShowPlayType(GALLERY_SLIDESHOW_ZOOM);
899 _GalleryRenderer::RunPageTransition(int startCanvasIndex, int endCanvasIndex, const _GalleryAnimationTiming* pAnimation)
901 SysTryReturn(NID_UI_CTRL, pAnimation != null, E_INVALID_ARG, E_INVALID_ARG,
902 "[E_INVALID_ARG] The gallery animation timing is null");
904 result r = E_SUCCESS;
905 if (GetEffect() == null)
907 Effect* pEffect = EffectManager::GetInstance()->CreateEffect(L"/usr/share/osp/effects/gallery_page_curling.eff");
909 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
911 _GalleryImpl* pImpl = static_cast<_GalleryImpl*>(__pControl->GetUserData());
912 Gallery& pPublic = pImpl->GetPublic();
913 r = pEffect->SetRenderTarget(&pPublic);
914 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
918 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
921 SetStartCanvasOfPageCurling(startCanvasIndex);
922 SetEndCanvasOfPageCurling(endCanvasIndex);
924 r = SetCanvasBounds(startCanvasIndex, GetViewRect());
925 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
927 r = SetCanvasVisibility(startCanvasIndex, false);
928 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
930 r = SetCanvasVisibility(endCanvasIndex, false);
931 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
933 r = __pEffect->Start();
934 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
936 //AddAnimationCount();
938 SetSlideShowPlayType(GALLERY_SLIDESHOW_PAGE);
944 _GalleryRenderer::OnAnimationCancel(void)
946 _GalleryRendererNotification* pRendererNoti = new (std::nothrow)_GalleryRendererNotification(GALLERY_RENDERER_NOTI_CANVAS_ANIMATION_CANCEL);
947 SysTryReturnVoidResult(NID_UI_CTRL, pRendererNoti != null, E_OUT_OF_MEMORY,
948 "[E_OUT_OF_MEMORY] Failed to allocate the memory for the _GalleryRendererNotification.");
950 GetRendererNotifier().Fire(*pRendererNoti);
952 SetLastResult(E_SUCCESS);
957 _GalleryRenderer::SetControl(_Control& control)
959 __pControl = &control;
964 _GalleryRenderer::GetControl(void) const
970 _GalleryRenderer::SetCanvasManager(_GalleryCanvasManager& canvasManager)
972 __pCanvasManager = &canvasManager;
976 _GalleryCanvasManager&
977 _GalleryRenderer::GetCanvasManager(void) const
979 return (_GalleryCanvasManager&)*__pCanvasManager;
983 _GalleryRenderer::SetRendererNotifier(_GalleryRendererNotifier& rendererNotifier)
985 __pRendererNotifyer = &rendererNotifier;
989 _GalleryRendererNotifier&
990 _GalleryRenderer::GetRendererNotifier(void) const
992 return (_GalleryRendererNotifier&)*__pRendererNotifyer;
996 _GalleryRenderer::SetAnimationDelegator(_GalleryAnimationProvider& galleryVEDelegator)
998 __pGalleryAnimationDelegator = &galleryVEDelegator;
1002 _GalleryAnimationProvider&
1003 _GalleryRenderer::GetAnimationDelegator(void) const
1005 return *__pGalleryAnimationDelegator;
1009 _GalleryRenderer::SetEmptyCanvasIndex(int emptyCanvasIndex)
1011 __emptyCanvasIndex = emptyCanvasIndex;
1016 _GalleryRenderer::GetEmptyCanvasIndex(void) const
1018 return __emptyCanvasIndex;
1022 _GalleryRenderer::SetSlideShowPlayType(_GallerySlideShowType slideShowType)
1024 __slideShowPlayType = slideShowType;
1028 _GallerySlideShowType
1029 _GalleryRenderer::GetSlideShowPlayType(void) const
1031 return __slideShowPlayType;
1035 _GalleryRenderer::AddAnimationCount(void)
1037 __slideShowAnimationCount++;
1042 _GalleryRenderer::ReleaseAnimationCount(void)
1044 __slideShowAnimationCount--;
1049 _GalleryRenderer::ResetAnimationCount(void)
1051 __slideShowAnimationCount = 0;
1056 _GalleryRenderer::GetAnimationCount(void) const
1058 return __slideShowAnimationCount;
1062 _GalleryRenderer::StopAllAnimation(void)
1064 _GalleryCanvas* pCanvas = null;
1065 int canvasCount = GetCanvasManager().GetCanvasCount();
1066 result r = E_SUCCESS;
1067 for (int i = 0; i < canvasCount; i++)
1069 pCanvas = GetCanvasManager().GetCanvas(i);
1070 r = GetLastResult();
1071 SysTryReturnVoidResult(NID_UI_CTRL, pCanvas != null, r, "[%s] Propagating.", GetErrorMessage(r));
1073 pCanvas->GetImageVisualElement().RemoveAllAnimations();
1074 pCanvas->GetFrameVisualElement().RemoveAllAnimations();
1077 Canvas* pRootCanvas = null;
1078 if (__pEffect != null)
1080 if (__pEffect->IsRunning() == true)
1082 r = __pEffect->Stop();
1083 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
1086 EffectManager::DestroyInstance();
1089 pRootCanvas = GetCanvasManager().GetRootCanvas().GetImageVisualElement()->GetCanvasN();
1090 r = GetLastResult();
1091 SysTryReturnVoidResult(NID_UI_CTRL, pRootCanvas != null, r, "[%s] Propagating.", GetErrorMessage(r));
1093 pRootCanvas->SetBackgroundColor(GetCanvasManager().GetRootCanvas().GetBackgroundColor());
1094 r = pRootCanvas->Clear();
1095 SysTryCatch(NID_UI_CTRL, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
1099 ResetAnimationCount();
1101 SetLastResult(E_SUCCESS);
1105 if (__pEffect != null)
1107 EffectManager::DestroyInstance();
1114 // 3d effect listener
1116 _GalleryRenderer::OnEffectStarted(Effect& effect)
1121 _GalleryRenderer::OnEffectFinished(Effect& effect, EffectResult effectResult, const IList& lastShownBitmapIds)
1123 Rectangle viewBounds = GetViewRect();
1124 int endCanvasIndex = GetEndCanvasOfPageCurling();
1125 result r = SetCanvasBounds(endCanvasIndex, viewBounds);
1126 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
1128 r = SetCanvasVisibility(endCanvasIndex, true);
1129 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
1131 int startCanvasIndex = GetStartCanvasOfPageCurling();
1132 r = SetCanvasVisibility(startCanvasIndex, false);
1133 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
1135 delete __pTransparentBitmap;
1136 __pTransparentBitmap = null;
1138 delete __pPageCurlingBitmap;
1139 __pPageCurlingBitmap = null;
1141 _GalleryRendererNotification* pRendererNotifier = null;
1142 if (effectResult == EFFECT_RESULT_FINISHED)
1144 pRendererNotifier = new (std::nothrow)_GalleryRendererNotification(GALLERY_RENDERER_NOTI_TRANSITION_COMPLETED);
1145 SysTryReturnVoidResult(NID_UI_CTRL, pRendererNotifier != null, E_OUT_OF_MEMORY,
1146 "[E_OUT_OF_MEMORY] Failed to allocate the memory for the _GalleryRendererNotification.");
1150 pRendererNotifier = new (std::nothrow)_GalleryRendererNotification(GALLERY_RENDERER_NOTI_TRANSITION_CANCEL);
1151 SysTryReturnVoidResult(NID_UI_CTRL, pRendererNotifier != null, E_OUT_OF_MEMORY,
1152 "[E_OUT_OF_MEMORY] Failed to allocate the memory for the _GalleryRendererNotification.");
1155 GetRendererNotifier().Fire(*pRendererNotifier);
1156 SetSlideShowPlayType(GALLERY_SLIDESHOW_NONE);
1157 ResetAnimationCount();
1160 // 3d effect provider
1162 _GalleryRenderer::SetBitmap(Effect& effect, long bitmapId)
1164 int startCanvasIndex = GetStartCanvasOfPageCurling();
1165 int endCanvasIndex = GetEndCanvasOfPageCurling();
1167 _GalleryCanvas* pStartCanvas = GetCanvasManager().GetCanvas(startCanvasIndex);
1168 result r = GetLastResult();
1169 SysTryReturn(NID_UI_CTRL, pStartCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
1171 _GalleryCanvas* pEndCanvas = GetCanvasManager().GetCanvas(endCanvasIndex);
1172 r = GetLastResult();
1173 SysTryReturn(NID_UI_CTRL, pEndCanvas != null, r, r, "[%s] Propagating.", GetErrorMessage(r));
1177 Canvas pageCurlingCanvas;
1178 r = pageCurlingCanvas.Construct(GetViewRect());
1179 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1181 pageCurlingCanvas.SetBackgroundColor(__pControl->GetBackgroundColor());
1182 r = GetLastResult();
1183 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1185 r = pageCurlingCanvas.Clear();
1186 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1188 Rectangle imageBounds = pStartCanvas->GetImageBounds();
1189 r = pageCurlingCanvas.DrawBitmap(imageBounds, *pStartCanvas->GetImage()->GetInternalBitmap());
1190 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1192 __pPageCurlingBitmap = new (std::nothrow) Bitmap();
1193 SysTryReturn(NID_UI_CTRL, __pPageCurlingBitmap != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1195 r = __pPageCurlingBitmap->Construct(pageCurlingCanvas, GetViewRect());
1196 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1198 effect.SetBitmap(bitmapId, *__pPageCurlingBitmap);
1200 else if (bitmapId == 1)
1202 Canvas transparentCanvas;
1203 r = transparentCanvas.Construct(GetViewRect());
1204 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1206 transparentCanvas.SetBackgroundColor(__pControl->GetBackgroundColor());
1207 r = GetLastResult();
1208 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1210 r = transparentCanvas.Clear();
1211 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1213 Rectangle imageBounds = pEndCanvas->GetImageBounds();
1214 r = transparentCanvas.DrawBitmap(imageBounds, *pEndCanvas->GetImage()->GetInternalBitmap());
1215 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1217 __pTransparentBitmap = new (std::nothrow) Bitmap();
1218 SysTryReturn(NID_UI_CTRL, __pTransparentBitmap != null, E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
1220 r = __pTransparentBitmap->Construct(transparentCanvas, GetViewRect());
1222 //r = __pTransparentBitmap->Construct(viewBounds);
1223 SysTryReturn(NID_UI_CTRL, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1225 effect.SetBitmap(bitmapId, *__pTransparentBitmap);
1232 _GalleryRenderer::SetStartCanvasOfPageCurling(int startCanvasIndex)
1234 __startCanvasOfPageCurling = startCanvasIndex;
1238 _GalleryRenderer::GetStartCanvasOfPageCurling(void)
1240 return __startCanvasOfPageCurling;
1244 _GalleryRenderer::SetEndCanvasOfPageCurling(int endCanvasIndex)
1246 __endCanvasOfPageCurling = endCanvasIndex;
1250 _GalleryRenderer::GetEndCanvasOfPageCurling(void)
1252 return __endCanvasOfPageCurling;
1256 _GalleryRenderer::SetEffect(Effect* pEffect)
1258 SysTryReturnVoidResult(NID_UI_CTRL, pEffect != null, E_INVALID_ARG, "[E_INVALID_ARG] The effect object is null.");
1260 pEffect->SetEffectEventListener(this);
1261 result r = GetLastResult();
1262 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
1264 pEffect->SetResourceProvider(this);
1265 r = GetLastResult();
1266 SysTryReturnVoidResult(NID_UI_CTRL, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
1268 __pEffect = pEffect;
1270 SetLastResult(E_SUCCESS);
1273 Tizen::Ui::Effects::Effect*
1274 _GalleryRenderer::GetEffect(void)
1279 }}} // Tizen::Ui::Controls