Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_IconListItemDrawingProperty.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
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
8 //
9 //     http://floralicense.org/license/
10 //
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.
16 //
17
18 /**
19  * @file                FUiCtrl_IconListItemDrawingProperty.h
20  * @brief               This is the header file for the _IconListItemDrawingProperty class.
21  */
22
23 #ifndef _FUI_CTRL_INTERNAL_ICON_LIST_ITEM_DRAWING_PROPERTY_H_
24 #define _FUI_CTRL_INTERNAL_ICON_LIST_ITEM_DRAWING_PROPERTY_H_
25
26 #include <FBaseString.h>
27 #include <FGrpBitmap.h>
28 #include <FGrpColor.h>
29 #include <FGrpFont.h>
30 #include <FGrpRectangle.h>
31 #include <FUiCtrlControlsTypes.h>
32 #include <FUiCtrlIconListViewTypes.h>
33 #include <FGrp_FontImpl.h>
34 #include "FUiCtrl_ListItemCommon.h"
35
36 namespace Tizen { namespace Ui { namespace Controls
37 {
38
39 class _IconListItemDrawingProperty
40 {
41 // Lifecycle
42 public:
43         virtual ~_IconListItemDrawingProperty(void);
44
45         static _IconListItemDrawingProperty* CreateInstanceN(void);
46
47 // Operations
48 public:
49         result Initialize(void);
50
51 // Accessor
52 public:
53         const Tizen::Graphics::Color GetBackgroundColor(IconListViewItemDrawingStatus status) const;
54
55         result SetTextSize(int size);
56
57         int GetTextSize(void) const;
58
59         result SetFont(Tizen::Graphics::Font* pFont);
60
61         Tizen::Graphics::Font* GetFont(void) const;
62
63         result SetTextColor(IconListViewItemDrawingStatus status, const Tizen::Graphics::Color color);
64
65         const Tizen::Graphics::Color GetTextColor(IconListViewItemDrawingStatus status) const;
66
67         const Tizen::Graphics::Color GetTextBackgroundColor(void) const;
68
69         const Tizen::Graphics::Color GetBorderColor(bool isFocused) const;
70
71         result SetItemLayout(void);
72
73         result SetItemBitmapBounds(const Tizen::Graphics::Rectangle bounds);
74
75         const Tizen::Graphics::Rectangle GetItemBitmapBounds(void) const;
76
77         const Tizen::Graphics::Dimension GetItemBitmapSize(void) const;
78
79         result SetItemSize(const Tizen::Graphics::Dimension size);
80
81         const Tizen::Graphics::Dimension GetItemSize(void) const;
82
83         const int GetTextXPosition(void) const;
84
85         const int GetTextYPosition(void) const;
86
87         const int GetTwoLineTextYPosition(void) const;
88
89         const int GetTextAreaWidth(void) const;
90
91         const int GetTextVerticalMargin(void) const;
92
93         result SetCheckBoxPosition(IconListViewCheckBoxPosition position);
94
95         IconListViewCheckBoxPosition GetCheckBoxPosition(void) const;
96
97         result SetBorderStyle(IconListViewItemBorderStyle style);
98
99         IconListViewItemBorderStyle GetBorderStyle(void) const;
100
101         result SetTextHorizontalAlignment(HorizontalAlignment alignment);
102
103         HorizontalAlignment GetTextHorizontalAlignment(void) const;
104
105         result SetTextVerticalAlignment(IconListViewItemTextVerticalAlignment alignment);
106
107         IconListViewItemTextVerticalAlignment GetTextVerticalAlignment(void) const;
108
109         const Tizen::Graphics::Bitmap* GetDropShadowBitmap(void) const;
110
111         const Tizen::Graphics::Bitmap* GetFocusDropShadowBitmap(void) const;
112
113         int GetDropShadowBorderWidth(void) const;
114
115         int GetDropShadowMargin(void) const;
116
117         const Tizen::Graphics::Rectangle GetDropShadowBitmapBounds(void) const;
118
119         const Tizen::Graphics::Bitmap* GetCheckBitmap(void) const;
120
121         const Tizen::Graphics::Bitmap* GetCheckedBackgroundBitmap(void) const;
122
123         const Tizen::Graphics::Bitmap* GetUnCheckedBackgroundBitmap(void) const;
124
125         const Tizen::Graphics::Bitmap* GetDisabledCheckBitmap(void) const;
126
127         void SetItemCheckedStyle(bool checkStyle);
128
129         bool IsItemCheckedStyle(void) const;
130
131         int GetCheckMargin(void) const;
132
133         int GetOverlayMargin(void) const;
134
135         int GetSelectBackgroundMargin(void) const;
136
137         void SetDrawingFlag(void);
138
139         bool IsChanged(void) const;
140
141         int AddRef(void);
142
143         int Release(void);
144
145         void SetItemBitmapAsAspectRatio(bool isAspect);
146
147         bool IsItemBitmapAsAspectRatio(void) const;
148
149 // Inquiry
150 public:
151
152 private:
153         _IconListItemDrawingProperty(void);
154         _IconListItemDrawingProperty(const _IconListItemDrawingProperty& rhs);
155         _IconListItemDrawingProperty& operator =(const _IconListItemDrawingProperty& rhs);
156
157 // Attribute
158 private:
159         int __textSize;
160         Tizen::Graphics::Font* __pFont;
161
162         Tizen::Graphics::Color __normalTextColor;
163         Tizen::Graphics::Color __pressedTextColor;
164         Tizen::Graphics::Color __highlightedTextColor;
165
166         Tizen::Graphics::Dimension __size;
167         Tizen::Graphics::Rectangle __bitmapBounds;
168
169         Tizen::Graphics::Bitmap* __pDropShadowBitmap;
170         Tizen::Graphics::Bitmap* __pFocusDropShadowBitmap;
171         Tizen::Graphics::Bitmap* __pDropShadowBitmapWithReplacementColor;
172
173         int __dropShadowBorderWidth;
174         int __dropShadowMargin;
175
176         Tizen::Graphics::Bitmap* __pCheckBitmap;
177         Tizen::Graphics::Bitmap* __pCheckedBackgroundBitmap;
178         Tizen::Graphics::Bitmap* __pUnCheckedBackgroundBitmap;
179         Tizen::Graphics::Bitmap* __pDisabledCheckBitmap;
180
181         int __checkMargin;
182         int __overlayMargin;
183
184         Tizen::Graphics::Color __pressedBackgroundColor;
185         Tizen::Graphics::Color __normalBorderColor;
186         Tizen::Graphics::Color __focusBorderColor;
187         Tizen::Graphics::Color __inTextBackgroundColor;
188
189         int __textYPos;
190         int __2LineTextYPos;
191
192         IconListViewCheckBoxPosition __checkBoxPosition;
193         IconListViewItemBorderStyle __borderStyle;
194         HorizontalAlignment __textHorizontalAlignment;
195         IconListViewItemTextVerticalAlignment __textVerticalAlignment;
196
197         int __refCount;
198
199         bool __changed;
200
201         bool __asAspectRatio;
202         bool __checkedStyle;
203
204         int __verticalExtent;
205         int __insideOneLineTextHeight;
206         int __insideTwoLineTextHeight;
207
208         int __selectBackgroundMargin;
209         int __itemTextHorizontalMargin;
210         int __itemTextVerticalMargin;
211 }; // _IconListItemDrawingProperty
212
213 }}} // Tizen::Ui::Controls
214
215 #endif // _FUI_CTRL_INTERNAL_ICON_LIST_ITEM_DRAWING_PROPERTY_H_