Fork for IVI: mesa fixing
[profile/ivi/uifw.git] / src / ui / inc / FUi_LayoutLayoutTypes.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  * @file        FUi_LayoutLayoutTypes.h
19  * @brief       This is the header file for internal layout enumeration.
20  *
21  * This is the header file for internal layout enumeration.
22  */
23
24 #pragma once
25
26 #ifndef _FUI_INTERNAL_LAYOUT_LAYOUT_ENUM_H_
27 #define _FUI_INTERNAL_LAYOUT_LAYOUT_ENUM_H_
28
29 #include <FBaseTypes.h>
30
31 namespace Tizen { namespace Ui { namespace _Layout
32 {
33
34 #define NOT_SUPPORT_NEGATIVE_SIZE
35
36 struct LayoutRect
37 {
38         int x;
39         int y;
40         int w;
41         int h;
42 };
43
44 struct LayoutPoint
45 {
46         int x;
47         int y;
48 };
49
50 struct LayoutSize
51 {
52         int w;
53         int h;
54 };
55
56 struct ItemMargin
57 {
58         int left;
59         int top;
60         int right;
61         int bottom;
62 };
63
64 enum HorizontalAlign
65 {
66         ITEM_HORIZONTAL_ALIGN_LEFT = 0,
67         ITEM_HORIZONTAL_ALIGN_CENTER,
68         ITEM_HORIZONTAL_ALIGN_RIGHT,
69         ITEM_HORIZONTAL_ALIGN_LEFT_RIGHT
70 };
71
72 enum VerticalAlign
73 {
74         ITEM_VERTICAL_ALIGN_TOP = 0,
75         ITEM_VERTICAL_ALIGN_MIDDLE,
76         ITEM_VERTICAL_ALIGN_BOTTOM,
77         ITEM_VERTICAL_ALIGN_TOP_BOTTOM
78 };
79
80 struct ItemAlign
81 {
82         HorizontalAlign HAlign;
83         VerticalAlign VAlign;
84 };
85
86 enum LayoutAlignMode
87 {
88         BOTH = 0,
89         HORIZONTALONLY,
90         VERTICALONLY
91 };
92
93 enum LayoutMatchMode
94 {
95         NONE_MODE = 0,
96         MATCH_PARENT,
97         WRAP_CONTENT
98 };
99
100 // Linear Layout
101 enum LinearLayoutOrientation
102 {
103         LINEAR_NONE_ORIENTATION = -1,
104         LINEAR_VERTICAL,
105         LINEAR_HORIZONTAL
106 };
107
108 enum LinearLayoutDirection
109 {
110         LINEAR_NONE_DIRECTION = -1,
111         LINEAR_LEFT_TO_RIGHT,
112         LINEAR_RIGHT_TO_LEFT,
113         LINEAR_TOP_TO_BOTTOM,
114         LINEAR_BOTTOM_TO_TOP
115 };
116
117 // Relative Layout
118 enum RelativeLayoutEdge
119 {
120         EDGE_NONE = -1,
121         EDGE_LEFT = 0,
122         EDGE_TOP,
123         EDGE_RIGHT,
124         EDGE_BOTTOM,
125         EDGE_HCENTER,
126         EDGE_VCENTER,
127         EDGE_ALL
128 };
129
130 }}} // Tizen::Ui::_Layout
131
132 #endif //_FUI_INTERNAL_LAYOUT_LAYOUT_TYPEDEF_H_