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 FUiCtrl_IconListItemDrawingProperty.cpp
20 * @brief This is the implementation file for the _IconListItemDrawingProperty class.
24 #include <FBaseSysLog.h>
25 #include <FGrp_BitmapImpl.h>
27 #include "FUi_CoordinateSystemUtils.h"
29 #include "FUi_ResourceManager.h"
30 #include "FUiCtrl_IconListItemDrawingProperty.h"
32 using namespace Tizen::Base;
33 using namespace Tizen::Graphics;
34 using namespace Tizen::Ui;
36 namespace Tizen { namespace Ui { namespace Controls
39 _IconListItemDrawingProperty::_IconListItemDrawingProperty(void)
42 , __normalTextColor(0)
43 , __pressedTextColor(0)
44 , __highlightedTextColor(0)
46 , __bitmapBounds(0.0f, 0.0f, 0.0f, 0.0f)
47 , __pDropShadowBitmap(null)
48 , __pFocusBitmap(null)
49 , __pDropShadowBitmapWithReplacementColor(null)
50 , __dropShadowBorderWidth(0.0f)
51 , __dropShadowMargin(0.0f)
52 , __pCheckBitmap(null)
53 , __pCheckedBackgroundBitmap(null)
54 , __pUnCheckedBackgroundBitmap(null)
55 , __pDisabledCheckBitmap(null)
57 , __overlayMargin(0.0f)
58 , __pressedBackgroundColor(0)
59 , __normalBorderColor(0)
60 , __focusBorderColor(0)
61 , __inTextBackgroundColor(0)
63 , __2LineTextYPos(0.0f)
64 , __checkBoxPosition(ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT)
65 , __borderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE)
66 , __textHorizontalAlignment(ALIGNMENT_CENTER)
67 , __textVerticalAlignment(ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_BOTTOM)
70 , __asAspectRatio(true)
71 , __checkedStyle(false)
72 , __verticalExtent(0.0f)
73 , __insideOneLineTextHeight(0.0f)
74 , __insideTwoLineTextHeight(0.0f)
75 , __selectBackgroundMargin(0.0f)
76 , __itemTextHorizontalMargin(0.0f)
77 , __itemTextVerticalMargin(0.0f)
78 , __accessibilityEnabled(false)
79 , __customColorSet(false)
84 _IconListItemDrawingProperty::~_IconListItemDrawingProperty(void)
86 delete __pDropShadowBitmap;
87 __pDropShadowBitmap = null;
89 delete __pFocusBitmap;
90 __pFocusBitmap = null;
92 delete __pDropShadowBitmapWithReplacementColor;
93 __pDropShadowBitmapWithReplacementColor = null;
95 delete __pCheckBitmap;
96 __pCheckBitmap = null;
98 delete __pCheckedBackgroundBitmap;
99 __pCheckedBackgroundBitmap = null;
101 delete __pUnCheckedBackgroundBitmap;
102 __pUnCheckedBackgroundBitmap = null;
104 delete __pDisabledCheckBitmap;
105 __pDisabledCheckBitmap = null;
108 _IconListItemDrawingProperty*
109 _IconListItemDrawingProperty::CreateInstanceN(void)
111 _IconListItemDrawingProperty* pProperty = new (std::nothrow) _IconListItemDrawingProperty;
112 SysTryReturn(NID_UI_CTRL, (pProperty != null), null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
114 result r = pProperty->Initialize();
115 SysTryCatch(NID_UI_CTRL, (r == E_SUCCESS), , r, "[%s] Propagating.", GetErrorMessage(r));
126 _IconListItemDrawingProperty::Initialize(void)
128 result r = E_SUCCESS;
130 // Load Drop Shadow Bitmap
131 GET_FIXED_VALUE_CONFIG(ICONLIST::DROP_SHADOW_BORDER, _CONTROL_ORIENTATION_PORTRAIT, __dropShadowBorderWidth);
132 GET_FIXED_VALUE_CONFIG(ICONLIST::DROP_SHADOW_MARGIN, _CONTROL_ORIENTATION_PORTRAIT, __dropShadowMargin);
136 GET_FIXED_VALUE_CONFIG(ICONLIST::DROP_SHADOW_WIDTH, _CONTROL_ORIENTATION_PORTRAIT, width);
137 GET_FIXED_VALUE_CONFIG(ICONLIST::DROP_SHADOW_HEIGHT, _CONTROL_ORIENTATION_PORTRAIT, height);
139 if (!_FloatCompareLE(width, 0.0f) && !_FloatCompareLE(height, 0.0f))
141 r = GET_BITMAP_CONFIG_N(ICONLIST::ITEM_BORDER_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pDropShadowBitmap);
144 delete __pDropShadowBitmap;
145 __pDropShadowBitmap = null;
147 SysLogException(NID_UI_CTRL, r, "[%s] Propagating.", GetErrorMessage(r));
151 r = GET_BITMAP_CONFIG_N(ICONLIST::ITEM_BORDER_HIGHLIGHTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pFocusBitmap);
154 delete __pFocusBitmap;
155 __pFocusBitmap = null;
157 SysLogException(NID_UI_CTRL, r, "[%s] Propagating.", GetErrorMessage(r));
163 GET_FIXED_VALUE_CONFIG(ICONLIST::CHECKBOX_MARGIN, _CONTROL_ORIENTATION_PORTRAIT, __checkMargin);
165 FloatDimension dimension(0.0f, 0.0f);
166 GET_DIMENSION_CONFIG(ICONLIST::CHECKBOX_SIZE, _CONTROL_ORIENTATION_PORTRAIT, dimension);
167 width = dimension.width;
168 height = dimension.height;
170 if (!_FloatCompareLE(width, 0.0f) && !_FloatCompareLE(height, 0.0f))
172 r = GET_BITMAP_CONFIG_N(ICONLIST::CHECK_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pCheckBitmap);
175 delete __pCheckBitmap;
176 __pCheckBitmap = null;
178 SysLogException(NID_UI_CTRL, r, "[%s] Propagating.", GetErrorMessage(r));
182 r = GET_BITMAP_CONFIG_N(ICONLIST::CHECK_BG_SELECTED, BITMAP_PIXEL_FORMAT_ARGB8888, __pCheckedBackgroundBitmap);
185 delete __pCheckedBackgroundBitmap;
186 __pCheckedBackgroundBitmap = null;
188 SysLogException(NID_UI_CTRL, r, "[%s] Propagating.", GetErrorMessage(r));
192 r = GET_BITMAP_CONFIG_N(ICONLIST::CHECK_BG_NORMAL, BITMAP_PIXEL_FORMAT_ARGB8888, __pUnCheckedBackgroundBitmap);
195 delete __pUnCheckedBackgroundBitmap;
196 __pUnCheckedBackgroundBitmap = null;
198 SysLogException(NID_UI_CTRL, r, "[%s] Propagating.", GetErrorMessage(r));
203 // Load overlay bitmap margin
204 GET_FIXED_VALUE_CONFIG(ICONLIST::OVERLAY_ICON_MARGIN, _CONTROL_ORIENTATION_PORTRAIT, __overlayMargin);
206 // Load item press state background color
207 GET_COLOR_CONFIG(ICONLIST::ITEM_BG_PRESSED, __pressedBackgroundColor);
208 __pressedBackgroundColor.SetAlpha(0x80);
211 GET_COLOR_CONFIG(ICONLIST::ITEM_BORDER_NORMAL, __normalBorderColor);
212 GET_COLOR_CONFIG(ICONLIST::ITEM_BORDER_HIGHLIGHTED, __focusBorderColor);
214 // Load Drop Shadow Bitmap with Replacement Color
215 if (__pDropShadowBitmap != null)
217 __pDropShadowBitmapWithReplacementColor = _BitmapImpl::GetColorReplacedBitmapN(*__pDropShadowBitmap,
218 Color::GetColor(COLOR_ID_MAGENTA), __normalBorderColor);
219 SysTryReturn(NID_UI_CTRL, (__pDropShadowBitmapWithReplacementColor != null), r, r, "[%s] Propagating.", GetErrorMessage(r));
222 // Load Item Text Size & color
223 GET_SHAPE_CONFIG(ICONLIST::FONT_SIZE, _CONTROL_ORIENTATION_PORTRAIT, __textSize);
224 GET_COLOR_CONFIG(ICONLIST::INNER_TEXT_BG_NORMAL, __inTextBackgroundColor);
225 __inTextBackgroundColor.SetAlpha(0x80);
227 // Load Item text height
228 GET_SHAPE_CONFIG(ICONLIST::VERTICAL_EXTENT, _CONTROL_ORIENTATION_PORTRAIT, __verticalExtent);
229 GET_SHAPE_CONFIG(ICONLIST::INSIDE_ONE_LINE_TEXT_HEIGHT, _CONTROL_ORIENTATION_PORTRAIT, __insideOneLineTextHeight);
230 GET_SHAPE_CONFIG(ICONLIST::INSIDE_TWO_LINE_TEXT_HEIGHT, _CONTROL_ORIENTATION_PORTRAIT, __insideTwoLineTextHeight);
233 GET_FIXED_VALUE_CONFIG(ICONLIST::SELECT_BG_MARGIN, _CONTROL_ORIENTATION_PORTRAIT, __selectBackgroundMargin);
234 GET_FIXED_VALUE_CONFIG(ICONLIST::TEXT_HORIZONTAL_MARGIN, _CONTROL_ORIENTATION_PORTRAIT, __itemTextHorizontalMargin);
235 GET_FIXED_VALUE_CONFIG(ICONLIST::TEXT_VERTICAL_MARGIN, _CONTROL_ORIENTATION_PORTRAIT, __itemTextVerticalMargin);
241 _IconListItemDrawingProperty::GetBackgroundColor(IconListViewItemDrawingStatus status) const
243 SysTryReturn(NID_UI_CTRL,
244 (status >= ICON_LIST_VIEW_ITEM_DRAWING_STATUS_NORMAL && status <= ICON_LIST_VIEW_ITEM_DRAWING_STATUS_HIGHLIGHTED),
245 Color(0), E_INVALID_ARG, "[E_INVALID_ARG] Invalid value of drawing status is used.");
248 if (status == ICON_LIST_VIEW_ITEM_DRAWING_STATUS_PRESSED)
250 return __pressedBackgroundColor;
252 return Color(0, 0, 0, 0);
256 _IconListItemDrawingProperty::SetTextSize(float size)
258 float minSize = 0.0f;
259 GET_FIXED_VALUE_CONFIG(ICONLIST::MINIMUM_FONT_SIZE, _CONTROL_ORIENTATION_PORTRAIT, minSize);
260 SysTryReturn(NID_UI_CTRL, _FloatCompareGE(size, minSize), E_INVALID_ARG, E_INVALID_ARG,
261 "[E_INVALID_ARG] Invalid argument is used. Font size should be greater than or equal to the minimum size.");
263 if (!_FloatCompare(__textSize, size))
272 _IconListItemDrawingProperty::GetTextSize(void) const
279 _IconListItemDrawingProperty::SetFont(Font* pFont)
281 SysTryReturn(NID_UI_CTRL, pFont != null, E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] Invalid argument is used.");
283 if (pFont == __pFont)
290 float oldVerticalExtent = __verticalExtent;
291 float textSize = 0.0f;
292 GET_SHAPE_CONFIG(ICONLIST::FONT_SIZE, _CONTROL_ORIENTATION_PORTRAIT, textSize);
294 if (!_FloatCompare(__textSize, textSize))
296 int leading = _FontImpl::GetInstance(*__pFont)->GetLeading();
297 __insideOneLineTextHeight = leading + __itemTextVerticalMargin * 2.0f;
298 __insideTwoLineTextHeight = (leading * 2.0f) + __itemTextVerticalMargin * 2.0f;
299 __verticalExtent = __insideTwoLineTextHeight;
303 GET_SHAPE_CONFIG(ICONLIST::VERTICAL_EXTENT, _CONTROL_ORIENTATION_PORTRAIT, __verticalExtent);
304 GET_SHAPE_CONFIG(ICONLIST::INSIDE_ONE_LINE_TEXT_HEIGHT, _CONTROL_ORIENTATION_PORTRAIT, __insideOneLineTextHeight);
305 GET_SHAPE_CONFIG(ICONLIST::INSIDE_TWO_LINE_TEXT_HEIGHT, _CONTROL_ORIENTATION_PORTRAIT, __insideTwoLineTextHeight);
308 if (__textVerticalAlignment >= ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP)
310 __size.height -= oldVerticalExtent;
311 __size.height = __size.height + __insideTwoLineTextHeight;
316 // Adjust layout of Item.
317 return SetItemLayout();
321 _IconListItemDrawingProperty::GetFont(void) const
327 _IconListItemDrawingProperty::SetTextColor(IconListViewItemDrawingStatus status, const Color color)
329 SysTryReturn(NID_UI_CTRL,
330 (status >= ICON_LIST_VIEW_ITEM_DRAWING_STATUS_NORMAL && status <= ICON_LIST_VIEW_ITEM_DRAWING_STATUS_HIGHLIGHTED),
331 E_SYSTEM, E_SYSTEM, "[E_SYSTEM] A system error has been occurred. Invalid value of drawing status.");
333 if (status == ICON_LIST_VIEW_ITEM_DRAWING_STATUS_NORMAL)
335 __normalTextColor = color;
337 else if (status == ICON_LIST_VIEW_ITEM_DRAWING_STATUS_PRESSED)
339 __pressedTextColor = color;
343 __highlightedTextColor = color;
347 __customColorSet = true;
352 _IconListItemDrawingProperty::GetTextColor(IconListViewItemDrawingStatus status) const
354 SysTryReturn(NID_UI_CTRL,
355 (status >= ICON_LIST_VIEW_ITEM_DRAWING_STATUS_NORMAL && status <= ICON_LIST_VIEW_ITEM_DRAWING_STATUS_HIGHLIGHTED),
356 Color(0), E_SYSTEM, "[E_SYSTEM] A system error has been occurred. Invalid value of drawing status.");
360 if (status == ICON_LIST_VIEW_ITEM_DRAWING_STATUS_NORMAL)
362 return __normalTextColor;
364 else if (status == ICON_LIST_VIEW_ITEM_DRAWING_STATUS_PRESSED)
366 return __pressedTextColor;
370 return __highlightedTextColor;
375 _IconListItemDrawingProperty::GetTextBackgroundColor(void) const
377 if (__textVerticalAlignment >= ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP)
379 return Color(0, 0, 0, 0);
381 return __inTextBackgroundColor;
385 _IconListItemDrawingProperty::GetBorderColor(bool isFocused) const
387 return isFocused ? __focusBorderColor : __normalBorderColor;
391 _IconListItemDrawingProperty::SetItemLayout(void)
393 SysTryReturn(NID_UI_CTRL,
394 (__textVerticalAlignment >= ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_TOP && __textVerticalAlignment <=
395 ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_BOTTOM), E_SYSTEM, E_SYSTEM,
396 "[E_SYSTEM] A system error has been occurred. The current state of vertical text alignment is not valid.");
398 switch (__textVerticalAlignment)
400 case ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_TOP:
402 __2LineTextYPos = __textYPos;
405 case ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_MIDDLE:
406 __textYPos = (__size.height - __insideOneLineTextHeight) / 2.0f ;
407 __2LineTextYPos = (__size.height - __insideTwoLineTextHeight) / 2.0f;
410 case ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_BOTTOM:
411 __textYPos = __size.height - __insideOneLineTextHeight - 2.0f;
412 __2LineTextYPos = __size.height - __insideTwoLineTextHeight - 2.0f;
415 case ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP:
416 __textYPos = __insideOneLineTextHeight - __itemTextVerticalMargin;
417 __2LineTextYPos = 1.0f;
420 case ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_BOTTOM:
421 __textYPos = __size.height - __verticalExtent;
422 __2LineTextYPos = __textYPos;
426 if (!__customColorSet)
428 if (__textVerticalAlignment >= ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_TOP && __textVerticalAlignment <= ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_BOTTOM)
430 GET_COLOR_CONFIG(ICONLIST::INNER_TEXT_NORMAL, __normalTextColor);
431 GET_COLOR_CONFIG(ICONLIST::INNER_TEXT_PRESSED, __pressedTextColor);
432 GET_COLOR_CONFIG(ICONLIST::INNER_TEXT_HIGHLIGHTED, __highlightedTextColor);
434 else if (__textVerticalAlignment >= ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP && __textVerticalAlignment <= ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_BOTTOM)
436 GET_COLOR_CONFIG(ICONLIST::TEXT_NORMAL, __normalTextColor);
437 GET_COLOR_CONFIG(ICONLIST::TEXT_PRESSED, __pressedTextColor);
438 GET_COLOR_CONFIG(ICONLIST::TEXT_HIGHLIGHTED, __highlightedTextColor);
448 _IconListItemDrawingProperty::SetItemBitmapBounds(const FloatRectangle bounds)
450 SysTryReturn(NID_UI_CTRL, _FloatCompareGE(bounds.x, 0.0f) && _FloatCompareGE(bounds.y, 0.0f), E_INVALID_ARG, E_INVALID_ARG,
451 "[E_INVALID_ARG] Invalid argument is used. X and Y must be a non-negative value.");
452 SysTryReturn(NID_UI_CTRL, _FloatCompareGE(bounds.width, 0.0f) && _FloatCompareGE(bounds.height, 0.0f), E_INVALID_ARG,
453 E_INVALID_ARG, "[E_INVALID_ARG] Invalid argument is used. Width and height should be larger than 0.0f.");
455 __bitmapBounds = bounds;
456 __size.width = bounds.width;
457 __size.height = bounds.height;
459 if (__textVerticalAlignment >= ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP)
461 __size.height += __insideTwoLineTextHeight;
464 return SetItemLayout();
468 _IconListItemDrawingProperty::GetItemBitmapBounds(void) const
472 FloatRectangle bounds(__bitmapBounds);
473 if (__textVerticalAlignment == ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP)
475 bounds.y += __verticalExtent;
482 _IconListItemDrawingProperty::GetItemBitmapSize(void) const
485 return FloatDimension(__bitmapBounds.width, __bitmapBounds.height);
489 _IconListItemDrawingProperty::SetItemSize(const FloatDimension size)
491 SysTryReturn(NID_UI_CTRL, !_FloatCompareLE(size.width, 0.0f) && !_FloatCompareLE(size.height, 0.0f), E_INVALID_ARG,
492 E_INVALID_ARG, "[E_INVALID_ARG] Invalid argument is used. Width and height should be larger than 0.");
499 _IconListItemDrawingProperty::GetItemSize(void) const
506 _IconListItemDrawingProperty::GetTextXPosition(void) const
508 return __itemTextHorizontalMargin;
512 _IconListItemDrawingProperty::GetTextYPosition(void) const
518 _IconListItemDrawingProperty::GetTwoLineTextYPosition(void) const
520 return __2LineTextYPos;
524 _IconListItemDrawingProperty::GetTextAreaWidth(void) const
526 return __bitmapBounds.width - __itemTextHorizontalMargin * 2.0f;
530 _IconListItemDrawingProperty::GetTextVerticalMargin(void) const
532 return __itemTextVerticalMargin;
536 _IconListItemDrawingProperty::SetCheckBoxPosition(IconListViewCheckBoxPosition position)
538 SysTryReturn(NID_UI_CTRL,
539 (position >= ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_LEFT && position <= ICON_LIST_VIEW_CHECK_BOX_POSITION_BOTTOM_RIGHT),
540 E_SYSTEM, E_SYSTEM, "[E_SYSTEM] A system error has been occurred. Invalid position of CheckBox is used.");
542 if (__checkBoxPosition == position)
547 __checkBoxPosition = position;
553 IconListViewCheckBoxPosition
554 _IconListItemDrawingProperty::GetCheckBoxPosition(void) const
556 return __checkBoxPosition;
560 _IconListItemDrawingProperty::SetBorderStyle(IconListViewItemBorderStyle style)
562 SysTryReturn(NID_UI_CTRL, (style >= ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE && style <= ICON_LIST_VIEW_ITEM_BORDER_STYLE_SHADOW),
563 E_SYSTEM, E_SYSTEM, "[E_SYSTEM] A system error has been occurred. Invalid item border style is used.");
565 if (__borderStyle == style)
570 __borderStyle = style;
576 IconListViewItemBorderStyle
577 _IconListItemDrawingProperty::GetBorderStyle(void) const
580 return __borderStyle;
584 _IconListItemDrawingProperty::SetTextHorizontalAlignment(HorizontalAlignment alignment)
586 SysTryReturn(NID_UI_CTRL, (alignment >= ALIGNMENT_LEFT && alignment <= ALIGNMENT_RIGHT), E_SYSTEM, E_SYSTEM,
587 "[E_SYSTEM] A system error has been occurred. Invalid horizontal text alignment is used.");
589 if (__textHorizontalAlignment == alignment)
594 __textHorizontalAlignment = alignment;
601 _IconListItemDrawingProperty::GetTextHorizontalAlignment(void) const
603 return __textHorizontalAlignment;
607 _IconListItemDrawingProperty::SetTextVerticalAlignment(IconListViewItemTextVerticalAlignment alignment)
609 SysTryReturn(NID_UI_CTRL, (alignment >= ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_INSIDE_TOP && alignment <=
610 ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_BOTTOM), E_SYSTEM, E_SYSTEM,
611 "[E_SYSTEM] A system error has been occurred. Invalid vertical text alignment is used.");
613 if (__textVerticalAlignment == alignment)
618 if (alignment >= ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP &&
619 __textVerticalAlignment < ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP)
621 __size.height = __size.height + __verticalExtent;
623 else if (alignment < ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP &&
624 __textVerticalAlignment >= ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP)
626 __size.height -= __verticalExtent;
629 __textVerticalAlignment = alignment;
632 // Adjust layout of Item.
633 return SetItemLayout();
636 IconListViewItemTextVerticalAlignment
637 _IconListItemDrawingProperty::GetTextVerticalAlignment(void) const
639 return __textVerticalAlignment;
643 _IconListItemDrawingProperty::GetDropShadowBitmap(void) const
645 return __pDropShadowBitmapWithReplacementColor;
649 _IconListItemDrawingProperty::GetFocusBitmap(void) const
651 return __pFocusBitmap;
655 _IconListItemDrawingProperty::GetDropShadowBorderWidth(void) const
657 return __dropShadowBorderWidth;
661 _IconListItemDrawingProperty::GetDropShadowMargin(void) const
663 return __dropShadowMargin;
667 _IconListItemDrawingProperty::GetDropShadowBitmapBounds(void) const
669 FloatRectangle bounds(__bitmapBounds);
670 if (__textVerticalAlignment == ICON_LIST_VIEW_ITEM_TEXT_VERTICAL_ALIGNMENT_OUTSIDE_TOP)
672 bounds.y += __verticalExtent;
679 _IconListItemDrawingProperty::GetCheckBitmap(void) const
681 return __pCheckBitmap;
685 _IconListItemDrawingProperty::GetCheckedBackgroundBitmap(void) const
687 return __pCheckedBackgroundBitmap;
691 _IconListItemDrawingProperty::GetUnCheckedBackgroundBitmap(void) const
693 return __pUnCheckedBackgroundBitmap;
697 _IconListItemDrawingProperty::GetDisabledCheckBitmap(void) const
699 return __pDisabledCheckBitmap;
703 _IconListItemDrawingProperty::SetItemCheckedStyle(bool checkStyle)
705 __checkedStyle = checkStyle;
709 _IconListItemDrawingProperty::IsItemCheckedStyle(void) const
711 return __checkedStyle;
715 _IconListItemDrawingProperty::GetCheckMargin(void) const
717 return __checkMargin;
721 _IconListItemDrawingProperty::GetOverlayMargin(void) const
723 return __overlayMargin;
727 _IconListItemDrawingProperty::GetSelectBackgroundMargin(void) const
729 return __selectBackgroundMargin;
733 _IconListItemDrawingProperty::SetDrawingFlag(void)
739 _IconListItemDrawingProperty::IsChanged(void) const
745 _IconListItemDrawingProperty::AddRef(void)
751 _IconListItemDrawingProperty::Release(void)
764 _IconListItemDrawingProperty::SetItemBitmapAsAspectRatio(bool isAspect)
766 __asAspectRatio = isAspect;
770 _IconListItemDrawingProperty::IsItemBitmapAsAspectRatio(void) const
772 return __asAspectRatio;
776 _IconListItemDrawingProperty::SetAccessibilityEnabled(bool enabled)
778 if (__accessibilityEnabled != enabled)
780 __accessibilityEnabled = enabled;
786 _IconListItemDrawingProperty::IsAccessibilityEnabled(void)
788 return __accessibilityEnabled;
791 }}} // Tizen::Ui::Controls