soui 5.0.0.1
Soui5 Doc
 
Loading...
Searching...
No Matches
SLayoutSize.h
1#ifndef __SLAYOUTSIZE__H__
2#define __SLAYOUTSIZE__H__
3
4SNSBEGIN
5
6/**
7 * @class SLayoutSize
8 * @brief 布局大小类
9 */
10class SOUI_EXP SLayoutSize {
11 public:
12 /**
13 * @enum Unit
14 * @brief 布局大小单位枚举
15 */
16 enum Unit
17 {
18 unknow = -1, // 未知单位
19 px = 0, // 像素
20 dp, // 设备独立像素
21 dip = dp, // 设备独立像素(别名)
22 sp // 缩放像素
23 };
24
25 /**
26 * @brief 默认构造函数
27 * @param fSize 大小值(默认为0.0f)
28 */
29 SLayoutSize(float fSize = 0.0f);
30
31 /**
32 * @brief 构造函数
33 * @param fSize 大小值
34 * @param unit 大小单位
35 */
36 SLayoutSize(float fSize, Unit unit);
37
38 float fSize; // 大小值
39 Unit unit; // 大小单位
40
41 /**
42 * @brief 设置为包裹内容大小
43 */
44 void setWrapContent();
45
46 /**
47 * @brief 检查是否为包裹内容大小
48 * @return 如果为包裹内容大小返回TRUE,否则返回FALSE
49 */
50 bool isWrapContent() const;
51
52 /**
53 * @brief 设置为匹配父容器大小
54 */
55 void setMatchParent();
56
57 /**
58 * @brief 检查是否为匹配父容器大小
59 * @return 如果为匹配父容器大小返回TRUE,否则返回FALSE
60 */
61 bool isMatchParent() const;
62
63 /**
64 * @brief 设置指定大小
65 * @param fSize 大小值
66 * @param unit 大小单位
67 */
68 void setSize(float fSize, Unit unit);
69
70 /**
71 * @brief 检查是否为指定大小
72 * @return 如果为指定大小返回TRUE,否则返回FALSE
73 */
74 bool isSpecifiedSize() const;
75
76 /**
77 * @brief 设置为无效大小
78 */
79 void setInvalid();
80
81 /**
82 * @brief 检查是否为有效大小
83 * @return 如果为有效大小返回TRUE,否则返回FALSE
84 */
85 bool isValid() const;
86
87 /**
88 * @brief 将大小转换为像素值
89 * @param scale 缩放比例
90 * @return 像素值
91 */
92 int toPixelSize(int scale) const;
93
94 /**
95 * @brief 将大小转换为字符串表示
96 * @return 字符串表示
97 */
98 SStringW toString() const;
99
100 /**
101 * @brief 检查大小是否为零
102 * @return 如果大小为零返回TRUE,否则返回FALSE
103 */
104 bool isZero() const;
105
106 /**
107 * @brief 从字符串解析大小
108 * @param strSize 大小字符串
109 */
110 void parseString(const SStringW &strSize);
111
112 /**
113 * @brief 赋值运算符重载
114 * @param src 源大小对象
115 * @return 当前大小对象的引用
116 */
117 SLayoutSize &operator=(const SLayoutSize &src);
118
119 /**
120 * @brief 比较大小值是否相等
121 * @param value 大小值
122 * @return 如果大小值相等返回TRUE,否则返回FALSE
123 */
124 bool valueEqual(float value);
125
126 /**
127 * @brief 从字符串创建大小对象
128 * @param strSize 大小字符串
129 * @return 大小对象
130 */
131 static SLayoutSize fromString(const SStringW &strSize);
132
133 /**
134 * @brief 比较两个浮点数是否相等
135 * @param a 第一个浮点数
136 * @param b 第二个浮点数
137 * @return 如果相等返回TRUE,否则返回FALSE
138 */
139 static bool fequal(float a, float b);
140
141 /**
142 * @brief 从字符串解析单位
143 * @param strUnit 单位字符串
144 * @return 单位枚举值
145 */
146 static SLayoutSize::Unit unitFromString(const SStringW &strUnit);
147
148 static SLayoutSize::Unit defUnit; // 默认单位
149};
150
151SNSEND
152
153#endif // __SLAYOUTSIZE__H__
布局大小类
Definition SLayoutSize.h:10
SLayoutSize(float fSize=0.0f)
默认构造函数
Unit
布局大小单位枚举
Definition SLayoutSize.h:17
A class representing an ASCII string.
Definition sstringw.h:96