@shijiu/jsview 1.9.730 → 1.9.747

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 (116) hide show
  1. package/dom/jsv-browser-debug-dom.js +1 -1
  2. package/dom/jsv-dom.js +1 -1
  3. package/dom/jsv-engine-js-browser.js +1 -1
  4. package/dom/jsv-forge-define.js +1 -1
  5. package/package.json +14 -17
  6. package/patches/node_modules/vite/dist/node/chunks/dep-0fc8e132.js +8 -1
  7. package/patches/node_modules/vite/dist/node/jsview.vite.config.js +12 -6
  8. package/dom/jsview-dom/README.md +0 -5
  9. package/dom/jsview-dom/package-lock.json-perfect +0 -3898
  10. package/dom/jsview-dom/package.json +0 -23
  11. package/dom/jsview-dom/rollup/browser-debug-dom.rollup.config.js +0 -15
  12. package/dom/jsview-dom/rollup/dom.rollup.config.js +0 -14
  13. package/dom/jsview-dom/rollup/engine-js-browser.rollup.config.js +0 -14
  14. package/dom/jsview-dom/rollup/forge-define.rollup.config.js +0 -14
  15. package/dom/jsview-dom/scripts/release_dist.sh +0 -36
  16. package/dom/jsview-dom/src/dom-browser-hook/HookDocument.js +0 -118
  17. package/dom/jsview-dom/src/dom-browser-hook/OriginDocument.js +0 -19
  18. package/dom/jsview-dom/src/dom-browser-hook/StyleFormatCheck.js +0 -559
  19. package/dom/jsview-dom/src/dom-browser-hook/index.js +0 -6
  20. package/dom/jsview-dom/src/dom-wrapper/ForgeExtension.js +0 -226
  21. package/dom/jsview-dom/src/dom-wrapper/JsViewForgeApp.js +0 -85
  22. package/dom/jsview-dom/src/dom-wrapper/JsViewProxy.js +0 -51
  23. package/dom/jsview-dom/src/dom-wrapper/event/AnimationEvent.js +0 -7
  24. package/dom/jsview-dom/src/dom-wrapper/event/Event.js +0 -12
  25. package/dom/jsview-dom/src/dom-wrapper/event/FocusEvent.js +0 -9
  26. package/dom/jsview-dom/src/dom-wrapper/event/KeyboardEvent.js +0 -43
  27. package/dom/jsview-dom/src/dom-wrapper/event/LoadEvent.js +0 -8
  28. package/dom/jsview-dom/src/dom-wrapper/index.js +0 -16
  29. package/dom/jsview-dom/src/dom-wrapper/node/AnchorElement.js +0 -24
  30. package/dom/jsview-dom/src/dom-wrapper/node/AudioElement.js +0 -60
  31. package/dom/jsview-dom/src/dom-wrapper/node/Comment.js +0 -10
  32. package/dom/jsview-dom/src/dom-wrapper/node/DivElement.js +0 -498
  33. package/dom/jsview-dom/src/dom-wrapper/node/Document.js +0 -274
  34. package/dom/jsview-dom/src/dom-wrapper/node/Element.js +0 -852
  35. package/dom/jsview-dom/src/dom-wrapper/node/FDivElement.js +0 -48
  36. package/dom/jsview-dom/src/dom-wrapper/node/HeadElement.js +0 -47
  37. package/dom/jsview-dom/src/dom-wrapper/node/ImageElement.js +0 -203
  38. package/dom/jsview-dom/src/dom-wrapper/node/JsvAudioTrackElement.js +0 -22
  39. package/dom/jsview-dom/src/dom-wrapper/node/JsvElement.js +0 -40
  40. package/dom/jsview-dom/src/dom-wrapper/node/LinkElement.js +0 -48
  41. package/dom/jsview-dom/src/dom-wrapper/node/MediaElement.js +0 -230
  42. package/dom/jsview-dom/src/dom-wrapper/node/Node.js +0 -178
  43. package/dom/jsview-dom/src/dom-wrapper/node/SVGElement.js +0 -9
  44. package/dom/jsview-dom/src/dom-wrapper/node/ScriptElement.js +0 -45
  45. package/dom/jsview-dom/src/dom-wrapper/node/StyleElement.js +0 -33
  46. package/dom/jsview-dom/src/dom-wrapper/node/StyleElementCache.js +0 -41
  47. package/dom/jsview-dom/src/dom-wrapper/node/Text.js +0 -22
  48. package/dom/jsview-dom/src/dom-wrapper/node/UnknownElement.js +0 -4
  49. package/dom/jsview-dom/src/dom-wrapper/node/VideoElement.js +0 -237
  50. package/dom/jsview-dom/src/dom-wrapper/style/BorderImage.js +0 -25
  51. package/dom/jsview-dom/src/dom-wrapper/style/Inset.js +0 -26
  52. package/dom/jsview-dom/src/dom-wrapper/style/JsvStyleVariable.js +0 -65
  53. package/dom/jsview-dom/src/dom-wrapper/style/KeyframeRule.js +0 -11
  54. package/dom/jsview-dom/src/dom-wrapper/style/StyleDeclaration.js +0 -609
  55. package/dom/jsview-dom/src/dom-wrapper/style/StyleSheet.js +0 -51
  56. package/dom/jsview-dom/src/dom-wrapper/style/StyleValue.js +0 -385
  57. package/dom/jsview-dom/src/dom-wrapper/style/TextStylePackMap.js +0 -43
  58. package/dom/jsview-dom/src/dom-wrapper/style/URL.js +0 -144
  59. package/dom/jsview-dom/src/dom-wrapper/utils/EventHandler.js +0 -42
  60. package/dom/jsview-dom/src/dom-wrapper/utils/FDivRoot.js +0 -86
  61. package/dom/jsview-dom/src/dom-wrapper/utils/JsvLazySyncCache.js +0 -64
  62. package/dom/jsview-dom/src/dom-wrapper/utils/Log.js +0 -42
  63. package/dom/jsview-dom/src/dom-wrapper/utils/MutationObserver.js +0 -32
  64. package/dom/jsview-dom/src/dom-wrapper/utils/focusableNode.js +0 -715
  65. package/dom/jsview-dom/src/engine-js/ForgeDefine.js +0 -8
  66. package/dom/jsview-dom/src/engine-js/ForgeExtensionDefine.js +0 -14
  67. package/dom/jsview-dom/src/engine-js/browser/PlatformUtils.js +0 -100
  68. package/dom/jsview-dom/src/engine-js/browser/animation_base.js +0 -313
  69. package/dom/jsview-dom/src/engine-js/browser/animation_keyframe.js +0 -64
  70. package/dom/jsview-dom/src/engine-js/browser/animation_progress.js +0 -287
  71. package/dom/jsview-dom/src/engine-js/browser/animation_proxy.js +0 -906
  72. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/demux.js +0 -143
  73. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/gifDecoder.js +0 -12
  74. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/libwebp-0.6.0.min.js +0 -160
  75. package/dom/jsview-dom/src/engine-js/browser/console_log.js +0 -25
  76. package/dom/jsview-dom/src/engine-js/browser/dynamic_key_frames.js +0 -95
  77. package/dom/jsview-dom/src/engine-js/browser/easing.js +0 -114
  78. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/element_transform.js +0 -122
  79. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/gjk.js +0 -450
  80. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/mat.js +0 -102
  81. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/range_model.js +0 -296
  82. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/test_collide.js +0 -10
  83. package/dom/jsview-dom/src/engine-js/browser/index.js +0 -38
  84. package/dom/jsview-dom/src/engine-js/browser/latex_parse.js +0 -336
  85. package/dom/jsview-dom/src/engine-js/browser/layout_params.js +0 -113
  86. package/dom/jsview-dom/src/engine-js/browser/layout_view.js +0 -3545
  87. package/dom/jsview-dom/src/engine-js/browser/layout_view_debug.js +0 -15
  88. package/dom/jsview-dom/src/engine-js/browser/media.js +0 -379
  89. package/dom/jsview-dom/src/engine-js/browser/page_base.js +0 -941
  90. package/dom/jsview-dom/src/engine-js/browser/particle_view.js +0 -526
  91. package/dom/jsview-dom/src/engine-js/browser/platform_timer.js +0 -61
  92. package/dom/jsview-dom/src/engine-js/browser/react_utils.js +0 -5
  93. package/dom/jsview-dom/src/engine-js/browser/rect_utils.js +0 -91
  94. package/dom/jsview-dom/src/engine-js/browser/render_bridge.js +0 -128
  95. package/dom/jsview-dom/src/engine-js/browser/render_texture_proxy.js +0 -155
  96. package/dom/jsview-dom/src/engine-js/browser/renderer_deprecated.js +0 -75
  97. package/dom/jsview-dom/src/engine-js/browser/sound_pool.js +0 -139
  98. package/dom/jsview-dom/src/engine-js/browser/steps_animation.js +0 -192
  99. package/dom/jsview-dom/src/engine-js/browser/text_style_cache.js +0 -454
  100. package/dom/jsview-dom/src/engine-js/browser/text_utils.js +0 -299
  101. package/dom/jsview-dom/src/engine-js/browser/text_view.js +0 -428
  102. package/dom/jsview-dom/src/engine-js/browser/texture_manager.js +0 -1060
  103. package/dom/jsview-dom/src/engine-js/browser/url.js +0 -69
  104. package/dom/jsview-dom/src/engine-js/browser/velocity.js +0 -40
  105. package/dom/jsview-dom/src/engine-js/browser/view_sensor/autofroze_sensor.js +0 -77
  106. package/dom/jsview-dom/src/engine-js/browser/view_sensor/drag_impact_sensor.js +0 -67
  107. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor.js +0 -98
  108. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor_callback.js +0 -21
  109. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor_manager.js +0 -24
  110. package/dom/jsview-dom/src/engine-js/browser/view_sensor/index.js +0 -9
  111. package/dom/jsview-dom/src/engine-js/browser/view_sensor/view_sensor.js +0 -268
  112. package/dom/jsview-dom/src/engine-js/browser/view_sensor/view_sensor_manager.js +0 -84
  113. package/dom/jsview-dom/src/engine-js/browser/view_sensor/visible_sensor.js +0 -213
  114. package/dom/jsview-dom/src/engine-js/browser/view_store.js +0 -41
  115. package/dom/jsview-dom/src/engine-js/index.js +0 -2
  116. package/dom/jsview-dom/src/engine-js/native/README.md +0 -1
@@ -1,336 +0,0 @@
1
- /* eslint-disable no-unused-vars */
2
-
3
- const WordType = {
4
- STRING: Symbol("STRING"),
5
- FUNCTION: Symbol("FUNCTION"),
6
- LINE_FEED: Symbol("LINE_FEED"),
7
- LEFT_BRACE: Symbol("LEFT_BRACE"),
8
- RIGHT_BRACE: Symbol("RIGHT_BRACE"),
9
- };
10
-
11
- function lexicalAnalyze(arr) {
12
- const result = [];
13
- let i = 0;
14
- while (i < arr.length) {
15
- if (arr[i] === '\\') {
16
- if (i < arr.length - 1) {
17
- if (arr[i + 1] === '\\' || arr[i + 1] === '{' || arr[i + 1] === '}') {
18
- // 普通字符
19
- const pair = [i + 1, i + 2];
20
- const word = {
21
- type: WordType.STRING,
22
- indexPair: pair,
23
- };
24
- result.push(word);
25
- i += 2;
26
- } else {
27
- // 函数
28
- ++i;
29
- const start_i = i;
30
- let end_i = i;
31
- let has_char = false; // 函数名后有空字符的处理
32
- while (i < arr.length && arr[i] !== '{' && arr[i] !== '}') {
33
- if (arr[i] !== ' ') {
34
- has_char = true;
35
- }
36
- if (!(arr[i] === ' ' && has_char)) {
37
- // 字符串后的空字符不计入
38
- end_i = ++i;
39
- } else {
40
- ++i;
41
- }
42
- }
43
- const pair = [start_i, end_i];
44
- const word = {
45
- type: WordType.FUNCTION,
46
- indexPair: pair,
47
- };
48
- result.push(word);
49
- }
50
- } else {
51
- console.error("backslash at end.");
52
- }
53
- } else if (arr[i] === '{') {
54
- const word = {
55
- type: WordType.LEFT_BRACE,
56
- indexPair: null,
57
- };
58
- result.push(word);
59
- ++i;
60
- } else if (arr[i] === '}') {
61
- const word = {
62
- type: WordType.RIGHT_BRACE,
63
- indexPair: null,
64
- };
65
- result.push(word);
66
- ++i;
67
- } else if (arr[i] === '\n') {
68
- const word = {
69
- type: WordType.LINE_FEED,
70
- indexPair: null,
71
- };
72
- result.push(word);
73
- ++i;
74
- } else {
75
- // 普通字符
76
- const start = i;
77
- let end = i;
78
- while (i < arr.length) {
79
- if (arr[i] === '\\' || arr[i] === '{' || arr[i] === '}' || arr[i] === '\n') {
80
- break;
81
- } else {
82
- ++i;
83
- end = i;
84
- }
85
- }
86
- const pair = [start, end];
87
- const word = {
88
- type: WordType.STRING,
89
- indexPair: pair,
90
- };
91
- result.push(word);
92
- }
93
- }
94
- // 清理
95
- for (let index = result.length - 1; index >= 0; index--) {
96
- const info = result[index];
97
- if (info.type === WordType.STRING) {
98
- let all_blank = true;
99
- for (let j = info.indexPair[0]; j < info.indexPair[1]; j++) {
100
- if (arr[j] !== ' ') {
101
- all_blank = false;
102
- break;
103
- }
104
- }
105
- // 纯空字符的片段
106
- if (all_blank && index > 0 && index < result.length - 1 && (result[index - 1].type === WordType.LEFT_BRACE || result[index - 1].type === WordType.RIGHT_BRACE) && (result[index + 1].type === WordType.RIGHT_BRACE || result[index + 1].type === WordType.LEFT_BRACE)) {
107
- // 参数中间的空字符串该删除
108
- result.splice(index, 1);
109
- // result.remove(index);
110
- }
111
- }
112
- }
113
- return result;
114
- }
115
-
116
-
117
- const LEFT_BRACE = {};
118
- // const RIGHT_BRACE = {};
119
-
120
- const Style = {
121
- BASE: Symbol("BASE"),
122
- COLOR: Symbol("COLOR"),
123
- BOLD: Symbol("BOLD"),
124
- ITALIC: Symbol("ITALIC"),
125
- DECORATION: Symbol("DECORATION"),
126
- SUPERSCRIPT: Symbol("SUPERSCRIPT"),
127
- SUBSCRIPT: Symbol("SUBSCRIPT"),
128
- };
129
-
130
- class TextStyle {
131
- constructor() {
132
- this.style;
133
-
134
- this.styleValue = "";
135
- }
136
- }
137
-
138
- class BaseNode {
139
- constructor() {
140
- this.textStyle = new TextStyle();
141
-
142
- this.childNodes = [];
143
-
144
- this.parent;
145
- }
146
- }
147
-
148
- class LeafNode extends BaseNode {
149
- constructor() {
150
- super();
151
-
152
- this.styleList = [];
153
-
154
- this.indexPair;
155
-
156
- this.lineFeedNode = false;
157
-
158
- this.testValue;
159
- }
160
- }
161
-
162
- function parseLatex(text) {
163
- if (text === null || text.length === 0) { return null; }
164
- const word_list = lexicalAnalyze(text);
165
- const stack = [];
166
- const leaf_list = [];
167
- let i = 0;
168
- while (i < word_list.length) {
169
- const word = word_list[i];
170
- if (word.type === WordType.STRING) {
171
- const node = new LeafNode();
172
- leaf_list.push(node);
173
- node.indexPair = word.indexPair;
174
- node.textStyle.style = Style.BASE;
175
- stack.push(node);
176
- } else if (word.type === WordType.LINE_FEED) {
177
- const node = new LeafNode();
178
- leaf_list.push(node);
179
- node.lineFeedNode = true;
180
- } else if (word.type === WordType.LEFT_BRACE) {
181
- stack.push(LEFT_BRACE);
182
- } else if (word.type === WordType.RIGHT_BRACE) {
183
- if (stack.length > 0) {
184
- const tmp_stack = [];
185
- let node = stack.pop();
186
- while (node !== LEFT_BRACE) {
187
- tmp_stack.push(node);
188
- if (stack.length > 0) {
189
- node = stack.pop();
190
- } else {
191
- break;
192
- }
193
- }
194
- if (stack.length > 0) {
195
- const func_node = stack[stack.length - 1];
196
- if (func_node.textStyle.style === Style.BASE) {
197
- console.error("lack of function");
198
- } else {
199
- while (tmp_stack.length > 0) {
200
- const n = tmp_stack.pop();
201
- func_node.childNodes.push(n);
202
- n.parent = func_node;
203
- }
204
- }
205
- } else {
206
- console.error("lack of function");
207
- }
208
- } else {
209
- console.error("extra }");
210
- }
211
- } else if (word.type === WordType.FUNCTION) {
212
- const func_name = text.substring(word.indexPair[0], word.indexPair[1]);
213
-
214
- const node = new BaseNode();
215
- switch (func_name) {
216
- case "textcolor":
217
- if (i < word_list.length - 3) {
218
- node.textStyle.style = Style.COLOR;
219
- const l_b = word_list[i + 1];
220
- const setting = word_list[i + 2];
221
- const r_b = word_list[i + 3];
222
- if (l_b.type === WordType.LEFT_BRACE && setting.type === WordType.STRING && r_b.type === WordType.RIGHT_BRACE) {
223
- node.textStyle.styleValue = text.substring(setting.indexPair[0], setting.indexPair[1]);
224
- i += 3;
225
- } else {
226
- console.error("textcolor param format error.");
227
- }
228
- } else {
229
- console.error("textcolor param format error.");
230
- }
231
- break;
232
- case "textb":
233
- node.textStyle.style = Style.BOLD;
234
- break;
235
- case "texti":
236
- node.textStyle.style = Style.ITALIC;
237
- break;
238
- case "textdecoration":
239
- if (i < word_list.length - 3) {
240
- node.textStyle.style = Style.DECORATION;
241
- const l_b = word_list[i + 1];
242
- const setting = word_list[i + 2];
243
- const r_b = word_list[i + 3];
244
- if (l_b.type === WordType.LEFT_BRACE && setting.type === WordType.STRING && r_b.type === WordType.RIGHT_BRACE) {
245
- node.textStyle.styleValue = text.substring(setting.indexPair[0], setting.indexPair[1]);
246
- i += 3;
247
- } else {
248
- console.error("textdecoration param format error.");
249
- }
250
- } else {
251
- console.error("textdecoration param format error.");
252
- }
253
- break;
254
- case "textsup":
255
- node.textStyle.style = Style.SUPERSCRIPT;
256
- break;
257
- case "textsub":
258
- node.textStyle.style = Style.SUBSCRIPT;
259
- break;
260
- default:
261
- console.error(`undefined style type: ${func_name}`);
262
- break;
263
- }
264
- stack.push(node);
265
- }
266
- ++i;
267
- }
268
-
269
- leaf_list.forEach((n, index, arr) => {
270
- let node = n.parent;
271
- while (node) {
272
- n.styleList.push(node.textStyle);
273
- node = node.parent;
274
- }
275
- });
276
-
277
- // 将语法树转为描画列表
278
- return {
279
- nodeList: leaf_list,
280
- text
281
- };
282
- }
283
-
284
- function toHtml(root, node_info) {
285
- const origin_str = node_info.text;
286
- for (const node of node_info.nodeList) {
287
- if (node.lineFeedNode) {
288
- root.appendChild(window.originDocument.createElement("br"));
289
- continue;
290
- }
291
- const str = origin_str.substring(node.indexPair[0], node.indexPair[1]);
292
- const span = window.originDocument.createElement("span");
293
- let ele = span;
294
- let tmp_ele;
295
- for (const style of node.styleList) {
296
- switch (style.style) {
297
- case Style.BASE:
298
- break;
299
- case Style.BOLD:
300
- tmp_ele = window.originDocument.createElement("b");
301
- ele.appendChild(tmp_ele);
302
- ele = tmp_ele;
303
- break;
304
- case Style.ITALIC:
305
- tmp_ele = window.originDocument.createElement("i");
306
- ele.appendChild(tmp_ele);
307
- ele = tmp_ele;
308
- break;
309
- case Style.COLOR:
310
- span.style.color = style.styleValue;
311
- break;
312
- case Style.DECORATION:
313
- span.style.textDecoration = style.styleValue;
314
- break;
315
- case Style.SUPERSCRIPT:
316
- tmp_ele = window.originDocument.createElement("sup");
317
- ele.appendChild(tmp_ele);
318
- ele = tmp_ele;
319
- break;
320
- case Style.SUBSCRIPT:
321
- tmp_ele = window.originDocument.createElement("sub");
322
- ele.appendChild(tmp_ele);
323
- ele = tmp_ele;
324
- break;
325
- default:
326
- break;
327
- }
328
- }
329
- ele.textContent = str;
330
- root.appendChild(span);
331
- }
332
- }
333
- export {
334
- parseLatex,
335
- toHtml
336
- };
@@ -1,113 +0,0 @@
1
- import Forge from "../ForgeDefine";
2
-
3
- class LayoutParamsBase {
4
- constructor() {
5
- this.Width = 0;
6
- this.Height = 0;
7
- this.MarginTop = 0;
8
- this.MarginLeft = 0;
9
- this.MarginRight = 0;
10
- this.MarginBottom = 0;
11
- this.Z = 0;
12
- this.SizeAdjust = false;
13
- }
14
-
15
- SetPosition(x, y, z) {
16
- this.MarginTop = y;
17
- this.MarginLeft = x;
18
- if (z) {
19
- this.Z = z;
20
- }
21
- }
22
-
23
- SetSize(w, h) {
24
- this.Width = w;
25
- this.Height = h;
26
- }
27
-
28
- Clone() {
29
- const new_layout_params = new LayoutParamsBase(null);
30
- new_layout_params.Width = this.Width;
31
- new_layout_params.Height = this.Height;
32
- new_layout_params.MarginTop = this.MarginTop;
33
- new_layout_params.MarginLeft = this.MarginLeft;
34
- new_layout_params.MarginRight = this.MarginRight;
35
- new_layout_params.MarginBottom = this.MarginBottom;
36
- new_layout_params.Z = this.Z;
37
- new_layout_params.SizeAdjust = this.SizeAdjust;
38
- return new_layout_params;
39
- }
40
-
41
- Equals(other_layout_params) {
42
- return (other_layout_params.Width === this.Width
43
- && other_layout_params.Height === this.Height
44
- && other_layout_params.MarginTop === this.MarginTop
45
- && other_layout_params.MarginLeft === this.MarginLeft
46
- && other_layout_params.MarginRight === this.MarginRight
47
- && other_layout_params.MarginBottom === this.MarginBottom
48
- && other_layout_params.Z === this.Z);
49
- }
50
- }
51
- Forge.LayoutParamsBase = LayoutParamsBase;
52
-
53
- class LayoutParams extends Forge.LayoutParamsBase {
54
- constructor(settings) {
55
- super();
56
-
57
- if (settings instanceof Forge.RectArea) { settings = { x: settings.x, y: settings.y, width: settings.width, height: settings.height }; }
58
-
59
- if (settings) {
60
- // Reset marginLeft
61
- if (settings.x) {
62
- this.MarginLeft = settings.x;
63
- } else if (settings.marginLeft) {
64
- this.MarginLeft = settings.marginLeft;
65
- }
66
-
67
- // Reset marginTop
68
- if (settings.y) {
69
- this.MarginTop = settings.y;
70
- } else if (settings.marginTop) {
71
- this.MarginTop = settings.marginTop;
72
- }
73
- if (settings.z) {
74
- this.Z = settings.z;
75
- }
76
-
77
- // Reset width
78
- if (settings.width) {
79
- this.Width = settings.width;
80
- }
81
-
82
- // Reset height
83
- if (settings.height) {
84
- this.Height = settings.height;
85
- }
86
- // 参数检查
87
- if (isNaN(this.MarginTop)) {
88
- Forge.LogE("isNaN(this.MarginTop)!");
89
- this.MarginTop = 0;
90
- }
91
- if (isNaN(this.MarginLeft)) {
92
- Forge.LogE("isNaN(this.MarginLeft)!");
93
- this.MarginLeft = 0;
94
- }
95
- if (this.Width !== "MatchParent") {
96
- if (isNaN(this.Width)) {
97
- Forge.LogE("isNaN(this.Width)!");
98
- }
99
- } else {
100
- this.SizeAdjust = true;
101
- }
102
- if (this.Height !== "MatchParent") {
103
- if (isNaN(this.Height)) {
104
- Forge.LogE("isNaN(this.Height)!");
105
- }
106
- } else {
107
- this.SizeAdjust = true;
108
- }
109
- }
110
- }
111
- }
112
- Forge.LayoutParams = LayoutParams;
113
- window.LayoutParams = Forge.LayoutParams; // export class