@triniwiz/nativescript-masonkit 1.0.0-alpha.29 → 1.0.0-alpha.30

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