2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0/
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.
19 * @file FUiControl.cpp
20 * @brief This is the implementation file for the Control class.
23 #include <FUiControl.h>
24 #include <FUiContainer.h>
25 #include <FUiTouchGestureDetector.h>
26 #include <FBaseSysLog.h>
27 #include <FApp_AppInfo.h>
28 #include "FUi_ControlImpl.h"
29 #include "FUi_ContainerImpl.h"
30 #include "FUi_ErrorMessages.h"
31 #include "FUiAnimVisualElement.h"
34 using namespace Tizen::Base;
35 using namespace Tizen::Base::Collection;
36 using namespace Tizen::Graphics;
37 using namespace Tizen::Ui::Animations;
40 namespace Tizen { namespace Ui {
42 Control::Control(void)
47 Control::~Control(void)
53 Control::Dispose(void)
60 Control::Construct(void)
62 SysAssertf(_pControlImpl == null, "Already constructed. Calling Construct() twice or more on a same instance is not allowed for this class.");
64 _ControlImpl* pImpl = _ControlImpl::CreateControlImplN(*this);
65 result r = GetLastResult();
66 SysTryReturn(NID_UI, pImpl, r, r, "[%s] Propagating.", GetErrorMessage(r));
68 _pControlImpl = pImpl;
74 Control::Destroy(void)
76 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
77 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
79 result r = pControlImpl->Destroy();
80 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
88 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
89 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
91 result r = pControlImpl->Draw(true);
92 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
98 Control::Draw(bool recursive)
100 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
101 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
103 result r = pControlImpl->Draw(recursive);
104 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
110 Control::Invalidate(bool recursive)
112 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
113 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
115 pControlImpl->Invalidate(recursive);
116 result r = GetLastResult();
117 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
121 Control::InvalidateBounds(const Rectangle& bounds)
123 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
124 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
126 pControlImpl->Invalidate(bounds);
127 result r = GetLastResult();
128 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
132 Control::InvalidateBounds(const FloatRectangle& bounds)
134 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
135 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
137 pControlImpl->Invalidate(bounds);
138 result r = GetLastResult();
139 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
143 Control::GetCanvasN(void) const
145 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
146 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
148 Canvas* pCanvas = pControlImpl->GetCanvasN();
149 result r = GetLastResult();
150 SysTryCatch(NID_UI, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
160 Control::GetCanvasN(int x, int y, int w, int h) const
162 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
163 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
165 Canvas* pCanvas = pControlImpl->GetCanvasN(Rectangle(x, y, w, h));
166 result r = GetLastResult();
167 SysTryCatch(NID_UI, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
177 Control::GetCanvasN(float x, float y, float w, float h) const
179 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
180 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
182 Canvas* pCanvas = pControlImpl->GetCanvasN(FloatRectangle(x, y, w, h));
183 result r = GetLastResult();
184 SysTryCatch(NID_UI, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
194 Control::GetCanvasN(const Rectangle& bounds) const
196 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
197 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
199 Canvas* pCanvas = pControlImpl->GetCanvasN(bounds);
200 result r = GetLastResult();
201 SysTryCatch(NID_UI, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
211 Control::GetCanvasN(const FloatRectangle& bounds) const
213 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
214 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
216 Canvas* pCanvas = pControlImpl->GetCanvasN(bounds);
217 result r = GetLastResult();
218 SysTryCatch(NID_UI, r == E_SUCCESS, , r, "[%s] Propagating.", GetErrorMessage(r));
228 Control::SetEnabled(bool enable)
231 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
233 if (Tizen::App::_AppInfo::GetApiVersion() == _API_VERSION_2_0 && Tizen::App::_AppInfo::IsOspCompat())
236 pControlImpl, E_UNSUPPORTED_OPERATION,
237 E_UNSUPPORTED_OPERATION, "[E_UNSUPPORTED_OPERATION] This control is not constructed.");
241 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
244 pControlImpl->SetEnableState(enable);
245 result r = GetLastResult();
246 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
254 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
255 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
257 result r = pControlImpl->Show();
258 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
264 Control::GetBounds(int& x, int& y, int& w, int& h) const
266 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
267 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
269 Rectangle bounds = pControlImpl->GetBounds();
270 result r = GetLastResult();
271 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
280 Control::GetBounds(float& x, float& y, float& w, float& h) const
282 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
283 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
285 FloatRectangle bounds = pControlImpl->GetBoundsF();
286 result r = GetLastResult();
287 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
296 Control::GetBounds(void) const
298 const Rectangle errorBounds = _ControlImpl::GetErrorBounds();
300 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
301 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
303 Rectangle bounds = pControlImpl->GetBounds();
304 result r = GetLastResult();
305 SysTryReturn(NID_UI, r == E_SUCCESS, errorBounds, r, "[%s] Propagating.", GetErrorMessage(r));
311 Control::GetBoundsF(void) const
313 const FloatRectangle errorBounds = _ControlImpl::GetErrorBoundsF();
315 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
316 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
318 FloatRectangle bounds = pControlImpl->GetBoundsF();
319 result r = GetLastResult();
320 SysTryReturn(NID_UI, r == E_SUCCESS, errorBounds, r, "[%s] Propagating.", GetErrorMessage(r));
326 Control::GetSize(void) const
328 const Rectangle errorBounds = _ControlImpl::GetErrorBounds();
329 const Dimension errorSize(errorBounds.width, errorBounds.height);
331 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
332 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
334 Dimension size = pControlImpl->GetSize();
335 result r = GetLastResult();
336 SysTryReturn(NID_UI, r == E_SUCCESS, errorSize, r, "[%s] Propagating.", GetErrorMessage(r));
342 Control::GetSizeF(void) const
344 const FloatRectangle errorBounds = _ControlImpl::GetErrorBoundsF();
345 const FloatDimension errorSize(errorBounds.width, errorBounds.height);
347 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
348 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
350 FloatDimension size = pControlImpl->GetSizeF();
351 result r = GetLastResult();
352 SysTryReturn(NID_UI, r == E_SUCCESS, errorSize, r, "[%s] Propagating.", GetErrorMessage(r));
358 Control::GetSize(int& w, int& h) const
360 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
361 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
363 Dimension size = pControlImpl->GetSize();
364 result r = GetLastResult();
365 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
372 Control::GetSize(float& w, float& h) const
374 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
375 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
377 FloatDimension size = pControlImpl->GetSizeF();
378 result r = GetLastResult();
379 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
386 Control::GetPosition(void) const
388 const Rectangle errorBounds = _ControlImpl::GetErrorBounds();
389 const Point errorPosition(errorBounds.x, errorBounds.y);
391 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
392 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
394 Point position = pControlImpl->GetPosition();
395 result r = GetLastResult();
396 SysTryReturn(NID_UI, r == E_SUCCESS, errorPosition, r, "[%s] Propagating.", GetErrorMessage(r));
402 Control::GetPositionF(void) const
404 const FloatRectangle errorBounds = _ControlImpl::GetErrorBoundsF();
405 const FloatPoint errorPosition(errorBounds.x, errorBounds.y);
407 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
408 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
410 FloatPoint position = pControlImpl->GetPositionF();
411 result r = GetLastResult();
412 SysTryReturn(NID_UI, r == E_SUCCESS, errorPosition, r, "[%s] Propagating.", GetErrorMessage(r));
418 Control::GetPosition(int& x, int& y) const
420 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
421 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
423 Point position = pControlImpl->GetPosition();
424 result r = GetLastResult();
425 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
432 Control::GetPosition(float& x, float& y) const
434 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
435 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
437 FloatPoint position = pControlImpl->GetPositionF();
438 result r = GetLastResult();
439 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
446 Control::GetX(void) const
448 const Rectangle errorBounds = _ControlImpl::GetErrorBounds();
449 const int errorX = errorBounds.x;
451 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
452 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
454 int x = pControlImpl->GetPosition().x;
455 result r = GetLastResult();
456 SysTryReturn(NID_UI, r == E_SUCCESS, errorX, r, "[%s] Propagating.", GetErrorMessage(r));
462 Control::GetXF(void) const
464 const FloatRectangle errorBounds = _ControlImpl::GetErrorBoundsF();
465 const float errorX = errorBounds.x;
467 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
468 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
470 float x = pControlImpl->GetPositionF().x;
471 result r = GetLastResult();
472 SysTryReturn(NID_UI, r == E_SUCCESS, errorX, r, "[%s] Propagating.", GetErrorMessage(r));
478 Control::GetY(void) const
480 const Rectangle errorBounds = _ControlImpl::GetErrorBounds();
481 const int errorY = errorBounds.y;
483 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
484 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
486 int y = pControlImpl->GetPosition().y;
487 result r = GetLastResult();
488 SysTryReturn(NID_UI, r == E_SUCCESS, errorY, r, "[%s] Propagating.", GetErrorMessage(r));
494 Control::GetYF(void) const
496 const FloatRectangle errorBounds = _ControlImpl::GetErrorBoundsF();
497 const float errorY = errorBounds.y;
499 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
500 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
502 float y = pControlImpl->GetPositionF().y;
503 result r = GetLastResult();
504 SysTryReturn(NID_UI, r == E_SUCCESS, errorY, r, "[%s] Propagating.", GetErrorMessage(r));
510 Control::GetWidth(void) const
512 const Rectangle errorBounds = _ControlImpl::GetErrorBounds();
513 const int errorWidth = errorBounds.width;
515 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
516 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
518 int width = pControlImpl->GetSize().width;
519 result r = GetLastResult();
520 SysTryReturn(NID_UI, r == E_SUCCESS, errorWidth, r, "[%s] Propagating.", GetErrorMessage(r));
526 Control::GetWidthF(void) const
528 const FloatRectangle errorBounds = _ControlImpl::GetErrorBoundsF();
529 const float errorWidth = errorBounds.width;
531 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
532 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
534 float width = pControlImpl->GetSizeF().width;
535 result r = GetLastResult();
536 SysTryReturn(NID_UI, r == E_SUCCESS, errorWidth, r, "[%s] Propagating.", GetErrorMessage(r));
542 Control::GetHeight(void) const
544 const Rectangle errorBounds = _ControlImpl::GetErrorBounds();
545 const int errorHeight = errorBounds.height;
547 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
548 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
550 int height = pControlImpl->GetSize().height;
551 result r = GetLastResult();
552 SysTryReturn(NID_UI, r == E_SUCCESS, errorHeight, r, "[%s] Propagating.", GetErrorMessage(r));
558 Control::GetHeightF(void) const
560 const FloatRectangle errorBounds = _ControlImpl::GetErrorBoundsF();
561 const float errorHeight = errorBounds.height;
563 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
564 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
566 float height = pControlImpl->GetSizeF().height;
567 result r = GetLastResult();
568 SysTryReturn(NID_UI, r == E_SUCCESS, errorHeight, r, "[%s] Propagating.", GetErrorMessage(r));
574 Control::GetParent(void) const
576 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
577 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
579 _ContainerImpl* pParentImpl = pControlImpl->GetParent();
580 result r = GetLastResult();
581 SysTryReturn(NID_UI, r == E_SUCCESS, null, r, "[%s] Propagating.", GetErrorMessage(r));
583 return pParentImpl ? &pParentImpl->GetPublic() : null;
587 Control::GetFont(void) const
589 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
590 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
592 return pControlImpl->GetFont();
596 Control::SetBounds(int x, int y, int w, int h)
598 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
599 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
601 result r = pControlImpl->SetBounds(Rectangle(x, y, w, h));
602 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
608 Control::SetBounds(float x, float y, float w, float h)
610 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
611 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
613 result r = pControlImpl->SetBounds(FloatRectangle(x, y, w, h));
614 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
620 Control::SetBounds(const Rectangle& bounds)
622 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
623 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
625 result r = pControlImpl->SetBounds(bounds);
626 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
632 Control::SetBounds(const FloatRectangle& bounds)
634 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
635 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
637 result r = pControlImpl->SetBounds(bounds);
638 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
644 Control::SetSize(int w, int h)
646 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
647 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
649 result r = pControlImpl->SetSize(Dimension(w, h));
650 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
656 Control::SetSize(float w, float h)
658 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
659 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
661 result r = pControlImpl->SetSize(FloatDimension(w, h));
662 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
668 Control::SetSize(const Dimension& size)
670 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
671 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
673 result r = pControlImpl->SetSize(size);
674 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
680 Control::SetSize(const FloatDimension& size)
682 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
683 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
685 result r = pControlImpl->SetSize(size);
686 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
692 Control::SetPosition(int x, int y)
694 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
695 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
697 result r = pControlImpl->SetPosition(Point(x, y));
698 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
704 Control::SetPosition(float x, float y)
706 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
707 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
709 result r = pControlImpl->SetPosition(FloatPoint(x, y));
710 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
716 Control::SetPosition(const Point& position)
718 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
719 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
721 result r = pControlImpl->SetPosition(position);
722 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
728 Control::SetPosition(const FloatPoint& position)
730 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
731 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
733 result r = pControlImpl->SetPosition(position);
734 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
740 Control::SetFont(const String& fontName)
742 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
743 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
745 result r = pControlImpl->SetFont(fontName);
746 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
751 Control::IsEnabled(void) const
753 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
754 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
756 return pControlImpl->IsEnabled();
760 Control::IsVisible(void) const
762 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
763 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
765 return pControlImpl->IsVisible();
771 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
772 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
774 pControlImpl->SetFocused();
775 result r = GetLastResult();
776 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
782 Control::SetShowState(bool state)
784 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
785 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
787 result r = pControlImpl->SetVisibleState(state);
788 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
793 Tizen::Ui::Animations::VisualElement*
794 Control::GetVisualElement(void) const
796 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
797 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
799 return pControlImpl->GetVisualElement();
800 //return pControlImpl->GetCustomVisualElement();
804 Control::Contains(int x, int y) const
806 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
807 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
809 return pControlImpl->Contains(Point(x, y));
813 Control::Contains(float x, float y) const
815 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
816 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
818 return pControlImpl->Contains(FloatPoint(x, y));
822 Control::Contains(const Point& point) const
824 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
825 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
827 return pControlImpl->Contains(point);
831 Control::Contains(const FloatPoint& point) const
833 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
834 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
836 return pControlImpl->Contains(point);
840 Control::HasFocus(void) const
842 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
843 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
845 return pControlImpl->IsFocused();
849 Control::GetShowState(void) const
851 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
852 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
854 return pControlImpl->GetVisibleState();
858 Control::GetName(void) const
860 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
861 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
863 return pControlImpl->GetName();
867 Control::SetName(const String& name)
869 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
870 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
872 pControlImpl->SetName(name);
876 Control::AddFocusEventListener(IFocusEventListener& listener)
878 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
879 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
881 result r = pControlImpl->AddFocusEventListener(listener);
882 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
886 Control::RemoveFocusEventListener(IFocusEventListener& listener)
888 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
889 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
891 result r = pControlImpl->RemoveFocusEventListener(listener);
892 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
896 Control::AddKeyEventListener(IKeyEventListener& listener)
898 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
899 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
901 result r = pControlImpl->AddKeyEventListener(listener);
902 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
906 Control::RemoveKeyEventListener(IKeyEventListener& listener)
908 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
909 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
911 result r = pControlImpl->RemoveKeyEventListener(listener);
912 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
916 Control::AddTouchEventListener(ITouchEventListener& listener)
918 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
919 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
921 result r = pControlImpl->AddTouchEventListener(listener);
922 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
926 Control::RemoveTouchEventListener(ITouchEventListener& listener)
928 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
929 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
931 result r = pControlImpl->RemoveTouchEventListener(listener);
932 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
936 Control::AddDragDropEventListener(IDragDropEventListener& listener)
938 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
939 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
941 result r = pControlImpl->AddDragDropEventListener(listener);
942 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
946 Control::AddDragDropEventListener(IDragDropEventListenerF& listener)
948 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
949 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
951 result r = pControlImpl->AddDragDropEventListener(listener);
952 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
956 Control::RemoveDragDropEventListener(IDragDropEventListener& listener)
958 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
959 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
961 result r = pControlImpl->RemoveDragDropEventListener(listener);
962 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
966 Control::RemoveDragDropEventListenerF(IDragDropEventListenerF& listener)
968 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
969 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
971 result r = pControlImpl->RemoveDragDropEventListenerF(listener);
972 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
976 Control::AddTouchModeChangedEventListener(ITouchModeChangedEventListener& listener)
978 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
979 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
981 result r = pControlImpl->AddTouchModeChangedEventListener(listener);
982 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
986 Control::RemoveTouchModeChangedEventListener(ITouchModeChangedEventListener& listener)
988 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
989 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
991 result r = pControlImpl->RemoveTouchModeChangedEventListener(listener);
992 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
996 Control::SetDragEnabled(bool enabled)
998 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
999 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1001 pControlImpl->SetDragEnabled(enabled);
1005 Control::SetDropEnabled(bool enabled)
1007 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1008 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1010 pControlImpl->SetDropEnabled(enabled);
1014 Control::RequestRedraw(bool show) const
1016 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1017 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1019 pControlImpl->RequestRedraw(show);
1020 result r = GetLastResult();
1021 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
1025 Control::OnInitializing(void)
1027 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1028 SysTryReturn(NID_UI, pControlImpl, E_FAILURE, E_FAILURE, "[E_FAILURE] This callback returns failure.");
1034 Control::OnTerminating(void)
1036 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1037 SysTryReturn(NID_UI, pControlImpl, E_FAILURE, E_FAILURE, "[E_FAILURE] This callback returns failure.");
1043 Control::OnUserEventReceivedN(RequestId requestId, IList* pArgs)
1048 Control::SendUserEvent(RequestId requestId, const IList* pArgs) const
1050 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1051 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1053 pControlImpl->SendUserEvent(requestId, pArgs);
1054 result r = GetLastResult();
1055 SysTryReturnVoidResult(NID_UI, r == E_SUCCESS, r, "[%s] Propagating.", GetErrorMessage(r));
1059 Control::SetFocusable(bool focusable)
1061 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1062 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1064 result r = pControlImpl->SetFocusable(focusable);
1065 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1071 Control::IsFocusable(void) const
1073 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1074 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1076 return pControlImpl->IsFocusable();
1080 Control::IsInTouchMode(void) const
1082 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1083 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1085 return pControlImpl->IsInTouchMode();
1090 Control::SetCompositeMode(Tizen::Ui::CompositeMode compositeMode)
1092 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1093 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1095 result r = pControlImpl->SetCompositeMode(compositeMode);
1096 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1102 Control::GetCompositeMode(void) const
1104 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1105 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1107 return pControlImpl->GetCompositeMode();
1111 Control::SetChromaKeyColor(Color chromaKeyColor)
1113 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1114 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1116 result r = pControlImpl->SetChromaKeyColor(chromaKeyColor);
1117 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1123 Control::GetChromaKeyColor(void) const
1125 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1126 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1128 return pControlImpl->GetChromaKeyColor();
1132 Control::ConsumeInputEvent(void)
1134 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1135 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1137 pControlImpl->ConsumeInputEvent();
1138 result r = GetLastResult();
1139 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1145 Control::GetDefaultkeyEventListener(void) const
1147 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1148 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1150 return pControlImpl->GetDefaultKeyEventListener();
1154 Control::SetDefaultKeyEventListener(IKeyEventListener* pDefaultListener)
1156 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1157 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1159 pControlImpl->SetDefaultKeyEventListener(pDefaultListener);
1160 result r = GetLastResult();
1161 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1166 ITouchEventListener*
1167 Control::GetDefaultTouchEventListener(void) const
1169 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1170 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1172 return pControlImpl->GetDefaultTouchEventListener();
1176 Control::SetDefaultTouchEventListener(ITouchEventListener* pDefaultListener)
1178 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1179 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1181 pControlImpl->SetDefaultTouchEventListener(pDefaultListener);
1182 result r = GetLastResult();
1183 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1189 Control::IsMovable(void) const
1191 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1192 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1194 return pControlImpl->IsMovable();
1198 Control::IsResizable(void) const
1200 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1201 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1203 return pControlImpl->IsResizable();
1207 Control::SetMinimumSize(const Dimension& minSize)
1209 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1210 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1212 result r = pControlImpl->SetMinimumSize(minSize);
1213 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1219 Control::SetMinimumSize(const FloatDimension& minSize)
1221 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1222 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1224 result r = pControlImpl->SetMinimumSize(minSize);
1225 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1231 Control::SetMaximumSize(const Dimension& maxSize)
1233 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1234 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1236 result r = pControlImpl->SetMaximumSize(maxSize);
1237 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1243 Control::SetMaximumSize(const FloatDimension& maxSize)
1245 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1246 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1248 result r = pControlImpl->SetMaximumSize(maxSize);
1249 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1255 Control::ConvertToControlPosition(const Point& screenPosition) const
1257 const Rectangle errorBounds = _ControlImpl::GetErrorBounds();
1258 const Point errorPosition(errorBounds.x, errorBounds.y);
1260 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1261 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1263 Point point = pControlImpl->ConvertToControlPosition(screenPosition);
1264 result r = GetLastResult();
1265 SysTryReturn(NID_UI, r == E_SUCCESS, errorPosition, r, "[%s] Propagating.", GetErrorMessage(r));
1271 Control::ConvertToControlPosition(const FloatPoint& screenPosition) const
1273 const FloatRectangle errorBounds = _ControlImpl::GetErrorBoundsF();
1274 const FloatPoint errorPosition(errorBounds.x, errorBounds.y);
1276 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1277 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1279 FloatPoint point = pControlImpl->ConvertToControlPosition(screenPosition);
1280 result r = GetLastResult();
1281 SysTryReturn(NID_UI, r == E_SUCCESS, errorPosition, r, "[%s] Propagating.", GetErrorMessage(r));
1287 Control::ConvertToScreenPosition(const Point& controlPosition) const
1289 const Rectangle errorBounds = _ControlImpl::GetErrorBounds();
1290 const Point errorPosition(errorBounds.x, errorBounds.y);
1292 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1293 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1295 Point point = pControlImpl->ConvertToScreenPosition(controlPosition);
1296 result r = GetLastResult();
1297 SysTryReturn(NID_UI, r == E_SUCCESS, errorPosition, r, "[%s] Propagating.", GetErrorMessage(r));
1303 Control::ConvertToScreenPosition(const FloatPoint& controlPosition) const
1305 const FloatRectangle errorBounds = _ControlImpl::GetErrorBoundsF();
1306 const FloatPoint errorPosition(errorBounds.x, errorBounds.y);
1308 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1309 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1311 FloatPoint point = pControlImpl->ConvertToScreenPosition(controlPosition);
1312 result r = GetLastResult();
1313 SysTryReturn(NID_UI, r == E_SUCCESS, errorPosition, r, "[%s] Propagating.", GetErrorMessage(r));
1319 Control::GetMinimumSize(void) const
1321 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1322 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1324 return pControlImpl->GetMinimumSize();
1328 Control::GetMinimumSizeF(void) const
1330 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1331 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1333 return pControlImpl->GetMinimumSizeF();
1337 Control::GetMaximumSize(void) const
1339 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1340 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1342 return pControlImpl->GetMaximumSize();
1346 Control::GetMaximumSizeF(void) const
1348 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1349 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1351 return pControlImpl->GetMaximumSizeF();
1355 Control::GetControlAnimator(void) const
1357 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1358 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1360 return pControlImpl->GetControlAnimator();
1364 Control::AddGestureDetector(const TouchGestureDetector& gestureDetector)
1366 return AddGestureDetector(const_cast< TouchGestureDetector* >(&gestureDetector));
1370 Control::AddGestureDetector(TouchGestureDetector* pGestureDetector)
1372 SysTryReturnResult(NID_UI, pGestureDetector != null, E_INVALID_ARG, "pGestureDetector is null.");
1373 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1374 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1376 result r = pControlImpl->AddGestureDetector(*pGestureDetector);
1377 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1383 Control::RemoveGestureDetector(const TouchGestureDetector& gestureDetector)
1385 return RemoveGestureDetector(const_cast< TouchGestureDetector* >(&gestureDetector));
1389 Control::RemoveGestureDetector(TouchGestureDetector* pGestureDetector)
1391 SysTryReturnResult(NID_UI, pGestureDetector != null, E_INVALID_ARG, "pGestureDetector is null.");
1392 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1393 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1395 result r = pControlImpl->RemoveGestureDetector(*pGestureDetector);
1396 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1402 Control::SetContentAreaBounds(const Rectangle& rect)
1404 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1405 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1407 pControlImpl->SetContentAreaBounds(rect);
1411 Control::SetContentAreaBounds(const FloatRectangle& rect)
1413 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1414 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1416 pControlImpl->SetContentAreaBounds(rect);
1420 Control::GetContentAreaBounds(void) const
1422 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1423 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1425 Rectangle bounds = pControlImpl->GetContentAreaBounds();
1431 Control::GetContentAreaBoundsF(void) const
1433 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1434 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1436 FloatRectangle bounds = pControlImpl->GetContentAreaBoundsF();
1442 Control::GetCapturedBitmapN(void) const
1444 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1445 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1447 return pControlImpl->GetCapturedBitmapN();
1451 Control::GetInvalidatedBounds(void) const
1453 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1454 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1456 return pControlImpl->GetInvalidatedBounds();
1460 Control::GetInvalidatedBoundsF(void) const
1462 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1463 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1465 return pControlImpl->GetInvalidatedBoundsF();
1469 Control::SetMultipointTouchEnabled(bool enable)
1471 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1474 pControlImpl->SetMultiTouchEnabled(enable);
1479 Control::IsMultipointTouchEnabled(void) const
1481 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1484 return pControlImpl->IsMultiTouchEnabled();
1490 Control::SetEffectSoundEnabled(bool enable)
1492 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1495 return pControlImpl->SetEffectSoundEnabled(enable);
1500 Control::IsEffectSoundEnabled(void) const
1502 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1505 return pControlImpl->IsEffectSoundEnabled();
1510 const AccessibilityContainer*
1511 Control::GetAccessibilityContainer(void) const
1513 _ControlImpl* pControlImpl = const_cast<_ControlImpl*>(_ControlImpl::GetInstance(*this));
1514 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1516 return pControlImpl->GetAccessibilityContainer();
1518 AccessibilityContainer*
1519 Control::GetAccessibilityContainer(void)
1521 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1522 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1524 return pControlImpl->GetAccessibilityContainer();
1528 Control::SetPropagatedTouchEventListener(IPropagatedTouchEventListener* pListener)
1530 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1531 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1533 pControlImpl->SetPublicPropagatedTouchEventListener(pListener);
1537 Control::SetPropagatedKeyEventListener(IPropagatedKeyEventListener* pListener)
1539 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1540 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1542 pControlImpl->SetPublicPropagatedKeyEventListener(pListener);
1546 Control::SetPreviousFocus(Control* pPreviousFocus)
1548 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1549 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1551 _ControlImpl* pPreviousFocusControlImpl = _ControlImpl::GetInstance(*pPreviousFocus);
1552 SysAssertf(pPreviousFocusControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1554 pControlImpl->SetPreviousFocus(pPreviousFocusControlImpl);
1559 Control::SetNextFocus(Control* pNextFocus)
1561 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1562 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1564 _ControlImpl* pNextFocusControlImpl = _ControlImpl::GetInstance(*pNextFocus);
1565 SysAssertf(pNextFocusControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1567 pControlImpl->SetNextFocus(pNextFocusControlImpl);
1572 Control::GetPreviousFocus(void) const
1574 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1575 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1576 _ControlImpl* pPreviousControl = pControlImpl->GetPreviousFocus();
1577 if (pPreviousControl)
1579 return &(pPreviousControl->GetPublic());
1585 Control::GetNextFocus(void) const
1587 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1588 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1590 _ControlImpl* pNextControl = pControlImpl->GetNextFocus();
1593 return &(pNextControl->GetPublic());
1599 Control::SetTouchPressThreshold(float distance)
1601 _ControlImpl* pControlImpl = const_cast<_ControlImpl*>(_ControlImpl::GetInstance(*this));
1602 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1604 return pControlImpl->SetTouchPressThreshold(distance);
1608 Control::GetTouchPressThreshold(void) const
1610 _ControlImpl* pControlImpl = const_cast<_ControlImpl*>(_ControlImpl::GetInstance(*this));
1611 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before used.");
1613 return pControlImpl->GetTouchPressThreshold();
1616 Control::SetFontFromFile(const Tizen::Base::String& fileName)
1618 _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1619 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1621 result r = pControlImpl->SetFontFromFile(fileName);
1622 SysTryReturn(NID_UI, r == E_SUCCESS, r, r, "[%s] Propagating.", GetErrorMessage(r));
1627 Control::GetFontFile(void) const
1629 const _ControlImpl* pControlImpl = _ControlImpl::GetInstance(*this);
1630 SysAssertf(pControlImpl != null, "Not yet constructed. Construct() should be called before use.");
1632 return pControlImpl->GetFontFile();