@shijiu/jsview 1.9.731 → 1.9.759

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 (124) hide show
  1. package/dom/jsv-browser-debug-dom.js +12 -5
  2. package/dom/jsv-code-debug.mjs +14 -0
  3. package/dom/jsv-dom.js +12 -5
  4. package/dom/jsv-engine-js-browser.js +12 -5
  5. package/dom/jsv-forge-define.js +17 -5
  6. package/package.json +14 -17
  7. package/patches/node_modules/react-scripts/config/paths.js +161 -0
  8. package/patches/node_modules/react-scripts/config/webpack.config.js +825 -0
  9. package/patches/node_modules/react-scripts/package.json +108 -0
  10. package/patches/node_modules/vite/dist/node/chunks/dep-0fc8e132.js +8 -1
  11. package/patches/node_modules/vite/dist/node/jsview.vite.config.js +15 -7
  12. package/tools/common.js +7 -2
  13. package/tools/jsview-post-build.js +3 -3
  14. package/tools/jsview-post-install-react.js +1 -3
  15. package/tools/jsview-post-install.js +1 -1
  16. package/dom/jsview-dom/README.md +0 -5
  17. package/dom/jsview-dom/package-lock.json-perfect +0 -3898
  18. package/dom/jsview-dom/package.json +0 -23
  19. package/dom/jsview-dom/rollup/browser-debug-dom.rollup.config.js +0 -15
  20. package/dom/jsview-dom/rollup/dom.rollup.config.js +0 -14
  21. package/dom/jsview-dom/rollup/engine-js-browser.rollup.config.js +0 -14
  22. package/dom/jsview-dom/rollup/forge-define.rollup.config.js +0 -14
  23. package/dom/jsview-dom/scripts/release_dist.sh +0 -36
  24. package/dom/jsview-dom/src/dom-browser-hook/HookDocument.js +0 -118
  25. package/dom/jsview-dom/src/dom-browser-hook/OriginDocument.js +0 -19
  26. package/dom/jsview-dom/src/dom-browser-hook/StyleFormatCheck.js +0 -559
  27. package/dom/jsview-dom/src/dom-browser-hook/index.js +0 -6
  28. package/dom/jsview-dom/src/dom-wrapper/ForgeExtension.js +0 -226
  29. package/dom/jsview-dom/src/dom-wrapper/JsViewForgeApp.js +0 -85
  30. package/dom/jsview-dom/src/dom-wrapper/JsViewProxy.js +0 -51
  31. package/dom/jsview-dom/src/dom-wrapper/event/AnimationEvent.js +0 -7
  32. package/dom/jsview-dom/src/dom-wrapper/event/Event.js +0 -12
  33. package/dom/jsview-dom/src/dom-wrapper/event/FocusEvent.js +0 -9
  34. package/dom/jsview-dom/src/dom-wrapper/event/KeyboardEvent.js +0 -43
  35. package/dom/jsview-dom/src/dom-wrapper/event/LoadEvent.js +0 -8
  36. package/dom/jsview-dom/src/dom-wrapper/index.js +0 -16
  37. package/dom/jsview-dom/src/dom-wrapper/node/AnchorElement.js +0 -24
  38. package/dom/jsview-dom/src/dom-wrapper/node/AudioElement.js +0 -60
  39. package/dom/jsview-dom/src/dom-wrapper/node/Comment.js +0 -10
  40. package/dom/jsview-dom/src/dom-wrapper/node/DivElement.js +0 -498
  41. package/dom/jsview-dom/src/dom-wrapper/node/Document.js +0 -274
  42. package/dom/jsview-dom/src/dom-wrapper/node/Element.js +0 -852
  43. package/dom/jsview-dom/src/dom-wrapper/node/FDivElement.js +0 -48
  44. package/dom/jsview-dom/src/dom-wrapper/node/HeadElement.js +0 -47
  45. package/dom/jsview-dom/src/dom-wrapper/node/ImageElement.js +0 -203
  46. package/dom/jsview-dom/src/dom-wrapper/node/JsvAudioTrackElement.js +0 -22
  47. package/dom/jsview-dom/src/dom-wrapper/node/JsvElement.js +0 -40
  48. package/dom/jsview-dom/src/dom-wrapper/node/LinkElement.js +0 -48
  49. package/dom/jsview-dom/src/dom-wrapper/node/MediaElement.js +0 -230
  50. package/dom/jsview-dom/src/dom-wrapper/node/Node.js +0 -178
  51. package/dom/jsview-dom/src/dom-wrapper/node/SVGElement.js +0 -9
  52. package/dom/jsview-dom/src/dom-wrapper/node/ScriptElement.js +0 -45
  53. package/dom/jsview-dom/src/dom-wrapper/node/StyleElement.js +0 -33
  54. package/dom/jsview-dom/src/dom-wrapper/node/StyleElementCache.js +0 -41
  55. package/dom/jsview-dom/src/dom-wrapper/node/Text.js +0 -22
  56. package/dom/jsview-dom/src/dom-wrapper/node/UnknownElement.js +0 -4
  57. package/dom/jsview-dom/src/dom-wrapper/node/VideoElement.js +0 -237
  58. package/dom/jsview-dom/src/dom-wrapper/style/BorderImage.js +0 -25
  59. package/dom/jsview-dom/src/dom-wrapper/style/Inset.js +0 -26
  60. package/dom/jsview-dom/src/dom-wrapper/style/JsvStyleVariable.js +0 -65
  61. package/dom/jsview-dom/src/dom-wrapper/style/KeyframeRule.js +0 -11
  62. package/dom/jsview-dom/src/dom-wrapper/style/StyleDeclaration.js +0 -609
  63. package/dom/jsview-dom/src/dom-wrapper/style/StyleSheet.js +0 -51
  64. package/dom/jsview-dom/src/dom-wrapper/style/StyleValue.js +0 -385
  65. package/dom/jsview-dom/src/dom-wrapper/style/TextStylePackMap.js +0 -43
  66. package/dom/jsview-dom/src/dom-wrapper/style/URL.js +0 -144
  67. package/dom/jsview-dom/src/dom-wrapper/utils/EventHandler.js +0 -42
  68. package/dom/jsview-dom/src/dom-wrapper/utils/FDivRoot.js +0 -86
  69. package/dom/jsview-dom/src/dom-wrapper/utils/JsvLazySyncCache.js +0 -64
  70. package/dom/jsview-dom/src/dom-wrapper/utils/Log.js +0 -42
  71. package/dom/jsview-dom/src/dom-wrapper/utils/MutationObserver.js +0 -32
  72. package/dom/jsview-dom/src/dom-wrapper/utils/focusableNode.js +0 -715
  73. package/dom/jsview-dom/src/engine-js/ForgeDefine.js +0 -8
  74. package/dom/jsview-dom/src/engine-js/ForgeExtensionDefine.js +0 -14
  75. package/dom/jsview-dom/src/engine-js/browser/PlatformUtils.js +0 -100
  76. package/dom/jsview-dom/src/engine-js/browser/animation_base.js +0 -313
  77. package/dom/jsview-dom/src/engine-js/browser/animation_keyframe.js +0 -64
  78. package/dom/jsview-dom/src/engine-js/browser/animation_progress.js +0 -287
  79. package/dom/jsview-dom/src/engine-js/browser/animation_proxy.js +0 -906
  80. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/demux.js +0 -143
  81. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/gifDecoder.js +0 -12
  82. package/dom/jsview-dom/src/engine-js/browser/apic_decoder/libwebp-0.6.0.min.js +0 -160
  83. package/dom/jsview-dom/src/engine-js/browser/console_log.js +0 -25
  84. package/dom/jsview-dom/src/engine-js/browser/dynamic_key_frames.js +0 -95
  85. package/dom/jsview-dom/src/engine-js/browser/easing.js +0 -114
  86. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/element_transform.js +0 -122
  87. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/gjk.js +0 -450
  88. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/mat.js +0 -102
  89. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/range_model.js +0 -296
  90. package/dom/jsview-dom/src/engine-js/browser/html_shared_tools/test_collide.js +0 -10
  91. package/dom/jsview-dom/src/engine-js/browser/index.js +0 -38
  92. package/dom/jsview-dom/src/engine-js/browser/latex_parse.js +0 -336
  93. package/dom/jsview-dom/src/engine-js/browser/layout_params.js +0 -113
  94. package/dom/jsview-dom/src/engine-js/browser/layout_view.js +0 -3545
  95. package/dom/jsview-dom/src/engine-js/browser/layout_view_debug.js +0 -15
  96. package/dom/jsview-dom/src/engine-js/browser/media.js +0 -379
  97. package/dom/jsview-dom/src/engine-js/browser/page_base.js +0 -941
  98. package/dom/jsview-dom/src/engine-js/browser/particle_view.js +0 -526
  99. package/dom/jsview-dom/src/engine-js/browser/platform_timer.js +0 -61
  100. package/dom/jsview-dom/src/engine-js/browser/react_utils.js +0 -5
  101. package/dom/jsview-dom/src/engine-js/browser/rect_utils.js +0 -91
  102. package/dom/jsview-dom/src/engine-js/browser/render_bridge.js +0 -128
  103. package/dom/jsview-dom/src/engine-js/browser/render_texture_proxy.js +0 -155
  104. package/dom/jsview-dom/src/engine-js/browser/renderer_deprecated.js +0 -75
  105. package/dom/jsview-dom/src/engine-js/browser/sound_pool.js +0 -139
  106. package/dom/jsview-dom/src/engine-js/browser/steps_animation.js +0 -192
  107. package/dom/jsview-dom/src/engine-js/browser/text_style_cache.js +0 -454
  108. package/dom/jsview-dom/src/engine-js/browser/text_utils.js +0 -299
  109. package/dom/jsview-dom/src/engine-js/browser/text_view.js +0 -428
  110. package/dom/jsview-dom/src/engine-js/browser/texture_manager.js +0 -1060
  111. package/dom/jsview-dom/src/engine-js/browser/url.js +0 -69
  112. package/dom/jsview-dom/src/engine-js/browser/velocity.js +0 -40
  113. package/dom/jsview-dom/src/engine-js/browser/view_sensor/autofroze_sensor.js +0 -77
  114. package/dom/jsview-dom/src/engine-js/browser/view_sensor/drag_impact_sensor.js +0 -67
  115. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor.js +0 -98
  116. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor_callback.js +0 -21
  117. package/dom/jsview-dom/src/engine-js/browser/view_sensor/impact_sensor_manager.js +0 -24
  118. package/dom/jsview-dom/src/engine-js/browser/view_sensor/index.js +0 -9
  119. package/dom/jsview-dom/src/engine-js/browser/view_sensor/view_sensor.js +0 -268
  120. package/dom/jsview-dom/src/engine-js/browser/view_sensor/view_sensor_manager.js +0 -84
  121. package/dom/jsview-dom/src/engine-js/browser/view_sensor/visible_sensor.js +0 -213
  122. package/dom/jsview-dom/src/engine-js/browser/view_store.js +0 -41
  123. package/dom/jsview-dom/src/engine-js/index.js +0 -2
  124. package/dom/jsview-dom/src/engine-js/native/README.md +0 -1
@@ -1,454 +0,0 @@
1
- /**
2
- * Created by ludl on 12/10/20.
3
- */
4
-
5
- /* eslint-disable no-unused-vars */
6
-
7
- import Forge from "../ForgeDefine";
8
-
9
- {
10
- let sTextStyleIdGen = 0;
11
-
12
- class TextStyleObjectBase {
13
- constructor(type, fix_named_id) {
14
- this._ID = fix_named_id ? fix_named_id : type + sTextStyleIdGen++;
15
- this.Describe = {};
16
- this._RefCount = 0;
17
- this._Recycled = false; // 预留属性, 未来由于ref == 0,而从列表中移除后,设置标识位
18
- }
19
-
20
- ManualSetId(fix_named_id) {
21
- this._ID = fix_named_id;
22
- }
23
-
24
- GetId() {
25
- return this._ID;
26
- }
27
-
28
- // StylePack的Ref管理,通过TextStyleTexture的自动释放触发
29
- // 理论上从屏幕拿掉后的TextStyleTexture都会自动释放,在UnloadTex中触发UnRef
30
- DoRef() {
31
- this._RefCount++;
32
- }
33
-
34
- UnRef() {
35
- if (this._RefCount > 0) {
36
- this._RefCount--;
37
- } else {
38
- console.warn("Already 0...");
39
- }
40
- }
41
- }
42
-
43
- class FixNameStyle extends TextStyleObjectBase {
44
- constructor(fix_named_id) {
45
- super(null, fix_named_id);
46
- }
47
- }
48
-
49
- // 代表不激活的style,例如SpecialStyle场景
50
- const sDisableStyle = new FixNameStyle("DISABLE");
51
-
52
- const sDefaultDisplayStyle = {
53
- alignment: "left",
54
- vertical_align: "top",
55
- vertical_area_align: "top",
56
- text_overflow: "clip",
57
- word_wrap: "normal",
58
- direction: 'ltr',
59
- };
60
- // 注意:NamesList的顺序需要和constructor的参数顺序相同
61
- const sDisplayStyleNames = [
62
- "alignment",
63
- "vertical_align",
64
- "vertical_area_align",
65
- "text_overflow",
66
- "word_wrap",
67
- "direction",
68
- ];
69
- class DisplayStyle extends TextStyleObjectBase {
70
- constructor(
71
- alignment,
72
- vertical_align,
73
- vertical_area_align,
74
- text_overflow,
75
- word_wrap,
76
- direction,
77
- ) {
78
- super("DS", null);
79
-
80
- // 具体化Describe信息
81
- this.Describe["alignment"] = alignment;
82
- this.Describe["vertical_align"] = vertical_align;
83
- this.Describe["vertical_area_align"] = vertical_area_align;
84
- this.Describe["text_overflow"] = text_overflow;
85
- this.Describe["word_wrap"] = word_wrap;
86
- this.Describe["direction"] = direction;
87
- }
88
-
89
- GetSyncData() {
90
- return {
91
- T: 0, // type
92
- ID: this._ID,
93
- A: this.Describe["alignment"],
94
- VA: this.Describe["vertical_align"],
95
- VAA: this.Describe["vertical_area_align"],
96
- TO: this.Describe["text_overflow"],
97
- WW: this.Describe["word_wrap"],
98
- DIR: this.Describe["direction"],
99
- };
100
- }
101
- }
102
-
103
- const sDefaultFontStyle = {
104
- font: "黑体",
105
- italic: false,
106
- bold: false,
107
- };
108
- // 注意:NamesList的顺序需要和constructor的参数顺序相同
109
- const sFontStyleNames = ["font", "italic", "bold"];
110
- class FontStyle extends TextStyleObjectBase {
111
- constructor(font, italic, bold) {
112
- super("FS", null);
113
-
114
- // 具体化Describe信息
115
- this.Describe["font"] = font;
116
- this.Describe["italic"] = italic;
117
- this.Describe["bold"] = bold;
118
- }
119
-
120
- GetSyncData() {
121
- return {
122
- T: 1, // type
123
- ID: this._ID,
124
- F: this.Describe["font"],
125
- I: this.Describe["italic"],
126
- B: this.Describe["bold"],
127
- };
128
- }
129
- }
130
-
131
- const sDefaultColorStyle = {
132
- text_color: "#000000", // 默认黑字
133
- bg_color: "#00FFFFFF", // 默认白色透明背景
134
- };
135
- // 注意:NamesList的顺序需要和constructor的参数顺序相同
136
- const sColorStyleNames = ["text_color", "bg_color"];
137
- class ColorStyle extends TextStyleObjectBase {
138
- constructor(text_color, bg_color) {
139
- super("CS", null);
140
-
141
- this.Describe["text_color"] = text_color;
142
- this.Describe["bg_color"] = bg_color;
143
- }
144
-
145
- GetSyncData() {
146
- return {
147
- T: 2, // type
148
- ID: this._ID,
149
- TC: this.Describe["text_color"],
150
- BC: this.Describe["bg_color"],
151
- };
152
- }
153
- }
154
-
155
- const sDefaultSpecialStyle = {
156
- shadow_offset_x: 0,
157
- shadow_offset_y: 0,
158
- shadow_blur: 0,
159
- shadow_color: null,
160
- stroke_width: 0,
161
- stroke_color: null,
162
- };
163
- // 注意:NamesList的顺序需要和constructor的参数顺序相同
164
- const sSpecialStyleNames = [
165
- "shadow_offset_x",
166
- "shadow_offset_y",
167
- "shadow_blur",
168
- "shadow_color",
169
- "stroke_width",
170
- "stroke_color",
171
- ];
172
- class SpecialStyle extends TextStyleObjectBase {
173
- constructor(
174
- shadow_offset_x,
175
- shadow_offset_y,
176
- shadow_blur,
177
- shadow_color,
178
- stroke_width,
179
- stroke_color
180
- ) {
181
- super("SS", null);
182
-
183
- this.Describe["shadow_offset_x"] = shadow_offset_x;
184
- this.Describe["shadow_offset_y"] = shadow_offset_y;
185
- this.Describe["shadow_blur"] = shadow_blur;
186
- this.Describe["shadow_color"] = shadow_color;
187
- this.Describe["stroke_width"] = stroke_width;
188
- this.Describe["stroke_color"] = stroke_color;
189
- }
190
-
191
- GetSyncData() {
192
- return {
193
- T: 3, // type
194
- ID: this._ID,
195
- OX: this.Describe["shadow_offset_x"],
196
- OY: this.Describe["shadow_offset_y"],
197
- B: this.Describe["shadow_blur"],
198
- C: this.Describe["shadow_color"],
199
- SW: this.Describe["stroke_width"],
200
- SC: this.Describe["stroke_color"],
201
- };
202
- }
203
- }
204
-
205
- class TextStylePack {
206
- constructor(style_define) {
207
- this.DS = Forge.sTextStyleCache.GetDisplayStyle(style_define);
208
- this.FS = Forge.sTextStyleCache.GetFontStyle(style_define);
209
- this.CS = Forge.sTextStyleCache.GetColorStyle(style_define);
210
- this.SS = Forge.sTextStyleCache.GetSpecialStyle(style_define);
211
- this._IdsCache = null;
212
- }
213
-
214
- DoRef() {
215
- this.DS.DoRef();
216
- this.FS.DoRef();
217
- this.CS.DoRef();
218
- this.SS.DoRef();
219
- }
220
-
221
- UnRef() {
222
- this.DS.UnRef();
223
- this.FS.UnRef();
224
- this.CS.UnRef();
225
- this.SS.UnRef();
226
- }
227
-
228
- GetIdsPack() {
229
- if (!this._IdsCache) {
230
- this._IdsCache = {
231
- DS: this.DS.GetId(),
232
- FS: this.FS.GetId(),
233
- CS: this.CS.GetId(),
234
- SS: this.SS.GetId(),
235
- };
236
- }
237
-
238
- return this._IdsCache;
239
- }
240
- }
241
-
242
- class TextStyleCache {
243
- constructor() {
244
- // Map, 分为Map(key为属性连接), Ids(key为TextStyleObjectBase的ID),编译快速检索
245
- this._DisplayStyleMap = new Map();
246
- this._DisplayStyleIds = new Map();
247
- this._FontStyleMap = new Map();
248
- this._FontStyleIds = new Map();
249
- this._ColorStyleMap = new Map();
250
- this._ColorStyleIds = new Map();
251
- this._SpecialStyleMap = new Map();
252
- this._SpecialStyleIds = new Map();
253
-
254
- // 供native同步时的新 TextStyleObjectBase 队列
255
- this._NewStyleList = [];
256
- }
257
-
258
- StyleToPack(style_define_origin) {
259
- // 创建TextStylePack
260
-
261
- // 成员变量属性名称转换和对应
262
- let style_define = {
263
- alignment:
264
- typeof style_define_origin["hAlign"] != "undefined"
265
- ? style_define_origin["hAlign"]
266
- : sDefaultDisplayStyle.alignment,
267
- vertical_align:
268
- typeof style_define_origin["vAlign"] != "undefined"
269
- ? style_define_origin["vAlign"]
270
- : sDefaultDisplayStyle.vertical_align,
271
- vertical_area_align:
272
- typeof style_define_origin["vAreaAlign"] != "undefined"
273
- ? style_define_origin["vAreaAlign"]
274
- : sDefaultDisplayStyle.vertical_area_align,
275
- text_overflow:
276
- typeof style_define_origin["textOverflow"] != "undefined"
277
- ? style_define_origin["textOverflow"]
278
- : sDefaultDisplayStyle.text_overflow,
279
- word_wrap:
280
- typeof style_define_origin["wordWrap"] != "undefined"
281
- ? style_define_origin["wordWrap"]
282
- : sDefaultDisplayStyle.word_wrap,
283
- font:
284
- typeof style_define_origin["font"] != "undefined"
285
- ? style_define_origin["font"]
286
- : sDefaultFontStyle.font,
287
- italic:
288
- typeof style_define_origin["italic"] != "undefined"
289
- ? style_define_origin["italic"]
290
- : sDefaultFontStyle.italic,
291
- bold:
292
- typeof style_define_origin["bold"] != "undefined"
293
- ? style_define_origin["bold"]
294
- : sDefaultFontStyle.bold,
295
- text_color:
296
- typeof style_define_origin["textColor"] != "undefined"
297
- ? style_define_origin["textColor"]
298
- : sDefaultColorStyle.text_color,
299
- bg_color:
300
- typeof style_define_origin["backgroundColor"] != "undefined"
301
- ? style_define_origin["backgroundColor"]
302
- : sDefaultColorStyle.bg_color,
303
- direction:
304
- typeof style_define_origin["direction"] != "undefined"
305
- ? style_define_origin["direction"]
306
- : "ltr",
307
- shadow_offset_x: 0,
308
- shadow_offset_y: 0,
309
- shadow_blur: 0,
310
- shadow_color: null,
311
- stroke_width: 0,
312
- stroke_color: null,
313
- };
314
-
315
- // Shadow处理
316
- if (style_define_origin.shadow) {
317
- const shadow_set = style_define_origin.shadow;
318
- style_define.shadow_offset_x = shadow_set.shadowOffsetX;
319
- style_define.shadow_offset_y = shadow_set.shadowOffsetY;
320
- style_define.shadow_blur = shadow_set.shadowBlur;
321
- style_define.shadow_color = shadow_set.shadowColor;
322
- }
323
-
324
- // Stroke处理
325
- if (style_define_origin.stroke) {
326
- const stroke_set = style_define_origin.stroke;
327
- style_define.stroke_width = stroke_set.strokeWidth;
328
- style_define.stroke_color = stroke_set.strokeColor;
329
- }
330
-
331
- return new TextStylePack(style_define);
332
- }
333
-
334
- PrepareSyncNewStyles() {
335
- if (this._NewStyleList.length > 0) {
336
- let sync_styles = [];
337
-
338
- for (let new_style of this._NewStyleList) {
339
- sync_styles.push(new_style.GetSyncData());
340
- }
341
-
342
- var status_texture =
343
- Forge.sRenderTextureDelegateManager.CreateTextureHeadStatus();
344
- status_texture.SetResourceInfo({
345
- STA: {
346
- Nam: "TST",
347
- Sta: sync_styles,
348
- },
349
- });
350
-
351
- // 清空 new style 列表
352
- this._NewStyleList = [];
353
- }
354
- }
355
-
356
- GetDisplayStyle(style_define) {
357
- return this._GetStyle(
358
- style_define,
359
- sDisplayStyleNames,
360
- DisplayStyle,
361
- this._DisplayStyleMap,
362
- this._DisplayStyleIds
363
- );
364
- }
365
-
366
- GetFontStyle(style_define) {
367
- return this._GetStyle(
368
- style_define,
369
- sFontStyleNames,
370
- FontStyle,
371
- this._FontStyleMap,
372
- this._FontStyleIds
373
- );
374
- }
375
-
376
- GetColorStyle(style_define) {
377
- return this._GetStyle(
378
- style_define,
379
- sColorStyleNames,
380
- ColorStyle,
381
- this._ColorStyleMap,
382
- this._ColorStyleIds
383
- );
384
- }
385
-
386
- GetSpecialStyle(style_define) {
387
- if (
388
- style_define.shadow_blur === 0 && // 虽然Browser支持blur=0,但盒子Native端当blur为0时不描画
389
- style_define.stroke_width === 0
390
- ) {
391
- return sDisableStyle;
392
- }
393
-
394
- return this._GetStyle(
395
- style_define,
396
- sSpecialStyleNames,
397
- SpecialStyle,
398
- this._SpecialStyleMap,
399
- this._SpecialStyleIds
400
- );
401
- }
402
-
403
- // interface for forge_html
404
- GetDsFromId(id) {
405
- return this._DisplayStyleIds.get(id);
406
- }
407
-
408
- GetFsFromId(id) {
409
- return this._FontStyleIds.get(id);
410
- }
411
-
412
- GetCsFromId(id) {
413
- return this._ColorStyleIds.get(id);
414
- }
415
-
416
- GetSsFromId(id) {
417
- return this._SpecialStyleIds.get(id);
418
- }
419
-
420
- _GetStyle(style_define, prop_name_list, class_define, map_ref, ids_ref) {
421
- let props_values = [];
422
- for (let name of prop_name_list) {
423
- props_values.push(style_define[name]);
424
- }
425
-
426
- // 制作style key
427
- let map_key = props_values.join(":");
428
-
429
- // 查找Map,获取或新建
430
- let style_object = null;
431
- if (!map_ref.has(map_key)) {
432
- style_object = new class_define(...props_values);
433
-
434
- // 填充Map, 两个维度的Map,以提高检索速度
435
- map_ref.set(map_key, style_object);
436
- ids_ref.set(style_object.GetId(), style_object);
437
-
438
- // 加入预备同步native的队列中(解决PC版本的兼容处理,加上了window.JsView判断)
439
- if (window.JsView) {
440
- this._NewStyleList.push(style_object);
441
- }
442
- } else {
443
- style_object = map_ref.get(map_key);
444
- }
445
-
446
- return style_object;
447
- }
448
- }
449
-
450
- // export
451
- Forge.TextStyleObjectBase = TextStyleObjectBase;
452
- Forge.TextStylePack = TextStylePack;
453
- Forge.sTextStyleCache = new TextStyleCache(); // 一个NativeForge内部只有一个共享的map,所以此处也为单例
454
- }