@triniwiz/nativescript-masonkit 1.0.0-alpha.24 → 1.0.0-alpha.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/package.json +1 -1
  2. package/platforms/android/masonkit-release.aar +0 -0
  3. package/platforms/ios/Mason.xcframework/Info.plist +5 -5
  4. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +122 -11
  5. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason.h +0 -5
  6. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/NSObject+MasonElement_Defaults.h +100 -0
  7. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
  8. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  9. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +29619 -25969
  10. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +314 -181
  11. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  12. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +314 -181
  13. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  14. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +3066 -2864
  15. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +244 -22
  16. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason.h +0 -5
  17. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/NSObject+MasonElement_Defaults.h +100 -0
  18. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
  19. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  20. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  21. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +17763 -14134
  22. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +314 -181
  23. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  24. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +314 -181
  25. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +17763 -14134
  26. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +314 -181
  27. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  28. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +314 -181
  29. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +28 -28
  30. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  31. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +3059 -2864
  32. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +2986 -2779
  33. package/common.d.ts +0 -132
  34. package/common.js +0 -1476
  35. package/common.js.map +0 -1
  36. package/img/index.android.d.ts +0 -11
  37. package/img/index.android.js +0 -41
  38. package/img/index.android.js.map +0 -1
  39. package/img/index.ios.d.ts +0 -13
  40. package/img/index.ios.js +0 -92
  41. package/img/index.ios.js.map +0 -1
  42. package/index.android.d.ts +0 -5
  43. package/index.android.js +0 -6
  44. package/index.android.js.map +0 -1
  45. package/index.ios.d.ts +0 -5
  46. package/index.ios.js +0 -6
  47. package/index.ios.js.map +0 -1
  48. package/scroll/index.android.d.ts +0 -14
  49. package/scroll/index.android.js +0 -55
  50. package/scroll/index.android.js.map +0 -1
  51. package/scroll/index.ios.d.ts +0 -17
  52. package/scroll/index.ios.js +0 -125
  53. package/scroll/index.ios.js.map +0 -1
  54. package/style.d.ts +0 -195
  55. package/style.js +0 -2204
  56. package/style.js.map +0 -1
  57. package/text/index.android.d.ts +0 -29
  58. package/text/index.android.js +0 -145
  59. package/text/index.android.js.map +0 -1
  60. package/text/index.ios.d.ts +0 -39
  61. package/text/index.ios.js +0 -272
  62. package/text/index.ios.js.map +0 -1
  63. package/tree/index.android.d.ts +0 -27
  64. package/tree/index.android.js +0 -72
  65. package/tree/index.android.js.map +0 -1
  66. package/tree/index.ios.d.ts +0 -27
  67. package/tree/index.ios.js +0 -72
  68. package/tree/index.ios.js.map +0 -1
  69. package/utils/index.android.d.ts +0 -187
  70. package/utils/index.android.js +0 -594
  71. package/utils/index.android.js.map +0 -1
  72. package/utils/index.ios.d.ts +0 -198
  73. package/utils/index.ios.js +0 -710
  74. package/utils/index.ios.js.map +0 -1
  75. package/view/index.android.d.ts +0 -14
  76. package/view/index.android.js +0 -60
  77. package/view/index.android.js.map +0 -1
  78. package/view/index.ios.d.ts +0 -18
  79. package/view/index.ios.js +0 -131
  80. package/view/index.ios.js.map +0 -1
  81. package/web.d.ts +0 -55
  82. package/web.js +0 -189
  83. package/web.js.map +0 -1
package/style.js DELETED
@@ -1,2204 +0,0 @@
1
- import { layout } from '@nativescript/core/utils';
2
- import { Length as CoreLength } from '@nativescript/core';
3
- import { _setGridAutoRows, _setGridAutoColumns, _parseGridLine, _parseGridTemplates, _setGridTemplateColumns, _setGridTemplateRows, _getGridTemplateRows, _getGridTemplateColumns } from './utils';
4
- var StyleKeys;
5
- (function (StyleKeys) {
6
- StyleKeys[StyleKeys["DISPLAY"] = 0] = "DISPLAY";
7
- StyleKeys[StyleKeys["POSITION"] = 4] = "POSITION";
8
- StyleKeys[StyleKeys["DIRECTION"] = 8] = "DIRECTION";
9
- StyleKeys[StyleKeys["FLEX_DIRECTION"] = 12] = "FLEX_DIRECTION";
10
- StyleKeys[StyleKeys["FLEX_WRAP"] = 16] = "FLEX_WRAP";
11
- StyleKeys[StyleKeys["OVERFLOW_X"] = 20] = "OVERFLOW_X";
12
- StyleKeys[StyleKeys["OVERFLOW_Y"] = 24] = "OVERFLOW_Y";
13
- StyleKeys[StyleKeys["ALIGN_ITEMS"] = 28] = "ALIGN_ITEMS";
14
- StyleKeys[StyleKeys["ALIGN_SELF"] = 32] = "ALIGN_SELF";
15
- StyleKeys[StyleKeys["ALIGN_CONTENT"] = 36] = "ALIGN_CONTENT";
16
- StyleKeys[StyleKeys["JUSTIFY_ITEMS"] = 40] = "JUSTIFY_ITEMS";
17
- StyleKeys[StyleKeys["JUSTIFY_SELF"] = 44] = "JUSTIFY_SELF";
18
- StyleKeys[StyleKeys["JUSTIFY_CONTENT"] = 48] = "JUSTIFY_CONTENT";
19
- StyleKeys[StyleKeys["INSET_LEFT_TYPE"] = 52] = "INSET_LEFT_TYPE";
20
- StyleKeys[StyleKeys["INSET_LEFT_VALUE"] = 56] = "INSET_LEFT_VALUE";
21
- StyleKeys[StyleKeys["INSET_RIGHT_TYPE"] = 60] = "INSET_RIGHT_TYPE";
22
- StyleKeys[StyleKeys["INSET_RIGHT_VALUE"] = 64] = "INSET_RIGHT_VALUE";
23
- StyleKeys[StyleKeys["INSET_TOP_TYPE"] = 68] = "INSET_TOP_TYPE";
24
- StyleKeys[StyleKeys["INSET_TOP_VALUE"] = 72] = "INSET_TOP_VALUE";
25
- StyleKeys[StyleKeys["INSET_BOTTOM_TYPE"] = 76] = "INSET_BOTTOM_TYPE";
26
- StyleKeys[StyleKeys["INSET_BOTTOM_VALUE"] = 80] = "INSET_BOTTOM_VALUE";
27
- StyleKeys[StyleKeys["MARGIN_LEFT_TYPE"] = 84] = "MARGIN_LEFT_TYPE";
28
- StyleKeys[StyleKeys["MARGIN_LEFT_VALUE"] = 88] = "MARGIN_LEFT_VALUE";
29
- StyleKeys[StyleKeys["MARGIN_RIGHT_TYPE"] = 92] = "MARGIN_RIGHT_TYPE";
30
- StyleKeys[StyleKeys["MARGIN_RIGHT_VALUE"] = 96] = "MARGIN_RIGHT_VALUE";
31
- StyleKeys[StyleKeys["MARGIN_TOP_TYPE"] = 100] = "MARGIN_TOP_TYPE";
32
- StyleKeys[StyleKeys["MARGIN_TOP_VALUE"] = 104] = "MARGIN_TOP_VALUE";
33
- StyleKeys[StyleKeys["MARGIN_BOTTOM_TYPE"] = 108] = "MARGIN_BOTTOM_TYPE";
34
- StyleKeys[StyleKeys["MARGIN_BOTTOM_VALUE"] = 112] = "MARGIN_BOTTOM_VALUE";
35
- StyleKeys[StyleKeys["PADDING_LEFT_TYPE"] = 116] = "PADDING_LEFT_TYPE";
36
- StyleKeys[StyleKeys["PADDING_LEFT_VALUE"] = 120] = "PADDING_LEFT_VALUE";
37
- StyleKeys[StyleKeys["PADDING_RIGHT_TYPE"] = 124] = "PADDING_RIGHT_TYPE";
38
- StyleKeys[StyleKeys["PADDING_RIGHT_VALUE"] = 128] = "PADDING_RIGHT_VALUE";
39
- StyleKeys[StyleKeys["PADDING_TOP_TYPE"] = 132] = "PADDING_TOP_TYPE";
40
- StyleKeys[StyleKeys["PADDING_TOP_VALUE"] = 136] = "PADDING_TOP_VALUE";
41
- StyleKeys[StyleKeys["PADDING_BOTTOM_TYPE"] = 140] = "PADDING_BOTTOM_TYPE";
42
- StyleKeys[StyleKeys["PADDING_BOTTOM_VALUE"] = 144] = "PADDING_BOTTOM_VALUE";
43
- StyleKeys[StyleKeys["BORDER_LEFT_TYPE"] = 148] = "BORDER_LEFT_TYPE";
44
- StyleKeys[StyleKeys["BORDER_LEFT_VALUE"] = 152] = "BORDER_LEFT_VALUE";
45
- StyleKeys[StyleKeys["BORDER_RIGHT_TYPE"] = 156] = "BORDER_RIGHT_TYPE";
46
- StyleKeys[StyleKeys["BORDER_RIGHT_VALUE"] = 160] = "BORDER_RIGHT_VALUE";
47
- StyleKeys[StyleKeys["BORDER_TOP_TYPE"] = 164] = "BORDER_TOP_TYPE";
48
- StyleKeys[StyleKeys["BORDER_TOP_VALUE"] = 168] = "BORDER_TOP_VALUE";
49
- StyleKeys[StyleKeys["BORDER_BOTTOM_TYPE"] = 172] = "BORDER_BOTTOM_TYPE";
50
- StyleKeys[StyleKeys["BORDER_BOTTOM_VALUE"] = 176] = "BORDER_BOTTOM_VALUE";
51
- StyleKeys[StyleKeys["FLEX_GROW"] = 180] = "FLEX_GROW";
52
- StyleKeys[StyleKeys["FLEX_SHRINK"] = 184] = "FLEX_SHRINK";
53
- StyleKeys[StyleKeys["FLEX_BASIS_TYPE"] = 188] = "FLEX_BASIS_TYPE";
54
- StyleKeys[StyleKeys["FLEX_BASIS_VALUE"] = 192] = "FLEX_BASIS_VALUE";
55
- StyleKeys[StyleKeys["WIDTH_TYPE"] = 196] = "WIDTH_TYPE";
56
- StyleKeys[StyleKeys["WIDTH_VALUE"] = 200] = "WIDTH_VALUE";
57
- StyleKeys[StyleKeys["HEIGHT_TYPE"] = 204] = "HEIGHT_TYPE";
58
- StyleKeys[StyleKeys["HEIGHT_VALUE"] = 208] = "HEIGHT_VALUE";
59
- StyleKeys[StyleKeys["MIN_WIDTH_TYPE"] = 212] = "MIN_WIDTH_TYPE";
60
- StyleKeys[StyleKeys["MIN_WIDTH_VALUE"] = 216] = "MIN_WIDTH_VALUE";
61
- StyleKeys[StyleKeys["MIN_HEIGHT_TYPE"] = 220] = "MIN_HEIGHT_TYPE";
62
- StyleKeys[StyleKeys["MIN_HEIGHT_VALUE"] = 224] = "MIN_HEIGHT_VALUE";
63
- StyleKeys[StyleKeys["MAX_WIDTH_TYPE"] = 228] = "MAX_WIDTH_TYPE";
64
- StyleKeys[StyleKeys["MAX_WIDTH_VALUE"] = 232] = "MAX_WIDTH_VALUE";
65
- StyleKeys[StyleKeys["MAX_HEIGHT_TYPE"] = 236] = "MAX_HEIGHT_TYPE";
66
- StyleKeys[StyleKeys["MAX_HEIGHT_VALUE"] = 240] = "MAX_HEIGHT_VALUE";
67
- StyleKeys[StyleKeys["GAP_ROW_TYPE"] = 244] = "GAP_ROW_TYPE";
68
- StyleKeys[StyleKeys["GAP_ROW_VALUE"] = 248] = "GAP_ROW_VALUE";
69
- StyleKeys[StyleKeys["GAP_COLUMN_TYPE"] = 252] = "GAP_COLUMN_TYPE";
70
- StyleKeys[StyleKeys["GAP_COLUMN_VALUE"] = 256] = "GAP_COLUMN_VALUE";
71
- StyleKeys[StyleKeys["ASPECT_RATIO"] = 260] = "ASPECT_RATIO";
72
- StyleKeys[StyleKeys["GRID_AUTO_FLOW"] = 264] = "GRID_AUTO_FLOW";
73
- StyleKeys[StyleKeys["GRID_COLUMN_START_TYPE"] = 268] = "GRID_COLUMN_START_TYPE";
74
- StyleKeys[StyleKeys["GRID_COLUMN_START_VALUE"] = 272] = "GRID_COLUMN_START_VALUE";
75
- StyleKeys[StyleKeys["GRID_COLUMN_END_TYPE"] = 276] = "GRID_COLUMN_END_TYPE";
76
- StyleKeys[StyleKeys["GRID_COLUMN_END_VALUE"] = 280] = "GRID_COLUMN_END_VALUE";
77
- StyleKeys[StyleKeys["GRID_ROW_START_TYPE"] = 284] = "GRID_ROW_START_TYPE";
78
- StyleKeys[StyleKeys["GRID_ROW_START_VALUE"] = 288] = "GRID_ROW_START_VALUE";
79
- StyleKeys[StyleKeys["GRID_ROW_END_TYPE"] = 292] = "GRID_ROW_END_TYPE";
80
- StyleKeys[StyleKeys["GRID_ROW_END_VALUE"] = 296] = "GRID_ROW_END_VALUE";
81
- StyleKeys[StyleKeys["SCROLLBAR_WIDTH"] = 300] = "SCROLLBAR_WIDTH";
82
- StyleKeys[StyleKeys["TEXT_ALIGN"] = 304] = "TEXT_ALIGN";
83
- StyleKeys[StyleKeys["BOX_SIZING"] = 308] = "BOX_SIZING";
84
- StyleKeys[StyleKeys["OVERFLOW"] = 312] = "OVERFLOW";
85
- StyleKeys[StyleKeys["ITEM_IS_TABLE"] = 316] = "ITEM_IS_TABLE";
86
- StyleKeys[StyleKeys["ITEM_IS_REPLACED"] = 320] = "ITEM_IS_REPLACED";
87
- StyleKeys[StyleKeys["DISPLAY_MODE"] = 324] = "DISPLAY_MODE";
88
- StyleKeys[StyleKeys["FORCE_INLINE"] = 328] = "FORCE_INLINE";
89
- StyleKeys[StyleKeys["MIN_CONTENT"] = 332] = "MIN_CONTENT";
90
- StyleKeys[StyleKeys["MAX_CONTENT"] = 336] = "MAX_CONTENT";
91
- })(StyleKeys || (StyleKeys = {}));
92
- var TextStyleKeys;
93
- (function (TextStyleKeys) {
94
- TextStyleKeys[TextStyleKeys["COLOR"] = 0] = "COLOR";
95
- TextStyleKeys[TextStyleKeys["DECORATION_LINE"] = 4] = "DECORATION_LINE";
96
- TextStyleKeys[TextStyleKeys["DECORATION_COLOR"] = 8] = "DECORATION_COLOR";
97
- TextStyleKeys[TextStyleKeys["TEXT_ALIGN"] = 12] = "TEXT_ALIGN";
98
- TextStyleKeys[TextStyleKeys["TEXT_JUSTIFY"] = 16] = "TEXT_JUSTIFY";
99
- TextStyleKeys[TextStyleKeys["BACKGROUND_COLOR"] = 20] = "BACKGROUND_COLOR";
100
- TextStyleKeys[TextStyleKeys["SIZE"] = 24] = "SIZE";
101
- TextStyleKeys[TextStyleKeys["TRANSFORM"] = 28] = "TRANSFORM";
102
- TextStyleKeys[TextStyleKeys["FONT_STYLE_TYPE"] = 32] = "FONT_STYLE_TYPE";
103
- TextStyleKeys[TextStyleKeys["FONT_STYLE_SLANT"] = 36] = "FONT_STYLE_SLANT";
104
- TextStyleKeys[TextStyleKeys["TEXT_WRAP"] = 40] = "TEXT_WRAP";
105
- })(TextStyleKeys || (TextStyleKeys = {}));
106
- function parseLengthPercentageAuto(type, value) {
107
- switch (type) {
108
- case 0:
109
- return 'auto';
110
- case 1:
111
- return { value, unit: 'px' };
112
- case 2:
113
- return { value, unit: '%' };
114
- }
115
- }
116
- function parseLengthPercentage(type, value) {
117
- switch (type) {
118
- case 0:
119
- return { value, unit: 'px' };
120
- case 1:
121
- return { value, unit: '%' };
122
- }
123
- }
124
- class StateKeys {
125
- constructor(bits) {
126
- this.bits = bits;
127
- }
128
- or(other) {
129
- return new StateKeys(this.bits | other.bits);
130
- }
131
- and(other) {
132
- return new StateKeys(this.bits & other.bits);
133
- }
134
- hasFlag(flag) {
135
- return (this.bits & flag.bits) !== 0n;
136
- }
137
- }
138
- StateKeys.DISPLAY = new StateKeys(1n << 0n);
139
- StateKeys.POSITION = new StateKeys(1n << 1n);
140
- StateKeys.DIRECTION = new StateKeys(1n << 2n);
141
- StateKeys.FLEX_DIRECTION = new StateKeys(1n << 3n);
142
- StateKeys.FLEX_WRAP = new StateKeys(1n << 4n);
143
- StateKeys.OVERFLOW_X = new StateKeys(1n << 5n);
144
- StateKeys.OVERFLOW_Y = new StateKeys(1n << 6n);
145
- StateKeys.ALIGN_ITEMS = new StateKeys(1n << 7n);
146
- StateKeys.ALIGN_SELF = new StateKeys(1n << 8n);
147
- StateKeys.ALIGN_CONTENT = new StateKeys(1n << 9n);
148
- StateKeys.JUSTIFY_ITEMS = new StateKeys(1n << 10n);
149
- StateKeys.JUSTIFY_SELF = new StateKeys(1n << 11n);
150
- StateKeys.JUSTIFY_CONTENT = new StateKeys(1n << 12n);
151
- StateKeys.INSET = new StateKeys(1n << 13n);
152
- StateKeys.MARGIN = new StateKeys(1n << 14n);
153
- StateKeys.PADDING = new StateKeys(1n << 15n);
154
- StateKeys.BORDER = new StateKeys(1n << 16n);
155
- StateKeys.FLEX_GROW = new StateKeys(1n << 17n);
156
- StateKeys.FLEX_SHRINK = new StateKeys(1n << 18n);
157
- StateKeys.FLEX_BASIS = new StateKeys(1n << 19n);
158
- StateKeys.SIZE = new StateKeys(1n << 20n);
159
- StateKeys.MIN_SIZE = new StateKeys(1n << 21n);
160
- StateKeys.MAX_SIZE = new StateKeys(1n << 22n);
161
- StateKeys.GAP = new StateKeys(1n << 23n);
162
- StateKeys.ASPECT_RATIO = new StateKeys(1n << 24n);
163
- StateKeys.GRID_AUTO_FLOW = new StateKeys(1n << 25n);
164
- StateKeys.GRID_COLUMN = new StateKeys(1n << 26n);
165
- StateKeys.GRID_ROW = new StateKeys(1n << 27n);
166
- StateKeys.SCROLLBAR_WIDTH = new StateKeys(1n << 28n);
167
- StateKeys.TEXT_ALIGN = new StateKeys(1n << 29n);
168
- StateKeys.BOX_SIZING = new StateKeys(1n << 30n);
169
- StateKeys.OVERFLOW = new StateKeys(1n << 31n);
170
- StateKeys.ITEM_IS_TABLE = new StateKeys(1n << 32n);
171
- StateKeys.ITEM_IS_REPLACED = new StateKeys(1n << 33n);
172
- StateKeys.DISPLAY_MODE = new StateKeys(1n << 34n);
173
- StateKeys.FORCE_INLINE = new StateKeys(1n << 35n);
174
- StateKeys.MIN_CONTENT = new StateKeys(1n << 36n);
175
- StateKeys.MAX_CONTENT = new StateKeys(1n << 37n);
176
- class TextStateKeys {
177
- constructor(bits) {
178
- this.bits = bits;
179
- }
180
- or(other) {
181
- return new TextStateKeys(this.bits | other.bits);
182
- }
183
- and(other) {
184
- return new TextStateKeys(this.bits & other.bits);
185
- }
186
- hasFlag(flag) {
187
- return (this.bits & flag.bits) !== 0n;
188
- }
189
- }
190
- TextStateKeys.COLOR = new TextStateKeys(1n << 0n);
191
- TextStateKeys.DECORATION_LINE = new TextStateKeys(1n << 1n);
192
- TextStateKeys.DECORATION_COLOR = new TextStateKeys(1n << 2n);
193
- TextStateKeys.TEXT_ALIGN = new TextStateKeys(1n << 3n);
194
- TextStateKeys.TEXT_JUSTIFY = new TextStateKeys(1n << 4n);
195
- TextStateKeys.BACKGROUND_COLOR = new TextStateKeys(1n << 5n);
196
- TextStateKeys.SIZE = new TextStateKeys(1n << 6n);
197
- TextStateKeys.TRANSFORM = new TextStateKeys(1n << 7n);
198
- TextStateKeys.FONT_STYLE = new TextStateKeys(1n << 8n);
199
- TextStateKeys.FONT_STYLE_SLANT = new TextStateKeys(1n << 9n);
200
- TextStateKeys.TEXT_WRAP = new TextStateKeys(1n << 10n);
201
- const getUint16 = (view, offset) => {
202
- return view.getUint16(offset, true);
203
- };
204
- const setUint16 = (view, offset, value) => {
205
- view.setUint16(offset, value, true);
206
- };
207
- const getInt16 = (view, offset) => {
208
- return view.getInt16(offset, true);
209
- };
210
- const setInt16 = (view, offset, value) => {
211
- view.setInt16(offset, value, true);
212
- };
213
- const getUint32 = (view, offset) => {
214
- return view.getUint32(offset, true);
215
- };
216
- const setUint32 = (view, offset, value) => {
217
- view.setUint32(offset, value, true);
218
- };
219
- const getInt32 = (view, offset) => {
220
- return view.getInt32(offset, true);
221
- };
222
- const setInt32 = (view, offset, value) => {
223
- view.setInt32(offset, value, true);
224
- };
225
- const getFloat32 = (view, offset) => {
226
- return view.getFloat32(offset, true);
227
- };
228
- const setFloat32 = (view, offset, value) => {
229
- view.setFloat32(offset, value, true);
230
- };
231
- export class Style {
232
- constructor() {
233
- this.isDirty = -1n;
234
- this.isTextDirty = -1n;
235
- this.inBatch = false;
236
- }
237
- static fromView(view, nativeView, isText = false) {
238
- //console.time('fromView');
239
- const ret = new Style();
240
- ret.view_ = view;
241
- if (__ANDROID__) {
242
- const style = nativeView.getStyle();
243
- if (!isText) {
244
- const styleBuffer = style.getValues();
245
- const buffer = ArrayBuffer.from(styleBuffer);
246
- ret.style_view = new DataView(buffer);
247
- }
248
- else {
249
- const styleBuffer = style.getValues();
250
- const buffer = ArrayBuffer.from(styleBuffer);
251
- ret.style_view = new DataView(buffer);
252
- const textStyleBuffer = nativeView.getTextValues();
253
- const textBuffer = ArrayBuffer.from(textStyleBuffer);
254
- ret.text_style_view = new DataView(textBuffer);
255
- }
256
- }
257
- else if (__APPLE__) {
258
- // todo
259
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
260
- // @ts-ignore
261
- const style = nativeView.style;
262
- if (!isText) {
263
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
264
- // @ts-ignore
265
- const styleBuffer = style.valuesCompat;
266
- const buffer = interop.bufferFromData(styleBuffer);
267
- ret.style_view = new DataView(buffer);
268
- }
269
- else {
270
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
271
- // @ts-ignore
272
- const styleBuffer = style.valuesCompat;
273
- const buffer = interop.bufferFromData(styleBuffer);
274
- ret.style_view = new DataView(buffer);
275
- const textStyleBuffer = nativeView.textValues;
276
- const textBuffer = interop.bufferFromData(textStyleBuffer);
277
- ret.text_style_view = new DataView(textBuffer);
278
- }
279
- }
280
- //console.timeEnd('fromView');
281
- return ret;
282
- }
283
- resetState() {
284
- this.isDirty = -1n;
285
- this.isTextDirty = -1n;
286
- }
287
- syncStyle(isText = false) {
288
- // console.time('syncStyle');
289
- if (__ANDROID__) {
290
- if (!isText) {
291
- const view = this.view.android;
292
- view.syncStyle(this.isDirty.toString());
293
- }
294
- else {
295
- const view = this.view.android;
296
- view.syncStyle(this.isDirty.toString(), this.isTextDirty.toString());
297
- }
298
- }
299
- else if (__APPLE__) {
300
- if (!isText) {
301
- const view = this.view.ios;
302
- // todo
303
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
304
- // @ts-ignore
305
- view.syncStyle(this.isDirty.toString());
306
- }
307
- else {
308
- const view = this.view.ios;
309
- view.syncStyleTextState(this.isDirty.toString(), this.isTextDirty.toString());
310
- }
311
- }
312
- this.resetState();
313
- // console.timeEnd('syncStyle');
314
- }
315
- setOrAppendState(value) {
316
- if (this.isDirty == -1n) {
317
- this.isDirty = value.bits;
318
- }
319
- else {
320
- this.isDirty = this.isDirty | value.bits;
321
- }
322
- if (!this.inBatch) {
323
- this.syncStyle(this.text_style_view != null);
324
- }
325
- }
326
- setOrAppendTextState(value) {
327
- if (this.isTextDirty == -1n) {
328
- this.isTextDirty = value.bits;
329
- }
330
- else {
331
- this.isTextDirty = this.isTextDirty | value.bits;
332
- }
333
- if (!this.inBatch) {
334
- this.syncStyle(this.text_style_view != null);
335
- }
336
- }
337
- batch(fn) {
338
- this.inBatch = true;
339
- fn(this);
340
- this.inBatch = false;
341
- this.syncStyle(this.text_style_view != null);
342
- }
343
- get view() {
344
- return this.view_;
345
- }
346
- get boxSizing() {
347
- switch (getUint32(this.style_view, StyleKeys.BOX_SIZING)) {
348
- case 0:
349
- return 'border-box';
350
- case 1:
351
- return 'content-box';
352
- }
353
- }
354
- set boxSizing(value) {
355
- let boxSizing = -1;
356
- switch (value) {
357
- case 'border-box':
358
- boxSizing = 0;
359
- break;
360
- case 'content-box':
361
- boxSizing = 1;
362
- break;
363
- }
364
- if (boxSizing !== -1) {
365
- setUint32(this.style_view, StyleKeys.BOX_SIZING, boxSizing);
366
- this.setOrAppendState(StateKeys.BOX_SIZING);
367
- }
368
- }
369
- get color() {
370
- if (!this.text_style_view) {
371
- // BLACK ?
372
- return 0;
373
- }
374
- return getUint32(this.text_style_view, TextStyleKeys.COLOR);
375
- }
376
- set color(value) {
377
- if (!this.text_style_view) {
378
- return;
379
- }
380
- setUint32(this.text_style_view, TextStyleKeys.COLOR, value);
381
- this.setOrAppendTextState(TextStateKeys.COLOR);
382
- }
383
- get backgroundColor() {
384
- if (!this.text_style_view) {
385
- // BLACK ?
386
- return 0;
387
- }
388
- return getUint32(this.text_style_view, TextStyleKeys.BACKGROUND_COLOR);
389
- }
390
- set backgroundColor(value) {
391
- if (!this.text_style_view) {
392
- return;
393
- }
394
- setUint32(this.text_style_view, TextStyleKeys.BACKGROUND_COLOR, value);
395
- this.setOrAppendTextState(TextStateKeys.BACKGROUND_COLOR);
396
- }
397
- get textWrap() {
398
- if (!this.text_style_view) {
399
- // BLACK ?
400
- return 0;
401
- }
402
- return getInt32(this.text_style_view, TextStyleKeys.TEXT_ALIGN);
403
- }
404
- set textWrap(value) {
405
- if (!this.text_style_view) {
406
- return;
407
- }
408
- let wrap = -1;
409
- switch (value) {
410
- case 'nowrap':
411
- wrap = 0;
412
- break;
413
- case 'wrap':
414
- wrap = 1;
415
- break;
416
- case 'balance':
417
- wrap = 2;
418
- break;
419
- }
420
- if (typeof value === 'number' && value >= 0 && value < 3) {
421
- wrap = value;
422
- }
423
- if (wrap !== -1) {
424
- setInt32(this.text_style_view, TextStyleKeys.TEXT_WRAP, wrap);
425
- this.setOrAppendTextState(TextStateKeys.TEXT_WRAP);
426
- }
427
- }
428
- get styleView() {
429
- return this.style_view;
430
- }
431
- get display() {
432
- switch (getInt32(this.style_view, StyleKeys.DISPLAY)) {
433
- case 0:
434
- return 'none';
435
- case 1:
436
- return 'flex';
437
- case 2:
438
- return 'grid';
439
- case 3:
440
- return 'block';
441
- case 4:
442
- return 'inline';
443
- case 5:
444
- return 'inline-block';
445
- case 6:
446
- return 'inline-flex';
447
- case 7:
448
- return 'inline-grid';
449
- default:
450
- return 'none';
451
- }
452
- }
453
- set display(value) {
454
- let display = -1;
455
- switch (value) {
456
- case 'none':
457
- display = 0;
458
- break;
459
- case 'flex':
460
- display = 1;
461
- break;
462
- case 'grid':
463
- display = 2;
464
- break;
465
- case 'block':
466
- display = 3;
467
- break;
468
- case 'inline':
469
- display = 4;
470
- break;
471
- case 'inline-block':
472
- display = 5;
473
- break;
474
- case 'inline-flex':
475
- display = 6;
476
- break;
477
- case 'inline-grid':
478
- display = 7;
479
- break;
480
- }
481
- if (display != -1) {
482
- setInt32(this.style_view, StyleKeys.DISPLAY, display);
483
- this.setOrAppendState(StateKeys.DISPLAY);
484
- }
485
- }
486
- get position() {
487
- switch (getInt32(this.style_view, StyleKeys.POSITION)) {
488
- case 0:
489
- return 'relative';
490
- case 1:
491
- return 'absolute';
492
- }
493
- }
494
- set position(value) {
495
- let position = -1;
496
- switch (value) {
497
- case 'relative':
498
- position = 0;
499
- break;
500
- case 'absolute':
501
- position = 1;
502
- break;
503
- }
504
- if (position != -1) {
505
- setInt32(this.style_view, StyleKeys.POSITION, position);
506
- this.setOrAppendState(StateKeys.POSITION);
507
- }
508
- }
509
- get flexDirection() {
510
- switch (getInt32(this.style_view, StyleKeys.FLEX_DIRECTION)) {
511
- case 0:
512
- return 'column';
513
- case 1:
514
- return 'row';
515
- case 2:
516
- return 'column-reverse';
517
- case 3:
518
- return 'row-reverse';
519
- }
520
- }
521
- set flexDirection(value) {
522
- let flex = -1;
523
- switch (value) {
524
- case 'column':
525
- flex = 0;
526
- break;
527
- case 'row':
528
- flex = 1;
529
- break;
530
- case 'column-reverse':
531
- flex = 2;
532
- break;
533
- case 'row-reverse':
534
- flex = 3;
535
- break;
536
- }
537
- if (flex != -1) {
538
- setInt32(this.style_view, StyleKeys.FLEX_DIRECTION, flex);
539
- this.setOrAppendState(StateKeys.FLEX_DIRECTION);
540
- }
541
- }
542
- get flexWrap() {
543
- switch (getInt32(this.style_view, StyleKeys.FLEX_WRAP)) {
544
- case 0:
545
- return 'no-wrap';
546
- case 1:
547
- return 'wrap';
548
- case 2:
549
- return 'wrap-reverse';
550
- }
551
- }
552
- set flexWrap(value) {
553
- let wrap = -1;
554
- switch (value) {
555
- case 'no-wrap':
556
- wrap = 0;
557
- break;
558
- case 'wrap':
559
- wrap = 1;
560
- break;
561
- case 'wrap-reverse':
562
- wrap = 2;
563
- break;
564
- }
565
- if (wrap != -1) {
566
- setInt32(this.style_view, StyleKeys.FLEX_WRAP, wrap);
567
- this.setOrAppendState(StateKeys.FLEX_WRAP);
568
- }
569
- }
570
- // get flex(): string | 'auto' | 'none' | number | 'initial' {
571
- // return this.style[StyleKeys.FLEX];
572
- // }
573
- // get flexFlow(): string
574
- get minWidth() {
575
- const type = getInt32(this.style_view, StyleKeys.MIN_WIDTH_TYPE);
576
- const value = getFloat32(this.style_view, StyleKeys.MIN_WIDTH_VALUE);
577
- return parseLengthPercentageAuto(type, value);
578
- }
579
- set minWidth(value) {
580
- switch (typeof value) {
581
- case 'string':
582
- setInt32(this.style_view, StyleKeys.MIN_WIDTH_TYPE, 0);
583
- break;
584
- case 'number':
585
- setInt32(this.style_view, StyleKeys.MIN_WIDTH_TYPE, 1);
586
- setFloat32(this.style_view, StyleKeys.MIN_WIDTH_VALUE, layout.toDevicePixels(value));
587
- break;
588
- case 'object':
589
- switch (value.unit) {
590
- case 'dip':
591
- setInt32(this.style_view, StyleKeys.MIN_WIDTH_TYPE, 1);
592
- setFloat32(this.style_view, StyleKeys.MIN_WIDTH_VALUE, layout.toDevicePixels(value.value));
593
- break;
594
- case 'px':
595
- setInt32(this.style_view, StyleKeys.MIN_WIDTH_TYPE, 1);
596
- setFloat32(this.style_view, StyleKeys.MIN_WIDTH_VALUE, value.value);
597
- break;
598
- case '%':
599
- setInt32(this.style_view, StyleKeys.MIN_WIDTH_TYPE, 2);
600
- setFloat32(this.style_view, StyleKeys.MIN_WIDTH_VALUE, value.value);
601
- break;
602
- }
603
- break;
604
- }
605
- this.setOrAppendState(StateKeys.MIN_SIZE);
606
- }
607
- get minHeight() {
608
- const type = getInt32(this.style_view, StyleKeys.MIN_HEIGHT_TYPE);
609
- const value = getFloat32(this.style_view, StyleKeys.MIN_HEIGHT_VALUE);
610
- return parseLengthPercentageAuto(type, value);
611
- }
612
- set minHeight(value) {
613
- switch (typeof value) {
614
- case 'string':
615
- setInt32(this.style_view, StyleKeys.MIN_HEIGHT_TYPE, 0);
616
- break;
617
- case 'number':
618
- setInt32(this.style_view, StyleKeys.MIN_HEIGHT_TYPE, 1);
619
- setFloat32(this.style_view, StyleKeys.MIN_HEIGHT_VALUE, layout.toDevicePixels(value));
620
- break;
621
- case 'object':
622
- switch (value.unit) {
623
- case 'dip':
624
- setInt32(this.style_view, StyleKeys.MIN_HEIGHT_TYPE, 1);
625
- setFloat32(this.style_view, StyleKeys.MIN_HEIGHT_VALUE, layout.toDevicePixels(value.value));
626
- break;
627
- case 'px':
628
- setInt32(this.style_view, StyleKeys.MIN_HEIGHT_TYPE, 1);
629
- setFloat32(this.style_view, StyleKeys.MIN_HEIGHT_VALUE, value.value);
630
- break;
631
- case '%':
632
- setInt32(this.style_view, StyleKeys.MIN_HEIGHT_TYPE, 2);
633
- setFloat32(this.style_view, StyleKeys.MIN_HEIGHT_VALUE, value.value);
634
- break;
635
- }
636
- break;
637
- }
638
- this.setOrAppendState(StateKeys.MIN_SIZE);
639
- }
640
- get width() {
641
- const type = getInt32(this.style_view, StyleKeys.WIDTH_TYPE);
642
- const value = getFloat32(this.style_view, StyleKeys.WIDTH_VALUE);
643
- return parseLengthPercentageAuto(type, value);
644
- }
645
- set width(value) {
646
- switch (typeof value) {
647
- case 'string':
648
- setInt32(this.style_view, StyleKeys.WIDTH_TYPE, 0);
649
- break;
650
- case 'number':
651
- setInt32(this.style_view, StyleKeys.WIDTH_TYPE, 1);
652
- setFloat32(this.style_view, StyleKeys.WIDTH_VALUE, layout.toDevicePixels(value));
653
- break;
654
- case 'object':
655
- switch (value.unit) {
656
- case 'dip':
657
- setInt32(this.style_view, StyleKeys.WIDTH_TYPE, 1);
658
- setFloat32(this.style_view, StyleKeys.WIDTH_VALUE, layout.toDevicePixels(value.value));
659
- break;
660
- case 'px':
661
- setInt32(this.style_view, StyleKeys.WIDTH_TYPE, 1);
662
- setFloat32(this.style_view, StyleKeys.WIDTH_VALUE, value.value);
663
- break;
664
- case '%':
665
- setInt32(this.style_view, StyleKeys.WIDTH_TYPE, 2);
666
- setFloat32(this.style_view, StyleKeys.WIDTH_VALUE, value.value);
667
- break;
668
- }
669
- break;
670
- }
671
- this.setOrAppendState(StateKeys.SIZE);
672
- }
673
- get height() {
674
- const type = getInt32(this.style_view, StyleKeys.HEIGHT_TYPE);
675
- const value = getFloat32(this.style_view, StyleKeys.HEIGHT_VALUE);
676
- return parseLengthPercentageAuto(type, value);
677
- }
678
- set height(value) {
679
- switch (typeof value) {
680
- case 'string':
681
- setInt32(this.style_view, StyleKeys.HEIGHT_TYPE, 0);
682
- setFloat32(this.style_view, StyleKeys.HEIGHT_VALUE, 0);
683
- break;
684
- case 'number':
685
- setInt32(this.style_view, StyleKeys.HEIGHT_TYPE, 1);
686
- setFloat32(this.style_view, StyleKeys.HEIGHT_VALUE, layout.toDevicePixels(value));
687
- break;
688
- case 'object':
689
- switch (value.unit) {
690
- case 'dip':
691
- setInt32(this.style_view, StyleKeys.HEIGHT_TYPE, 1);
692
- setFloat32(this.style_view, StyleKeys.HEIGHT_VALUE, layout.toDevicePixels(value.value));
693
- break;
694
- case 'px':
695
- setInt32(this.style_view, StyleKeys.HEIGHT_TYPE, 1);
696
- setFloat32(this.style_view, StyleKeys.HEIGHT_VALUE, value.value);
697
- break;
698
- case '%':
699
- setInt32(this.style_view, StyleKeys.HEIGHT_TYPE, 2);
700
- setFloat32(this.style_view, StyleKeys.HEIGHT_VALUE, value.value);
701
- break;
702
- }
703
- break;
704
- }
705
- this.setOrAppendState(StateKeys.SIZE);
706
- }
707
- get maxWidth() {
708
- const type = getInt32(this.style_view, StyleKeys.MAX_WIDTH_TYPE);
709
- const value = getFloat32(this.style_view, StyleKeys.MAX_WIDTH_VALUE);
710
- return parseLengthPercentageAuto(type, value);
711
- }
712
- set maxWidth(value) {
713
- switch (typeof value) {
714
- case 'string':
715
- setInt32(this.style_view, StyleKeys.MAX_WIDTH_TYPE, 0);
716
- break;
717
- case 'number':
718
- setInt32(this.style_view, StyleKeys.MAX_WIDTH_TYPE, 1);
719
- setFloat32(this.style_view, StyleKeys.MAX_WIDTH_VALUE, layout.toDevicePixels(value));
720
- break;
721
- case 'object':
722
- switch (value.unit) {
723
- case 'dip':
724
- setInt32(this.style_view, StyleKeys.MAX_WIDTH_TYPE, 1);
725
- setFloat32(this.style_view, StyleKeys.MAX_WIDTH_VALUE, layout.toDevicePixels(value.value));
726
- break;
727
- case 'px':
728
- setInt32(this.style_view, StyleKeys.MAX_WIDTH_TYPE, 1);
729
- setFloat32(this.style_view, StyleKeys.MAX_WIDTH_VALUE, value.value);
730
- break;
731
- case '%':
732
- setInt32(this.style_view, StyleKeys.MAX_WIDTH_TYPE, 2);
733
- setFloat32(this.style_view, StyleKeys.MAX_WIDTH_VALUE, value.value);
734
- break;
735
- }
736
- break;
737
- }
738
- this.setOrAppendState(StateKeys.MAX_SIZE);
739
- }
740
- get maxHeight() {
741
- const type = getInt32(this.style_view, StyleKeys.MAX_HEIGHT_TYPE);
742
- const value = getFloat32(this.style_view, StyleKeys.MAX_HEIGHT_VALUE);
743
- return parseLengthPercentageAuto(type, value);
744
- }
745
- set maxHeight(value) {
746
- switch (typeof value) {
747
- case 'string':
748
- setInt32(this.style_view, StyleKeys.MAX_HEIGHT_TYPE, 0);
749
- break;
750
- case 'number':
751
- setInt32(this.style_view, StyleKeys.MAX_HEIGHT_TYPE, 1);
752
- setFloat32(this.style_view, StyleKeys.MAX_HEIGHT_VALUE, layout.toDevicePixels(value));
753
- break;
754
- case 'object':
755
- switch (value.unit) {
756
- case 'dip':
757
- setInt32(this.style_view, StyleKeys.MAX_HEIGHT_TYPE, 1);
758
- setFloat32(this.style_view, StyleKeys.MAX_HEIGHT_VALUE, layout.toDevicePixels(value.value));
759
- break;
760
- case 'px':
761
- setInt32(this.style_view, StyleKeys.MAX_HEIGHT_TYPE, 1);
762
- setFloat32(this.style_view, StyleKeys.MAX_HEIGHT_VALUE, value.value);
763
- break;
764
- case '%':
765
- setInt32(this.style_view, StyleKeys.MAX_HEIGHT_TYPE, 2);
766
- setFloat32(this.style_view, StyleKeys.MAX_HEIGHT_VALUE, value.value);
767
- break;
768
- }
769
- break;
770
- }
771
- this.setOrAppendState(StateKeys.MAX_SIZE);
772
- }
773
- get borderLeft() {
774
- const type = getInt32(this.style_view, StyleKeys.BORDER_LEFT_TYPE);
775
- const value = getFloat32(this.style_view, StyleKeys.BORDER_LEFT_VALUE);
776
- return parseLengthPercentage(type, value);
777
- }
778
- set borderLeft(value) {
779
- switch (typeof value) {
780
- case 'number':
781
- setInt32(this.style_view, StyleKeys.BORDER_LEFT_TYPE, 0);
782
- setFloat32(this.style_view, StyleKeys.BORDER_LEFT_VALUE, layout.toDevicePixels(value));
783
- break;
784
- case 'object':
785
- switch (value.unit) {
786
- case 'dip':
787
- setInt32(this.style_view, StyleKeys.BORDER_LEFT_TYPE, 0);
788
- setFloat32(this.style_view, StyleKeys.BORDER_LEFT_VALUE, layout.toDevicePixels(value.value));
789
- break;
790
- case 'px':
791
- setInt32(this.style_view, StyleKeys.BORDER_LEFT_TYPE, 0);
792
- setFloat32(this.style_view, StyleKeys.BORDER_LEFT_VALUE, value.value);
793
- break;
794
- case '%':
795
- setInt32(this.style_view, StyleKeys.BORDER_LEFT_TYPE, 1);
796
- setFloat32(this.style_view, StyleKeys.BORDER_LEFT_VALUE, value.value);
797
- break;
798
- }
799
- break;
800
- }
801
- this.setOrAppendState(StateKeys.BORDER);
802
- }
803
- get borderRight() {
804
- const type = getInt32(this.style_view, StyleKeys.BORDER_RIGHT_TYPE);
805
- const value = getFloat32(this.style_view, StyleKeys.BORDER_RIGHT_VALUE);
806
- return parseLengthPercentage(type, value);
807
- }
808
- set borderRight(value) {
809
- switch (typeof value) {
810
- case 'number':
811
- setInt32(this.style_view, StyleKeys.BORDER_RIGHT_TYPE, 0);
812
- setFloat32(this.style_view, StyleKeys.BORDER_RIGHT_VALUE, layout.toDevicePixels(value));
813
- break;
814
- case 'object':
815
- switch (value.unit) {
816
- case 'dip':
817
- setInt32(this.style_view, StyleKeys.BORDER_RIGHT_TYPE, 0);
818
- setFloat32(this.style_view, StyleKeys.BORDER_RIGHT_VALUE, layout.toDevicePixels(value.value));
819
- break;
820
- case 'px':
821
- setInt32(this.style_view, StyleKeys.BORDER_RIGHT_TYPE, 0);
822
- setFloat32(this.style_view, StyleKeys.BORDER_RIGHT_VALUE, value.value);
823
- break;
824
- case '%':
825
- setInt32(this.style_view, StyleKeys.BORDER_RIGHT_TYPE, 1);
826
- setFloat32(this.style_view, StyleKeys.BORDER_RIGHT_VALUE, value.value);
827
- break;
828
- }
829
- break;
830
- }
831
- this.setOrAppendState(StateKeys.BORDER);
832
- }
833
- get borderTop() {
834
- const type = getInt32(this.style_view, StyleKeys.BORDER_TOP_TYPE);
835
- const value = getFloat32(this.style_view, StyleKeys.BORDER_TOP_VALUE);
836
- return parseLengthPercentage(type, value);
837
- }
838
- set borderTop(value) {
839
- switch (typeof value) {
840
- case 'number':
841
- setInt32(this.style_view, StyleKeys.BORDER_TOP_TYPE, 0);
842
- setFloat32(this.style_view, StyleKeys.BORDER_TOP_VALUE, layout.toDevicePixels(value));
843
- break;
844
- case 'object':
845
- switch (value.unit) {
846
- case 'dip':
847
- setInt32(this.style_view, StyleKeys.BORDER_TOP_TYPE, 0);
848
- setFloat32(this.style_view, StyleKeys.BORDER_TOP_VALUE, layout.toDevicePixels(value.value));
849
- break;
850
- case 'px':
851
- setInt32(this.style_view, StyleKeys.BORDER_TOP_TYPE, 0);
852
- setFloat32(this.style_view, StyleKeys.BORDER_TOP_VALUE, value.value);
853
- break;
854
- case '%':
855
- setInt32(this.style_view, StyleKeys.BORDER_TOP_TYPE, 1);
856
- setFloat32(this.style_view, StyleKeys.BORDER_TOP_VALUE, value.value);
857
- break;
858
- }
859
- break;
860
- }
861
- this.setOrAppendState(StateKeys.BORDER);
862
- }
863
- get borderBottom() {
864
- const type = getInt32(this.style_view, StyleKeys.BORDER_BOTTOM_TYPE);
865
- const value = getFloat32(this.style_view, StyleKeys.BORDER_BOTTOM_VALUE);
866
- return parseLengthPercentage(type, value);
867
- }
868
- set borderBottom(value) {
869
- switch (typeof value) {
870
- case 'number':
871
- setInt32(this.style_view, StyleKeys.BORDER_BOTTOM_TYPE, 0);
872
- setFloat32(this.style_view, StyleKeys.BORDER_BOTTOM_VALUE, layout.toDevicePixels(value));
873
- break;
874
- case 'object':
875
- switch (value.unit) {
876
- case 'dip':
877
- setInt32(this.style_view, StyleKeys.BORDER_BOTTOM_TYPE, 0);
878
- setFloat32(this.style_view, StyleKeys.BORDER_BOTTOM_VALUE, layout.toDevicePixels(value.value));
879
- break;
880
- case 'px':
881
- setInt32(this.style_view, StyleKeys.BORDER_BOTTOM_TYPE, 0);
882
- setFloat32(this.style_view, StyleKeys.BORDER_BOTTOM_VALUE, value.value);
883
- break;
884
- case '%':
885
- setInt32(this.style_view, StyleKeys.BORDER_BOTTOM_TYPE, 1);
886
- setFloat32(this.style_view, StyleKeys.BORDER_BOTTOM_VALUE, value.value);
887
- break;
888
- }
889
- break;
890
- }
891
- this.setOrAppendState(StateKeys.BORDER);
892
- }
893
- get left() {
894
- const type = getInt32(this.style_view, StyleKeys.INSET_LEFT_TYPE);
895
- const value = getFloat32(this.style_view, StyleKeys.INSET_LEFT_VALUE);
896
- return parseLengthPercentageAuto(type, value);
897
- }
898
- set left(value) {
899
- if (value === 'auto') {
900
- setInt32(this.style_view, StyleKeys.INSET_LEFT_TYPE, 0);
901
- setFloat32(this.style_view, StyleKeys.INSET_LEFT_VALUE, 0);
902
- return;
903
- }
904
- switch (typeof value) {
905
- case 'number':
906
- setInt32(this.style_view, StyleKeys.INSET_LEFT_TYPE, 1);
907
- setFloat32(this.style_view, StyleKeys.INSET_LEFT_VALUE, layout.toDevicePixels(value));
908
- break;
909
- case 'object':
910
- switch (value.unit) {
911
- case 'dip':
912
- setInt32(this.style_view, StyleKeys.INSET_LEFT_TYPE, 1);
913
- setFloat32(this.style_view, StyleKeys.INSET_LEFT_VALUE, layout.toDevicePixels(value.value));
914
- break;
915
- case 'px':
916
- setInt32(this.style_view, StyleKeys.INSET_LEFT_TYPE, 1);
917
- setFloat32(this.style_view, StyleKeys.INSET_LEFT_VALUE, value.value);
918
- break;
919
- case '%':
920
- setInt32(this.style_view, StyleKeys.INSET_LEFT_TYPE, 2);
921
- setFloat32(this.style_view, StyleKeys.INSET_LEFT_VALUE, value.value);
922
- break;
923
- }
924
- break;
925
- }
926
- this.setOrAppendState(StateKeys.INSET);
927
- }
928
- get right() {
929
- const type = getInt32(this.style_view, StyleKeys.INSET_RIGHT_TYPE);
930
- const value = getFloat32(this.style_view, StyleKeys.INSET_RIGHT_VALUE);
931
- return parseLengthPercentageAuto(type, value);
932
- }
933
- set right(value) {
934
- if (value === 'auto') {
935
- setInt32(this.style_view, StyleKeys.INSET_RIGHT_TYPE, 0);
936
- setFloat32(this.style_view, StyleKeys.INSET_RIGHT_VALUE, 0);
937
- return;
938
- }
939
- switch (typeof value) {
940
- case 'number':
941
- setInt32(this.style_view, StyleKeys.INSET_RIGHT_TYPE, 1);
942
- setFloat32(this.style_view, StyleKeys.INSET_RIGHT_VALUE, layout.toDevicePixels(value));
943
- break;
944
- case 'object':
945
- switch (value.unit) {
946
- case 'dip':
947
- setInt32(this.style_view, StyleKeys.INSET_RIGHT_TYPE, 1);
948
- setFloat32(this.style_view, StyleKeys.INSET_RIGHT_VALUE, layout.toDevicePixels(value.value));
949
- break;
950
- case 'px':
951
- setInt32(this.style_view, StyleKeys.INSET_RIGHT_TYPE, 1);
952
- setFloat32(this.style_view, StyleKeys.INSET_RIGHT_VALUE, value.value);
953
- break;
954
- case '%':
955
- setInt32(this.style_view, StyleKeys.INSET_RIGHT_TYPE, 2);
956
- setFloat32(this.style_view, StyleKeys.INSET_RIGHT_VALUE, value.value);
957
- break;
958
- }
959
- break;
960
- }
961
- this.setOrAppendState(StateKeys.INSET);
962
- }
963
- get top() {
964
- const type = getInt32(this.style_view, StyleKeys.INSET_TOP_TYPE);
965
- const value = getFloat32(this.style_view, StyleKeys.INSET_TOP_VALUE);
966
- return parseLengthPercentageAuto(type, value);
967
- }
968
- set top(value) {
969
- if (value === 'auto') {
970
- setInt32(this.style_view, StyleKeys.INSET_TOP_TYPE, 0);
971
- setFloat32(this.style_view, StyleKeys.INSET_TOP_VALUE, 0);
972
- return;
973
- }
974
- switch (typeof value) {
975
- case 'number':
976
- setInt32(this.style_view, StyleKeys.INSET_TOP_TYPE, 1);
977
- setFloat32(this.style_view, StyleKeys.INSET_TOP_VALUE, layout.toDevicePixels(value));
978
- break;
979
- case 'object':
980
- switch (value.unit) {
981
- case 'dip':
982
- setInt32(this.style_view, StyleKeys.INSET_TOP_TYPE, 1);
983
- setFloat32(this.style_view, StyleKeys.INSET_TOP_VALUE, layout.toDevicePixels(value.value));
984
- break;
985
- case 'px':
986
- setInt32(this.style_view, StyleKeys.INSET_TOP_TYPE, 1);
987
- setFloat32(this.style_view, StyleKeys.INSET_TOP_VALUE, value.value);
988
- break;
989
- case '%':
990
- setInt32(this.style_view, StyleKeys.INSET_TOP_TYPE, 2);
991
- setFloat32(this.style_view, StyleKeys.INSET_TOP_VALUE, value.value);
992
- break;
993
- }
994
- break;
995
- }
996
- this.setOrAppendState(StateKeys.INSET);
997
- }
998
- get bottom() {
999
- const type = getInt32(this.style_view, StyleKeys.INSET_BOTTOM_TYPE);
1000
- const value = getFloat32(this.style_view, StyleKeys.INSET_BOTTOM_VALUE);
1001
- return parseLengthPercentageAuto(type, value);
1002
- }
1003
- set bottom(value) {
1004
- if (value === 'auto') {
1005
- setInt32(this.style_view, StyleKeys.INSET_BOTTOM_TYPE, 0);
1006
- setFloat32(this.style_view, StyleKeys.INSET_BOTTOM_VALUE, 0);
1007
- return;
1008
- }
1009
- switch (typeof value) {
1010
- case 'number':
1011
- setInt32(this.style_view, StyleKeys.INSET_BOTTOM_TYPE, 1);
1012
- setFloat32(this.style_view, StyleKeys.INSET_BOTTOM_VALUE, layout.toDevicePixels(value));
1013
- break;
1014
- case 'object':
1015
- switch (value.unit) {
1016
- case 'dip':
1017
- setInt32(this.style_view, StyleKeys.INSET_BOTTOM_TYPE, 1);
1018
- setFloat32(this.style_view, StyleKeys.INSET_BOTTOM_VALUE, layout.toDevicePixels(value.value));
1019
- break;
1020
- case 'px':
1021
- setInt32(this.style_view, StyleKeys.INSET_BOTTOM_TYPE, 1);
1022
- setFloat32(this.style_view, StyleKeys.INSET_BOTTOM_VALUE, value.value);
1023
- break;
1024
- case '%':
1025
- setInt32(this.style_view, StyleKeys.INSET_BOTTOM_TYPE, 2);
1026
- setFloat32(this.style_view, StyleKeys.INSET_BOTTOM_VALUE, value.value);
1027
- break;
1028
- }
1029
- break;
1030
- }
1031
- this.setOrAppendState(StateKeys.INSET);
1032
- }
1033
- get marginLeft() {
1034
- const type = getInt32(this.style_view, StyleKeys.MARGIN_LEFT_TYPE);
1035
- const value = getFloat32(this.style_view, StyleKeys.MARGIN_LEFT_VALUE);
1036
- return parseLengthPercentageAuto(type, value);
1037
- }
1038
- set marginLeft(value) {
1039
- switch (typeof value) {
1040
- case 'string':
1041
- setInt32(this.style_view, StyleKeys.MARGIN_LEFT_TYPE, 0);
1042
- break;
1043
- case 'number':
1044
- setInt32(this.style_view, StyleKeys.MARGIN_LEFT_TYPE, 1);
1045
- setFloat32(this.style_view, StyleKeys.MARGIN_LEFT_VALUE, layout.toDevicePixels(value));
1046
- break;
1047
- case 'object':
1048
- switch (value.unit) {
1049
- case 'dip':
1050
- setInt32(this.style_view, StyleKeys.MARGIN_LEFT_TYPE, 1);
1051
- setFloat32(this.style_view, StyleKeys.MARGIN_LEFT_VALUE, layout.toDevicePixels(value.value));
1052
- break;
1053
- case 'px':
1054
- setInt32(this.style_view, StyleKeys.MARGIN_LEFT_TYPE, 1);
1055
- setFloat32(this.style_view, StyleKeys.MARGIN_LEFT_VALUE, value.value);
1056
- break;
1057
- case '%':
1058
- setInt32(this.style_view, StyleKeys.MARGIN_LEFT_TYPE, 2);
1059
- setFloat32(this.style_view, StyleKeys.MARGIN_LEFT_VALUE, value.value);
1060
- break;
1061
- }
1062
- break;
1063
- }
1064
- this.setOrAppendState(StateKeys.INSET);
1065
- }
1066
- get marginRight() {
1067
- const type = getInt32(this.style_view, StyleKeys.MARGIN_RIGHT_TYPE);
1068
- const value = getFloat32(this.style_view, StyleKeys.MARGIN_RIGHT_VALUE);
1069
- return parseLengthPercentageAuto(type, value);
1070
- }
1071
- set marginRight(value) {
1072
- switch (typeof value) {
1073
- case 'string':
1074
- setInt32(this.style_view, StyleKeys.MARGIN_RIGHT_TYPE, 0);
1075
- break;
1076
- case 'number':
1077
- setInt32(this.style_view, StyleKeys.MARGIN_RIGHT_TYPE, 1);
1078
- setFloat32(this.style_view, StyleKeys.MARGIN_RIGHT_VALUE, layout.toDevicePixels(value));
1079
- break;
1080
- case 'object':
1081
- switch (value.unit) {
1082
- case 'dip':
1083
- setInt32(this.style_view, StyleKeys.MARGIN_RIGHT_TYPE, 1);
1084
- setFloat32(this.style_view, StyleKeys.MARGIN_RIGHT_VALUE, layout.toDevicePixels(value.value));
1085
- break;
1086
- case 'px':
1087
- setInt32(this.style_view, StyleKeys.MARGIN_RIGHT_TYPE, 1);
1088
- setFloat32(this.style_view, StyleKeys.MARGIN_RIGHT_VALUE, value.value);
1089
- break;
1090
- case '%':
1091
- setInt32(this.style_view, StyleKeys.MARGIN_RIGHT_TYPE, 2);
1092
- setFloat32(this.style_view, StyleKeys.MARGIN_RIGHT_VALUE, value.value);
1093
- break;
1094
- }
1095
- break;
1096
- }
1097
- this.setOrAppendState(StateKeys.MARGIN);
1098
- }
1099
- get marginTop() {
1100
- const type = getInt32(this.style_view, StyleKeys.MARGIN_TOP_TYPE);
1101
- const value = getFloat32(this.style_view, StyleKeys.MARGIN_TOP_VALUE);
1102
- return parseLengthPercentageAuto(type, value);
1103
- }
1104
- set marginTop(value) {
1105
- switch (typeof value) {
1106
- case 'string':
1107
- setInt32(this.style_view, StyleKeys.MARGIN_TOP_TYPE, 0);
1108
- break;
1109
- case 'number':
1110
- setInt32(this.style_view, StyleKeys.MARGIN_TOP_TYPE, 1);
1111
- setFloat32(this.style_view, StyleKeys.MARGIN_TOP_VALUE, layout.toDevicePixels(value));
1112
- break;
1113
- case 'object':
1114
- switch (value.unit) {
1115
- case 'dip':
1116
- setInt32(this.style_view, StyleKeys.MARGIN_TOP_TYPE, 1);
1117
- setFloat32(this.style_view, StyleKeys.MARGIN_TOP_VALUE, layout.toDevicePixels(value.value));
1118
- break;
1119
- case 'px':
1120
- setInt32(this.style_view, StyleKeys.MARGIN_TOP_TYPE, 1);
1121
- setFloat32(this.style_view, StyleKeys.MARGIN_TOP_VALUE, value.value);
1122
- break;
1123
- case '%':
1124
- setInt32(this.style_view, StyleKeys.MARGIN_TOP_TYPE, 2);
1125
- setFloat32(this.style_view, StyleKeys.MARGIN_TOP_VALUE, value.value);
1126
- break;
1127
- }
1128
- break;
1129
- }
1130
- this.setOrAppendState(StateKeys.MARGIN);
1131
- }
1132
- get marginBottom() {
1133
- const type = getInt32(this.style_view, StyleKeys.MARGIN_BOTTOM_TYPE);
1134
- const value = getFloat32(this.style_view, StyleKeys.MARGIN_BOTTOM_VALUE);
1135
- return parseLengthPercentageAuto(type, value);
1136
- }
1137
- set marginBottom(value) {
1138
- switch (typeof value) {
1139
- case 'string':
1140
- setInt32(this.style_view, StyleKeys.MARGIN_BOTTOM_TYPE, 0);
1141
- break;
1142
- case 'number':
1143
- setInt32(this.style_view, StyleKeys.MARGIN_BOTTOM_TYPE, 1);
1144
- setFloat32(this.style_view, StyleKeys.MARGIN_BOTTOM_VALUE, layout.toDevicePixels(value));
1145
- break;
1146
- case 'object':
1147
- switch (value.unit) {
1148
- case 'dip':
1149
- setInt32(this.style_view, StyleKeys.MARGIN_BOTTOM_TYPE, 1);
1150
- setFloat32(this.style_view, StyleKeys.MARGIN_BOTTOM_VALUE, layout.toDevicePixels(value.value));
1151
- break;
1152
- case 'px':
1153
- setInt32(this.style_view, StyleKeys.MARGIN_BOTTOM_TYPE, 1);
1154
- setFloat32(this.style_view, StyleKeys.MARGIN_BOTTOM_VALUE, value.value);
1155
- break;
1156
- case '%':
1157
- setInt32(this.style_view, StyleKeys.MARGIN_BOTTOM_TYPE, 2);
1158
- setFloat32(this.style_view, StyleKeys.MARGIN_BOTTOM_VALUE, value.value);
1159
- break;
1160
- }
1161
- break;
1162
- }
1163
- this.setOrAppendState(StateKeys.MARGIN);
1164
- }
1165
- set padding(value) {
1166
- this.inBatch = true;
1167
- this.paddingBottom = this.paddingLeft = this.paddingRight = this.paddingTop = value;
1168
- this.inBatch = false;
1169
- this.setOrAppendState(StateKeys.PADDING);
1170
- }
1171
- get paddingLeft() {
1172
- const type = getInt32(this.style_view, StyleKeys.PADDING_LEFT_TYPE);
1173
- const value = getFloat32(this.style_view, StyleKeys.PADDING_LEFT_VALUE);
1174
- return parseLengthPercentage(type, value);
1175
- }
1176
- set paddingLeft(value) {
1177
- switch (typeof value) {
1178
- case 'number':
1179
- setInt32(this.style_view, StyleKeys.PADDING_LEFT_TYPE, 0);
1180
- setFloat32(this.style_view, StyleKeys.PADDING_LEFT_VALUE, layout.toDevicePixels(value));
1181
- break;
1182
- case 'object':
1183
- switch (value.unit) {
1184
- case 'dip':
1185
- setInt32(this.style_view, StyleKeys.PADDING_LEFT_TYPE, 0);
1186
- setFloat32(this.style_view, StyleKeys.PADDING_LEFT_VALUE, layout.toDevicePixels(value.value));
1187
- break;
1188
- case 'px':
1189
- setInt32(this.style_view, StyleKeys.PADDING_LEFT_TYPE, 0);
1190
- setFloat32(this.style_view, StyleKeys.PADDING_LEFT_VALUE, value.value);
1191
- break;
1192
- case '%':
1193
- setInt32(this.style_view, StyleKeys.PADDING_LEFT_TYPE, 1);
1194
- setFloat32(this.style_view, StyleKeys.PADDING_LEFT_VALUE, value.value);
1195
- break;
1196
- }
1197
- break;
1198
- }
1199
- this.setOrAppendState(StateKeys.PADDING);
1200
- }
1201
- get paddingRight() {
1202
- const type = getInt32(this.style_view, StyleKeys.PADDING_RIGHT_TYPE);
1203
- const value = getFloat32(this.style_view, StyleKeys.PADDING_RIGHT_VALUE);
1204
- return parseLengthPercentage(type, value);
1205
- }
1206
- set paddingRight(value) {
1207
- switch (typeof value) {
1208
- case 'number':
1209
- setInt32(this.style_view, StyleKeys.PADDING_RIGHT_TYPE, 0);
1210
- setFloat32(this.style_view, StyleKeys.PADDING_RIGHT_VALUE, layout.toDevicePixels(value));
1211
- break;
1212
- case 'object':
1213
- switch (value.unit) {
1214
- case 'dip':
1215
- setInt32(this.style_view, StyleKeys.PADDING_RIGHT_TYPE, 0);
1216
- setFloat32(this.style_view, StyleKeys.PADDING_RIGHT_VALUE, layout.toDevicePixels(value.value));
1217
- break;
1218
- case 'px':
1219
- setInt32(this.style_view, StyleKeys.PADDING_RIGHT_TYPE, 0);
1220
- setFloat32(this.style_view, StyleKeys.PADDING_RIGHT_VALUE, value.value);
1221
- break;
1222
- case '%':
1223
- setInt32(this.style_view, StyleKeys.PADDING_RIGHT_TYPE, 1);
1224
- setFloat32(this.style_view, StyleKeys.PADDING_RIGHT_VALUE, value.value);
1225
- break;
1226
- }
1227
- break;
1228
- }
1229
- this.setOrAppendState(StateKeys.PADDING);
1230
- }
1231
- get paddingTop() {
1232
- const type = getInt32(this.style_view, StyleKeys.PADDING_TOP_TYPE);
1233
- const value = getFloat32(this.style_view, StyleKeys.PADDING_TOP_VALUE);
1234
- return parseLengthPercentage(type, value);
1235
- }
1236
- set paddingTop(value) {
1237
- switch (typeof value) {
1238
- case 'number':
1239
- setInt32(this.style_view, StyleKeys.PADDING_TOP_TYPE, 0);
1240
- setFloat32(this.style_view, StyleKeys.PADDING_TOP_VALUE, layout.toDevicePixels(value));
1241
- break;
1242
- case 'object':
1243
- switch (value.unit) {
1244
- case 'dip':
1245
- setInt32(this.style_view, StyleKeys.PADDING_TOP_TYPE, 0);
1246
- setFloat32(this.style_view, StyleKeys.PADDING_TOP_VALUE, layout.toDevicePixels(value.value));
1247
- break;
1248
- case 'px':
1249
- setInt32(this.style_view, StyleKeys.PADDING_TOP_TYPE, 0);
1250
- setFloat32(this.style_view, StyleKeys.PADDING_TOP_VALUE, value.value);
1251
- break;
1252
- case '%':
1253
- setInt32(this.style_view, StyleKeys.PADDING_TOP_TYPE, 1);
1254
- setFloat32(this.style_view, StyleKeys.PADDING_TOP_VALUE, value.value);
1255
- break;
1256
- }
1257
- break;
1258
- }
1259
- this.setOrAppendState(StateKeys.PADDING);
1260
- }
1261
- get paddingBottom() {
1262
- const type = getInt32(this.style_view, StyleKeys.PADDING_BOTTOM_TYPE);
1263
- const value = getFloat32(this.style_view, StyleKeys.PADDING_BOTTOM_VALUE);
1264
- return parseLengthPercentage(type, value);
1265
- }
1266
- set paddingBottom(value) {
1267
- switch (typeof value) {
1268
- case 'number':
1269
- setInt32(this.style_view, StyleKeys.PADDING_BOTTOM_TYPE, 0);
1270
- setFloat32(this.style_view, StyleKeys.PADDING_BOTTOM_VALUE, layout.toDevicePixels(value));
1271
- break;
1272
- case 'object':
1273
- switch (value.unit) {
1274
- case 'dip':
1275
- setInt32(this.style_view, StyleKeys.PADDING_BOTTOM_TYPE, 0);
1276
- setFloat32(this.style_view, StyleKeys.PADDING_BOTTOM_VALUE, layout.toDevicePixels(value.value));
1277
- break;
1278
- case 'px':
1279
- setInt32(this.style_view, StyleKeys.PADDING_BOTTOM_TYPE, 0);
1280
- setFloat32(this.style_view, StyleKeys.PADDING_BOTTOM_VALUE, value.value);
1281
- break;
1282
- case '%':
1283
- setInt32(this.style_view, StyleKeys.PADDING_BOTTOM_TYPE, 1);
1284
- setFloat32(this.style_view, StyleKeys.PADDING_BOTTOM_VALUE, value.value);
1285
- break;
1286
- }
1287
- break;
1288
- }
1289
- this.setOrAppendState(StateKeys.PADDING);
1290
- }
1291
- get gridGap() {
1292
- return this.gap;
1293
- }
1294
- set gridGap(value) {
1295
- this.gap = value;
1296
- }
1297
- get gap() {
1298
- if (CoreLength.equals(this.rowGap, this.columnGap)) {
1299
- return `${CoreLength.convertToString(this.rowGap)}`;
1300
- }
1301
- return `${CoreLength.convertToString(this.rowGap)} ${CoreLength.convertToString(this.columnGap)}`;
1302
- }
1303
- set gap(value) {
1304
- if (typeof value === 'string') {
1305
- const values = value.split(/\s+/).filter((item) => item.trim().length !== 0);
1306
- const length = values.length;
1307
- if (length === 0) {
1308
- return;
1309
- }
1310
- if (length === 1) {
1311
- const row = values[0];
1312
- this.rowGap = CoreLength.parse(row);
1313
- this.columnGap = CoreLength.parse(row);
1314
- }
1315
- if (length > 1) {
1316
- const row = values[0];
1317
- const column = values[1];
1318
- this.rowGap = CoreLength.parse(row);
1319
- this.columnGap = CoreLength.parse(column);
1320
- }
1321
- }
1322
- }
1323
- get rowGap() {
1324
- const type = getInt32(this.style_view, StyleKeys.GAP_ROW_TYPE);
1325
- const value = getFloat32(this.style_view, StyleKeys.GAP_ROW_VALUE);
1326
- return parseLengthPercentage(type, value);
1327
- }
1328
- set rowGap(value) {
1329
- switch (typeof value) {
1330
- case 'number':
1331
- setInt32(this.style_view, StyleKeys.GAP_ROW_TYPE, 0);
1332
- setFloat32(this.style_view, StyleKeys.GAP_ROW_VALUE, layout.toDevicePixels(value));
1333
- break;
1334
- case 'object':
1335
- switch (value.unit) {
1336
- case 'dip':
1337
- setInt32(this.style_view, StyleKeys.GAP_ROW_TYPE, 0);
1338
- setFloat32(this.style_view, StyleKeys.GAP_ROW_VALUE, layout.toDevicePixels(value.value));
1339
- break;
1340
- case 'px':
1341
- setInt32(this.style_view, StyleKeys.GAP_ROW_TYPE, 0);
1342
- setFloat32(this.style_view, StyleKeys.GAP_ROW_VALUE, value.value);
1343
- break;
1344
- case '%':
1345
- setInt32(this.style_view, StyleKeys.GAP_ROW_TYPE, 1);
1346
- setFloat32(this.style_view, StyleKeys.GAP_ROW_VALUE, value.value);
1347
- break;
1348
- }
1349
- break;
1350
- }
1351
- this.setOrAppendState(StateKeys.GAP);
1352
- }
1353
- get columnGap() {
1354
- const type = getInt32(this.style_view, StyleKeys.GAP_COLUMN_TYPE);
1355
- const value = getFloat32(this.style_view, StyleKeys.GAP_COLUMN_VALUE);
1356
- return parseLengthPercentage(type, value);
1357
- }
1358
- set columnGap(value) {
1359
- switch (typeof value) {
1360
- case 'number':
1361
- setInt32(this.style_view, StyleKeys.GAP_COLUMN_TYPE, 0);
1362
- setFloat32(this.style_view, StyleKeys.GAP_COLUMN_VALUE, layout.toDevicePixels(value));
1363
- break;
1364
- case 'object':
1365
- switch (value.unit) {
1366
- case 'dip':
1367
- setInt32(this.style_view, StyleKeys.GAP_COLUMN_TYPE, 0);
1368
- setFloat32(this.style_view, StyleKeys.GAP_COLUMN_VALUE, layout.toDevicePixels(value.value));
1369
- break;
1370
- case 'px':
1371
- setInt32(this.style_view, StyleKeys.GAP_COLUMN_TYPE, 0);
1372
- setFloat32(this.style_view, StyleKeys.GAP_COLUMN_VALUE, value.value);
1373
- break;
1374
- case '%':
1375
- setInt32(this.style_view, StyleKeys.GAP_COLUMN_TYPE, 1);
1376
- setFloat32(this.style_view, StyleKeys.GAP_COLUMN_VALUE, value.value);
1377
- break;
1378
- }
1379
- break;
1380
- }
1381
- this.setOrAppendState(StateKeys.GAP);
1382
- }
1383
- get aspectRatio() {
1384
- return getFloat32(this.style_view, StyleKeys.ASPECT_RATIO);
1385
- }
1386
- set aspectRatio(value) {
1387
- setFloat32(this.style_view, StyleKeys.ASPECT_RATIO, value);
1388
- this.setOrAppendState(StateKeys.ASPECT_RATIO);
1389
- }
1390
- get flexBasis() {
1391
- const type = getInt32(this.style_view, StyleKeys.FLEX_BASIS_TYPE);
1392
- const value = getFloat32(this.style_view, StyleKeys.FLEX_BASIS_VALUE);
1393
- return parseLengthPercentageAuto(type, value);
1394
- }
1395
- set flexBasis(value) {
1396
- switch (typeof value) {
1397
- case 'string':
1398
- setInt32(this.style_view, StyleKeys.FLEX_BASIS_TYPE, 0);
1399
- break;
1400
- case 'number':
1401
- setInt32(this.style_view, StyleKeys.FLEX_BASIS_TYPE, 1);
1402
- setFloat32(this.style_view, StyleKeys.FLEX_BASIS_VALUE, layout.toDevicePixels(value));
1403
- break;
1404
- case 'object':
1405
- switch (value.unit) {
1406
- case 'dip':
1407
- setInt32(this.style_view, StyleKeys.FLEX_BASIS_TYPE, 1);
1408
- setFloat32(this.style_view, StyleKeys.FLEX_BASIS_VALUE, layout.toDevicePixels(value.value));
1409
- break;
1410
- case 'px':
1411
- setInt32(this.style_view, StyleKeys.FLEX_BASIS_TYPE, 1);
1412
- setFloat32(this.style_view, StyleKeys.FLEX_BASIS_VALUE, value.value);
1413
- break;
1414
- case '%':
1415
- setInt32(this.style_view, StyleKeys.FLEX_BASIS_TYPE, 2);
1416
- setFloat32(this.style_view, StyleKeys.FLEX_BASIS_VALUE, value.value);
1417
- break;
1418
- }
1419
- break;
1420
- }
1421
- this.setOrAppendState(StateKeys.FLEX_BASIS);
1422
- }
1423
- get alignItems() {
1424
- switch (getInt32(this.style_view, StyleKeys.ALIGN_ITEMS)) {
1425
- case -1 /* AlignItems.Normal */:
1426
- return 'normal';
1427
- case 0 /* AlignItems.Start */:
1428
- return 'start';
1429
- case 1 /* AlignItems.End */:
1430
- return 'end';
1431
- case 5 /* AlignItems.FlexStart */:
1432
- return 'flex-start';
1433
- case 6 /* AlignItems.FlexEnd */:
1434
- return 'flex-end';
1435
- case 2 /* AlignItems.Center */:
1436
- return 'center';
1437
- case 3 /* AlignItems.Baseline */:
1438
- return 'baseline';
1439
- case 4 /* AlignItems.Stretch */:
1440
- return 'stretch';
1441
- }
1442
- }
1443
- set alignItems(value) {
1444
- switch (value) {
1445
- case 'normal':
1446
- setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, -1 /* AlignItems.Normal */);
1447
- break;
1448
- case 'start':
1449
- setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 0 /* AlignItems.Start */);
1450
- break;
1451
- case 'end':
1452
- setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 1 /* AlignItems.End */);
1453
- break;
1454
- case 'flex-start':
1455
- setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 5 /* AlignItems.FlexStart */);
1456
- break;
1457
- case 'flex-end':
1458
- setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 6 /* AlignItems.FlexEnd */);
1459
- break;
1460
- case 'center':
1461
- setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 2 /* AlignItems.Center */);
1462
- break;
1463
- case 'baseline':
1464
- setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 3 /* AlignItems.Baseline */);
1465
- break;
1466
- case 'stretch':
1467
- setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 4 /* AlignItems.Stretch */);
1468
- break;
1469
- }
1470
- this.setOrAppendState(StateKeys.ALIGN_ITEMS);
1471
- }
1472
- get alignSelf() {
1473
- switch (getInt32(this.style_view, StyleKeys.ALIGN_SELF)) {
1474
- case -1 /* AlignSelf.Normal */:
1475
- return 'normal';
1476
- case 0 /* AlignSelf.Start */:
1477
- return 'start';
1478
- case 1 /* AlignSelf.End */:
1479
- return 'end';
1480
- case 2 /* AlignSelf.Center */:
1481
- return 'center';
1482
- case 3 /* AlignSelf.Baseline */:
1483
- return 'baseline';
1484
- case 4 /* AlignSelf.Stretch */:
1485
- return 'stretch';
1486
- case 5 /* AlignSelf.FlexStart */:
1487
- return 'flex-start';
1488
- case 6 /* AlignSelf.FlexEnd */:
1489
- return 'flex-end';
1490
- }
1491
- }
1492
- set alignSelf(value) {
1493
- let align = -2;
1494
- switch (value) {
1495
- case 'normal':
1496
- align = -1 /* AlignSelf.Normal */;
1497
- break;
1498
- case 'start':
1499
- align = 0 /* AlignSelf.Start */;
1500
- break;
1501
- case 'end':
1502
- align = 1 /* AlignSelf.End */;
1503
- break;
1504
- case 'center':
1505
- align = 2 /* AlignSelf.Center */;
1506
- break;
1507
- case 'baseline':
1508
- align = 3 /* AlignSelf.Baseline */;
1509
- break;
1510
- case 'stretch':
1511
- align = 4 /* AlignSelf.Stretch */;
1512
- break;
1513
- case 'flex-start':
1514
- align = 5 /* AlignSelf.FlexStart */;
1515
- break;
1516
- case 'flex-end':
1517
- align = 6 /* AlignSelf.FlexEnd */;
1518
- break;
1519
- }
1520
- if (align === -2) {
1521
- setInt32(this.style_view, StyleKeys.ALIGN_SELF, align);
1522
- this.setOrAppendState(StateKeys.ALIGN_SELF);
1523
- }
1524
- }
1525
- get alignContent() {
1526
- switch (getInt32(this.style_view, StyleKeys.ALIGN_CONTENT)) {
1527
- case -1 /* AlignContent.Normal */:
1528
- return 'normal';
1529
- case 5 /* AlignContent.SpaceAround */:
1530
- return 'space-around';
1531
- case 4 /* AlignContent.SpaceBetween */:
1532
- return 'space-between';
1533
- case 6 /* AlignContent.SpaceEvenly */:
1534
- return 'space-evenly';
1535
- case 2 /* AlignContent.Center */:
1536
- return 'center';
1537
- case 1 /* AlignContent.End */:
1538
- return 'end';
1539
- case 0 /* AlignContent.Start */:
1540
- return 'start';
1541
- case 3 /* AlignContent.Stretch */:
1542
- return 'stretch';
1543
- }
1544
- }
1545
- set alignContent(value) {
1546
- switch (value) {
1547
- case 'normal':
1548
- setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, -1 /* AlignContent.Normal */);
1549
- break;
1550
- case 'space-around':
1551
- setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 5 /* AlignContent.SpaceAround */);
1552
- break;
1553
- case 'space-between':
1554
- setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 4 /* AlignContent.SpaceBetween */);
1555
- break;
1556
- case 'space-evenly':
1557
- setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 6 /* AlignContent.SpaceEvenly */);
1558
- break;
1559
- case 'center':
1560
- setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 2 /* AlignContent.Center */);
1561
- break;
1562
- case 'end':
1563
- setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 1 /* AlignContent.End */);
1564
- break;
1565
- case 'start':
1566
- setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 0 /* AlignContent.Start */);
1567
- break;
1568
- case 'stretch':
1569
- setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 3 /* AlignContent.Stretch */);
1570
- break;
1571
- }
1572
- this.setOrAppendState(StateKeys.ALIGN_CONTENT);
1573
- }
1574
- get justifyItems() {
1575
- switch (getInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS)) {
1576
- case -1 /* JustifyItems.Normal */:
1577
- return 'normal';
1578
- case 0 /* JustifyItems.Start */:
1579
- return 'start';
1580
- case 1 /* JustifyItems.End */:
1581
- return 'end';
1582
- case 2 /* JustifyItems.Center */:
1583
- return 'center';
1584
- case 3 /* JustifyItems.Baseline */:
1585
- return 'baseline';
1586
- case 4 /* JustifyItems.Stretch */:
1587
- return 'stretch';
1588
- case 5 /* JustifyItems.FlexStart */:
1589
- return 'flex-start';
1590
- case 6 /* JustifyItems.FlexEnd */:
1591
- return 'flex-end';
1592
- }
1593
- }
1594
- set justifyItems(value) {
1595
- switch (value) {
1596
- case 'normal':
1597
- setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, -1 /* JustifyItems.Normal */);
1598
- break;
1599
- case 'start':
1600
- setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 0 /* JustifyItems.Start */);
1601
- break;
1602
- case 'end':
1603
- setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 1 /* JustifyItems.End */);
1604
- break;
1605
- case 'center':
1606
- setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 2 /* JustifyItems.Center */);
1607
- break;
1608
- case 'baseline':
1609
- setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 3 /* JustifyItems.Baseline */);
1610
- break;
1611
- case 'stretch':
1612
- setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 4 /* JustifyItems.Stretch */);
1613
- break;
1614
- case 'flex-start':
1615
- setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 5 /* JustifyItems.FlexStart */);
1616
- break;
1617
- case 'flex-end':
1618
- setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 6 /* JustifyItems.FlexEnd */);
1619
- break;
1620
- }
1621
- this.setOrAppendState(StateKeys.JUSTIFY_ITEMS);
1622
- }
1623
- get justifySelf() {
1624
- switch (getInt32(this.style_view, StyleKeys.JUSTIFY_SELF)) {
1625
- case -1 /* JustifySelf.Normal */:
1626
- return 'normal';
1627
- case 0 /* JustifySelf.Start */:
1628
- return 'start';
1629
- case 1 /* JustifySelf.End */:
1630
- return 'end';
1631
- case 2 /* JustifySelf.Center */:
1632
- return 'center';
1633
- case 3 /* JustifySelf.Baseline */:
1634
- return 'baseline';
1635
- case 4 /* JustifySelf.Stretch */:
1636
- return 'stretch';
1637
- case 5 /* JustifySelf.FlexStart */:
1638
- return 'flex-start';
1639
- case 6 /* JustifySelf.FlexEnd */:
1640
- return 'flex-end';
1641
- }
1642
- }
1643
- set justifySelf(value) {
1644
- switch (value) {
1645
- case 'normal':
1646
- setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, -1 /* JustifySelf.Normal */);
1647
- break;
1648
- case 'start':
1649
- setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 0 /* JustifySelf.Start */);
1650
- break;
1651
- case 'end':
1652
- setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 1 /* JustifySelf.End */);
1653
- break;
1654
- case 'center':
1655
- setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 2 /* JustifySelf.Center */);
1656
- break;
1657
- case 'baseline':
1658
- setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 3 /* JustifySelf.Baseline */);
1659
- break;
1660
- case 'stretch':
1661
- setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 4 /* JustifySelf.Stretch */);
1662
- break;
1663
- case 'flex-start':
1664
- setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 5 /* JustifySelf.FlexStart */);
1665
- break;
1666
- case 'flex-end':
1667
- setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 6 /* JustifySelf.FlexEnd */);
1668
- break;
1669
- }
1670
- this.setOrAppendState(StateKeys.JUSTIFY_SELF);
1671
- }
1672
- get justifyContent() {
1673
- switch (getInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT)) {
1674
- case -1 /* JustifyContent.Normal */:
1675
- return 'normal';
1676
- case 0 /* JustifyContent.Start */:
1677
- return 'start';
1678
- case 1 /* JustifyContent.End */:
1679
- return 'end';
1680
- case 2 /* JustifyContent.Center */:
1681
- return 'center';
1682
- case 3 /* JustifyContent.Stretch */:
1683
- return 'stretch';
1684
- case 4 /* JustifyContent.SpaceBetween */:
1685
- return 'space-between';
1686
- case 5 /* JustifyContent.SpaceAround */:
1687
- return 'space-around';
1688
- case 6 /* JustifyContent.SpaceEvenly */:
1689
- return 'space-evenly';
1690
- case 7 /* JustifyContent.FlexStart */:
1691
- return 'flex-start';
1692
- case 8 /* JustifyContent.FlexEnd */:
1693
- return 'flex-end';
1694
- }
1695
- }
1696
- set justifyContent(value) {
1697
- switch (value) {
1698
- case 'normal':
1699
- setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, -1 /* JustifyContent.Normal */);
1700
- break;
1701
- case 'space-around':
1702
- setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 5 /* JustifyContent.SpaceAround */);
1703
- break;
1704
- case 'space-between':
1705
- setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 4 /* JustifyContent.SpaceBetween */);
1706
- break;
1707
- case 'space-evenly':
1708
- setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 6 /* JustifyContent.SpaceEvenly */);
1709
- break;
1710
- case 'center':
1711
- setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 2 /* JustifyContent.Center */);
1712
- break;
1713
- case 'end':
1714
- setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 1 /* JustifyContent.End */);
1715
- break;
1716
- case 'start':
1717
- setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 0 /* JustifyContent.Start */);
1718
- break;
1719
- case 'stretch':
1720
- setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 3 /* JustifyContent.Stretch */);
1721
- break;
1722
- }
1723
- this.setOrAppendState(StateKeys.JUSTIFY_CONTENT);
1724
- }
1725
- get gridAutoRows() {
1726
- return '';
1727
- }
1728
- set gridAutoRows(value) {
1729
- if (typeof value === 'string') {
1730
- _setGridAutoRows(value, this.view_);
1731
- }
1732
- else {
1733
- }
1734
- }
1735
- get gridAutoColumns() {
1736
- return '';
1737
- }
1738
- set gridAutoColumns(value) {
1739
- if (typeof value === 'string') {
1740
- _setGridAutoColumns(value, this.view_);
1741
- }
1742
- else {
1743
- }
1744
- }
1745
- get gridAutoFlow() {
1746
- switch (getInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW)) {
1747
- case 0:
1748
- return 'row';
1749
- case 1:
1750
- return 'column';
1751
- case 2:
1752
- return 'row dense';
1753
- case 3:
1754
- return 'column dense';
1755
- }
1756
- }
1757
- set gridAutoFlow(value) {
1758
- switch (value) {
1759
- case 'row':
1760
- setInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW, 0);
1761
- break;
1762
- case 'column':
1763
- setInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW, 1);
1764
- break;
1765
- case 'row dense':
1766
- setInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW, 2);
1767
- break;
1768
- case 'column dense':
1769
- setInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW, 3);
1770
- break;
1771
- }
1772
- }
1773
- get gridRowGap() {
1774
- return this.rowGap;
1775
- }
1776
- set gridRowGap(value) {
1777
- this.rowGap = value;
1778
- }
1779
- get gridColumnGap() {
1780
- return this.columnGap;
1781
- }
1782
- set gridColumnGap(value) {
1783
- this.columnGap = value;
1784
- }
1785
- // gridArea: string;
1786
- get gridColumn() {
1787
- if (this.gridColumnStart === this.gridColumnEnd) {
1788
- return `${this.gridColumnStart}`;
1789
- }
1790
- return `${this.gridColumnStart} / ${this.gridColumnEnd}`;
1791
- }
1792
- get gridColumnStart() {
1793
- switch (getInt32(this.style_view, StyleKeys.GRID_COLUMN_START_TYPE)) {
1794
- case 0:
1795
- return 'auto';
1796
- case 1: {
1797
- const value = getInt16(this.style_view, StyleKeys.GRID_COLUMN_START_VALUE);
1798
- // if (value === 1) {
1799
- // return 'auto';
1800
- // }
1801
- return `${value}`;
1802
- }
1803
- case 2: {
1804
- const value = getInt16(this.style_view, StyleKeys.GRID_COLUMN_START_VALUE);
1805
- if (value === 0) {
1806
- return 'span';
1807
- }
1808
- return `span ${value}`;
1809
- }
1810
- }
1811
- }
1812
- set gridColumnStart(value) {
1813
- const line = _parseGridLine(value);
1814
- if (line === null) {
1815
- return;
1816
- }
1817
- switch (line.type) {
1818
- case 'auto':
1819
- case 0:
1820
- setInt32(this.style_view, StyleKeys.GRID_COLUMN_START_TYPE, 0);
1821
- setInt16(this.style_view, StyleKeys.GRID_COLUMN_START_VALUE, 1);
1822
- break;
1823
- case 'line':
1824
- case 1:
1825
- if (line.value !== undefined) {
1826
- setInt32(this.style_view, StyleKeys.GRID_COLUMN_START_TYPE, 1);
1827
- setInt16(this.style_view, StyleKeys.GRID_COLUMN_START_VALUE, line.value);
1828
- }
1829
- break;
1830
- case 'span':
1831
- case 2:
1832
- if (line.value !== undefined) {
1833
- setInt32(this.style_view, StyleKeys.GRID_COLUMN_START_TYPE, 2);
1834
- setInt16(this.style_view, StyleKeys.GRID_COLUMN_START_VALUE, line.value);
1835
- }
1836
- break;
1837
- }
1838
- }
1839
- get gridColumnEnd() {
1840
- switch (getInt32(this.style_view, StyleKeys.GRID_COLUMN_END_TYPE)) {
1841
- case 0:
1842
- return 'auto';
1843
- case 1: {
1844
- const value = getInt16(this.style_view, StyleKeys.GRID_COLUMN_END_VALUE);
1845
- // if (value === 1) {
1846
- // return 'auto';
1847
- // }
1848
- return `${value}`;
1849
- }
1850
- case 2: {
1851
- const value = getInt16(this.style_view, StyleKeys.GRID_COLUMN_END_VALUE);
1852
- if (value === 0) {
1853
- return 'span';
1854
- }
1855
- return `span ${value}`;
1856
- }
1857
- }
1858
- }
1859
- set gridColumnEnd(value) {
1860
- const line = _parseGridLine(value);
1861
- if (line === null) {
1862
- return;
1863
- }
1864
- switch (line.type) {
1865
- case 'auto':
1866
- case 0:
1867
- setInt32(this.style_view, StyleKeys.GRID_COLUMN_END_TYPE, 0);
1868
- setInt16(this.style_view, StyleKeys.GRID_COLUMN_END_VALUE, 1);
1869
- break;
1870
- case 'line':
1871
- case 1:
1872
- if (line.value !== undefined) {
1873
- setInt32(this.style_view, StyleKeys.GRID_COLUMN_END_TYPE, 1);
1874
- setInt16(this.style_view, StyleKeys.GRID_COLUMN_END_VALUE, line.value);
1875
- }
1876
- break;
1877
- case 'span':
1878
- case 2:
1879
- if (line.value !== undefined) {
1880
- setInt32(this.style_view, StyleKeys.GRID_COLUMN_END_TYPE, 2);
1881
- setInt16(this.style_view, StyleKeys.GRID_COLUMN_END_VALUE, line.value);
1882
- }
1883
- break;
1884
- }
1885
- }
1886
- get gridRow() {
1887
- if (this.gridRowStart === this.gridRowEnd) {
1888
- return `${this.gridRowStart}`;
1889
- }
1890
- return `${this.gridRowStart} / ${this.gridRowEnd}`;
1891
- }
1892
- get gridRowStart() {
1893
- switch (getInt32(this.style_view, StyleKeys.GRID_ROW_START_TYPE)) {
1894
- case 0:
1895
- return 'auto';
1896
- case 1: {
1897
- const value = getInt16(this.style_view, StyleKeys.GRID_ROW_START_VALUE);
1898
- // if (value === 1) {
1899
- // return 'auto';
1900
- // }
1901
- return `${value}`;
1902
- }
1903
- case 2: {
1904
- const value = getInt16(this.style_view, StyleKeys.GRID_ROW_START_VALUE);
1905
- if (value === 0) {
1906
- return 'span';
1907
- }
1908
- return `span ${value}`;
1909
- }
1910
- }
1911
- }
1912
- set gridRowStart(value) {
1913
- const line = _parseGridLine(value);
1914
- if (line === null) {
1915
- return;
1916
- }
1917
- switch (line.type) {
1918
- case 'auto':
1919
- case 0:
1920
- setInt32(this.style_view, StyleKeys.GRID_ROW_START_TYPE, 0);
1921
- setInt16(this.style_view, StyleKeys.GRID_ROW_START_VALUE, 1);
1922
- break;
1923
- case 'line':
1924
- case 1:
1925
- if (line.value !== undefined) {
1926
- setInt32(this.style_view, StyleKeys.GRID_ROW_START_TYPE, 1);
1927
- setInt16(this.style_view, StyleKeys.GRID_ROW_START_VALUE, line.value);
1928
- }
1929
- break;
1930
- case 'span':
1931
- case 2:
1932
- if (line.value !== undefined) {
1933
- setInt32(this.style_view, StyleKeys.GRID_ROW_START_TYPE, 2);
1934
- setInt16(this.style_view, StyleKeys.GRID_ROW_START_VALUE, line.value);
1935
- }
1936
- break;
1937
- }
1938
- }
1939
- get gridRowEnd() {
1940
- switch (getInt32(this.style_view, StyleKeys.GRID_ROW_END_TYPE)) {
1941
- case 0:
1942
- return 'auto';
1943
- case 1: {
1944
- const value = getInt16(this.style_view, StyleKeys.GRID_ROW_END_VALUE);
1945
- // if (value === 1) {
1946
- // return 'auto';
1947
- // }
1948
- return `${value}`;
1949
- }
1950
- case 2: {
1951
- const value = getInt16(this.style_view, StyleKeys.GRID_ROW_END_VALUE);
1952
- if (value === 0) {
1953
- return 'span';
1954
- }
1955
- return `span ${value}`;
1956
- }
1957
- }
1958
- }
1959
- set gridRowEnd(value) {
1960
- const line = _parseGridLine(value);
1961
- if (line === null) {
1962
- return;
1963
- }
1964
- switch (line.type) {
1965
- case 'auto':
1966
- case 0:
1967
- setInt32(this.style_view, StyleKeys.GRID_ROW_END_TYPE, 0);
1968
- setInt16(this.style_view, StyleKeys.GRID_ROW_END_VALUE, 1);
1969
- break;
1970
- case 'line':
1971
- case 1:
1972
- if (line.value !== undefined) {
1973
- setInt32(this.style_view, StyleKeys.GRID_ROW_END_TYPE, 1);
1974
- setInt16(this.style_view, StyleKeys.GRID_ROW_END_VALUE, line.value);
1975
- }
1976
- break;
1977
- case 'span':
1978
- case 2:
1979
- if (line.value !== undefined) {
1980
- setInt32(this.style_view, StyleKeys.GRID_ROW_END_TYPE, 2);
1981
- setInt16(this.style_view, StyleKeys.GRID_ROW_END_VALUE, line.value);
1982
- }
1983
- break;
1984
- }
1985
- }
1986
- set gridTemplateRows(value) {
1987
- if (Array.isArray(value)) {
1988
- _setGridTemplateRows(value, this.view);
1989
- }
1990
- else {
1991
- _setGridTemplateRows(_parseGridTemplates(value), this.view);
1992
- }
1993
- }
1994
- get gridTemplateRows() {
1995
- return _getGridTemplateRows(this.view);
1996
- }
1997
- get gridTemplateColumns() {
1998
- return _getGridTemplateColumns(this.view);
1999
- }
2000
- set gridTemplateColumns(value) {
2001
- if (Array.isArray(value)) {
2002
- _setGridTemplateColumns(value, this.view);
2003
- }
2004
- else {
2005
- _setGridTemplateColumns(_parseGridTemplates(value), this.view);
2006
- }
2007
- }
2008
- get overflow() {
2009
- const x = this.overflowX;
2010
- const y = this.overflowY;
2011
- if (x === y) {
2012
- return x;
2013
- }
2014
- return `${x} ${y}`;
2015
- }
2016
- set overflow(value) {
2017
- switch (value) {
2018
- case 'visible':
2019
- setInt32(this.style_view, StyleKeys.OVERFLOW_X, 0);
2020
- setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 0);
2021
- break;
2022
- case 'hidden':
2023
- setInt32(this.style_view, StyleKeys.OVERFLOW_X, 1);
2024
- setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 1);
2025
- break;
2026
- case 'scroll':
2027
- setInt32(this.style_view, StyleKeys.OVERFLOW_X, 2);
2028
- setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 2);
2029
- break;
2030
- default:
2031
- {
2032
- const values = value.split(' ');
2033
- switch (values[0]) {
2034
- case 'visible':
2035
- setInt32(this.style_view, StyleKeys.OVERFLOW_X, 0);
2036
- break;
2037
- case 'hidden':
2038
- setInt32(this.style_view, StyleKeys.OVERFLOW_X, 1);
2039
- break;
2040
- case 'scroll':
2041
- setInt32(this.style_view, StyleKeys.OVERFLOW_X, 2);
2042
- break;
2043
- case 'clip':
2044
- setInt32(this.style_view, StyleKeys.OVERFLOW_X, 3);
2045
- break;
2046
- case 'auto':
2047
- setInt32(this.style_view, StyleKeys.OVERFLOW_X, 4);
2048
- break;
2049
- }
2050
- switch (values[1]) {
2051
- case 'visible':
2052
- setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 0);
2053
- break;
2054
- case 'hidden':
2055
- setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 1);
2056
- break;
2057
- case 'scroll':
2058
- setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 2);
2059
- break;
2060
- case 'clip':
2061
- setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 3);
2062
- break;
2063
- case 'auto':
2064
- setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 4);
2065
- break;
2066
- }
2067
- }
2068
- break;
2069
- }
2070
- }
2071
- get overflowX() {
2072
- switch (getInt32(this.style_view, StyleKeys.OVERFLOW_X)) {
2073
- case 0:
2074
- return 'visible';
2075
- case 1:
2076
- return 'hidden';
2077
- case 2:
2078
- return 'scroll';
2079
- }
2080
- }
2081
- set overflowX(value) {
2082
- switch (value) {
2083
- case 'visible':
2084
- setInt32(this.style_view, StyleKeys.OVERFLOW_X, 0);
2085
- break;
2086
- case 'hidden':
2087
- setInt32(this.style_view, StyleKeys.OVERFLOW_X, 1);
2088
- break;
2089
- case 'scroll':
2090
- setInt32(this.style_view, StyleKeys.OVERFLOW_X, 2);
2091
- break;
2092
- }
2093
- }
2094
- get overflowY() {
2095
- switch (getInt32(this.style_view, StyleKeys.OVERFLOW_Y)) {
2096
- case 0:
2097
- return 'visible';
2098
- case 1:
2099
- return 'hidden';
2100
- case 2:
2101
- return 'scroll';
2102
- }
2103
- }
2104
- set overflowY(value) {
2105
- switch (value) {
2106
- case 'visible':
2107
- setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 0);
2108
- break;
2109
- case 'hidden':
2110
- setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 1);
2111
- break;
2112
- case 'scroll':
2113
- setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 2);
2114
- break;
2115
- }
2116
- }
2117
- get flexGrow() {
2118
- return getFloat32(this.style_view, StyleKeys.FLEX_GROW);
2119
- }
2120
- set flexGrow(value) {
2121
- setFloat32(this.style_view, StyleKeys.FLEX_GROW, value);
2122
- }
2123
- get flexShrink() {
2124
- return getFloat32(this.style_view, StyleKeys.FLEX_SHRINK);
2125
- }
2126
- set flexShrink(value) {
2127
- setFloat32(this.style_view, StyleKeys.FLEX_SHRINK, value);
2128
- }
2129
- get scrollBarWidth() {
2130
- return getFloat32(this.style_view, StyleKeys.SCROLLBAR_WIDTH);
2131
- }
2132
- set scrollBarWidth(value) {
2133
- if (typeof value === 'number') {
2134
- setFloat32(this.style_view, StyleKeys.SCROLLBAR_WIDTH, value);
2135
- }
2136
- else if (typeof value === 'object') {
2137
- switch (value.unit) {
2138
- case 'dip':
2139
- setFloat32(this.style_view, StyleKeys.SCROLLBAR_WIDTH, layout.toDevicePixels(value.value));
2140
- break;
2141
- case 'px':
2142
- setFloat32(this.style_view, StyleKeys.SCROLLBAR_WIDTH, value.value);
2143
- break;
2144
- }
2145
- }
2146
- }
2147
- toJSON() {
2148
- return {
2149
- display: this.display,
2150
- position: this.position,
2151
- flexDirection: this.flexDirection,
2152
- flexWrap: this.flexWrap,
2153
- justifyContent: this.justifyContent,
2154
- alignItems: this.alignItems,
2155
- alignContent: this.alignContent,
2156
- alignSelf: this.alignSelf,
2157
- flexGrow: this.flexGrow,
2158
- minWidth: this.minWidth,
2159
- minHeight: this.minHeight,
2160
- maxWidth: this.maxWidth,
2161
- maxHeight: this.maxHeight,
2162
- width: this.width,
2163
- height: this.height,
2164
- inset: {
2165
- left: this.left,
2166
- right: this.right,
2167
- top: this.top,
2168
- bottom: this.bottom,
2169
- },
2170
- margin: {
2171
- left: this.marginLeft,
2172
- right: this.marginRight,
2173
- top: this.marginTop,
2174
- bottom: this.marginBottom,
2175
- },
2176
- padding: {
2177
- left: this.paddingLeft,
2178
- right: this.paddingRight,
2179
- top: this.paddingTop,
2180
- bottom: this.paddingBottom,
2181
- },
2182
- border: {
2183
- left: this.borderLeft,
2184
- right: this.borderRight,
2185
- top: this.borderTop,
2186
- bottom: this.borderBottom,
2187
- },
2188
- aspectRatio: this.aspectRatio,
2189
- flexBasis: this.flexBasis,
2190
- overflow: this.overflow,
2191
- flexShrink: this.flexShrink,
2192
- scrollBarWidth: this.scrollBarWidth,
2193
- gap: this.gap,
2194
- gridAutoFlow: this.gridAutoFlow,
2195
- gridAutoColumns: this.gridAutoColumns,
2196
- gridAutoRows: this.gridAutoRows,
2197
- gridColumn: this.gridColumn,
2198
- gridRow: this.gridRow,
2199
- gridTemplateRows: this.gridTemplateRows,
2200
- gridTemplateColumns: this.gridTemplateColumns,
2201
- };
2202
- }
2203
- }
2204
- //# sourceMappingURL=style.js.map