vislite 0.4.1 → 0.5.0

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 (180) hide show
  1. package/.editorconfig +18 -18
  2. package/AUTHORS.txt +6 -6
  3. package/CHANGELOG +16 -0
  4. package/LICENSE +20 -20
  5. package/README.md +69 -69
  6. package/lib/Buffer/index.umd.js +3 -3
  7. package/lib/Buffer/index.umd.min.js +3 -3
  8. package/lib/Canvas/index.umd.js +3 -3
  9. package/lib/Canvas/index.umd.min.js +3 -3
  10. package/lib/Cardinal/index.umd.js +3 -3
  11. package/lib/Cardinal/index.umd.min.js +3 -3
  12. package/lib/Eoap/index.umd.js +3 -3
  13. package/lib/Eoap/index.umd.min.js +3 -3
  14. package/lib/Geometry/index.umd.js +205 -0
  15. package/lib/Geometry/index.umd.min.js +11 -0
  16. package/lib/Hermite/index.umd.js +3 -3
  17. package/lib/Hermite/index.umd.min.js +3 -3
  18. package/lib/Matrix4/index.umd.js +3 -3
  19. package/lib/Matrix4/index.umd.min.js +3 -3
  20. package/lib/Mercator/index.umd.js +5 -4
  21. package/lib/Mercator/index.umd.min.js +4 -4
  22. package/lib/OralCanvas/index.es.js +3 -3
  23. package/lib/OralCanvas/index.es.min.js +3 -3
  24. package/lib/OralWebGL/index.es.js +11 -11
  25. package/lib/OralWebGL/index.es.min.js +4 -4
  26. package/lib/SVG/index.umd.js +10 -4
  27. package/lib/SVG/index.umd.min.js +4 -4
  28. package/lib/Shader/index.umd.js +11 -11
  29. package/lib/Shader/index.umd.min.js +4 -4
  30. package/lib/Texture/index.umd.js +3 -3
  31. package/lib/Texture/index.umd.min.js +3 -3
  32. package/lib/TreeLayout/index.umd.js +8 -5
  33. package/lib/TreeLayout/index.umd.min.js +4 -4
  34. package/lib/WebGL/index.umd.js +11 -11
  35. package/lib/WebGL/index.umd.min.js +4 -4
  36. package/lib/animation/index.umd.js +3 -3
  37. package/lib/animation/index.umd.min.js +3 -3
  38. package/lib/formatColor/index.umd.js +3 -3
  39. package/lib/formatColor/index.umd.min.js +3 -3
  40. package/lib/getLoopColors/index.umd.js +3 -3
  41. package/lib/getLoopColors/index.umd.min.js +3 -3
  42. package/lib/getWebGLContext/index.umd.js +3 -3
  43. package/lib/getWebGLContext/index.umd.min.js +3 -3
  44. package/lib/index.umd.js +166 -16
  45. package/lib/index.umd.min.js +4 -4
  46. package/lib/resizeObserver/index.umd.js +3 -3
  47. package/lib/resizeObserver/index.umd.min.js +3 -3
  48. package/lib/rotate/index.umd.js +3 -3
  49. package/lib/rotate/index.umd.min.js +3 -3
  50. package/lib/ruler/index.umd.js +3 -3
  51. package/lib/ruler/index.umd.min.js +3 -3
  52. package/lib/throttle/index.umd.js +3 -3
  53. package/lib/throttle/index.umd.min.js +3 -3
  54. package/lib/viewHandler/index.umd.js +3 -3
  55. package/lib/viewHandler/index.umd.min.js +3 -3
  56. package/miniprogram/ui-canvas/index.js +107 -107
  57. package/miniprogram/ui-canvas/index.json +4 -4
  58. package/miniprogram/ui-canvas/index.wxml +4 -4
  59. package/miniprogram/ui-canvas/index.wxss +5 -5
  60. package/package/Buffer/index.ts +2 -2
  61. package/package/Canvas/index.ts +2 -2
  62. package/package/Cardinal/index.ts +2 -2
  63. package/package/Eoap/index.ts +2 -2
  64. package/package/Geometry/index.ts +3 -0
  65. package/package/Hermite/index.ts +2 -2
  66. package/package/Matrix4/index.ts +2 -2
  67. package/package/Mercator/index.ts +2 -2
  68. package/package/OralCanvas/index.ts +2 -2
  69. package/package/OralWebGL/index.ts +2 -2
  70. package/package/SVG/index.ts +2 -2
  71. package/package/Shader/index.ts +39 -39
  72. package/package/Texture/index.ts +2 -2
  73. package/package/TreeLayout/index.ts +2 -2
  74. package/package/WebGL/index.ts +2 -2
  75. package/package/animation/index.ts +2 -2
  76. package/package/formatColor/index.ts +2 -2
  77. package/package/getLoopColors/index.ts +2 -2
  78. package/package/getWebGLContext/index.ts +39 -39
  79. package/package/index.ts +6 -1
  80. package/package/resizeObserver/index.ts +2 -2
  81. package/package/rotate/index.ts +2 -2
  82. package/package/ruler/index.ts +2 -2
  83. package/package/throttle/index.ts +2 -2
  84. package/package/viewHandler/index.ts +2 -2
  85. package/package.json +3 -1
  86. package/src/Canvas.ts +67 -67
  87. package/src/Eoap.ts +1 -1
  88. package/src/Geometry.ts +83 -0
  89. package/src/Matrix4/index.ts +2 -2
  90. package/src/Matrix4/move.ts +12 -12
  91. package/src/Matrix4/rotate.ts +15 -15
  92. package/src/Matrix4/scale.ts +11 -11
  93. package/src/Matrix4/transform.ts +64 -64
  94. package/src/Mercator.ts +3 -2
  95. package/src/SVG.ts +24 -24
  96. package/src/TreeLayout/index.ts +4 -3
  97. package/src/WebGL.ts +66 -66
  98. package/src/animation.ts +98 -98
  99. package/src/common/assemble.ts +22 -22
  100. package/src/common/canvas/arc.ts +50 -50
  101. package/src/common/canvas/config.ts +158 -158
  102. package/src/common/canvas/gradient.ts +29 -29
  103. package/src/common/canvas/index.ts +168 -168
  104. package/src/common/canvas/painter.ts +426 -426
  105. package/src/common/canvas/texts.ts +18 -18
  106. package/src/common/geometry/prism-horizontal.ts +33 -0
  107. package/src/common/geometry/prism-vertical.ts +40 -0
  108. package/src/common/geometry/sphere-fragment.ts +39 -0
  109. package/src/common/geometry/tool/circle.ts +12 -0
  110. package/src/common/mergeOption.ts +6 -6
  111. package/src/common/setStyle.ts +5 -5
  112. package/src/common/svg/config.ts +174 -174
  113. package/src/common/svg/index.ts +9 -1
  114. package/src/common/svg/tool.ts +44 -44
  115. package/src/common/tree/index.ts +25 -25
  116. package/src/common/tree/toInnerTree.ts +56 -56
  117. package/src/common/tree/toPlainTree.ts +131 -131
  118. package/src/common/webgl/buffer.ts +79 -79
  119. package/src/common/webgl/doDraw.ts +108 -108
  120. package/src/common/webgl/getColorFactory.ts +26 -26
  121. package/src/common/webgl/getShader.ts +48 -48
  122. package/src/common/webgl/getTexture.ts +11 -11
  123. package/src/common/webgl/getWebGLContext.ts +27 -27
  124. package/src/common/webgl/index.ts +223 -223
  125. package/src/common/webgl/shader.ts +75 -75
  126. package/src/common/webgl/texture.ts +96 -96
  127. package/src/formatColor.ts +44 -44
  128. package/src/getLoopColors.ts +42 -42
  129. package/src/interpolation/Cardinal.ts +110 -110
  130. package/src/interpolation/Hermite.ts +65 -65
  131. package/src/resizeObserver.ts +36 -36
  132. package/src/rotate.ts +1 -1
  133. package/src/ruler.ts +188 -188
  134. package/src/shader/fsColor.c +7 -7
  135. package/src/shader/fsColors.c +7 -7
  136. package/src/shader/fsCube.c +8 -8
  137. package/src/shader/fsImage.c +8 -8
  138. package/src/shader/vsColor.c +17 -17
  139. package/src/shader/vsColors.c +13 -13
  140. package/src/shader/vsCube.c +13 -13
  141. package/src/shader/vsImage.c +13 -13
  142. package/src/throttle.ts +51 -51
  143. package/src/viewHandler.ts +158 -158
  144. package/types/Buffer.d.ts +23 -23
  145. package/types/Canvas.d.ts +300 -300
  146. package/types/CanvasConfig.d.ts +24 -0
  147. package/types/CanvasOption.d.ts +7 -7
  148. package/types/Cardinal.d.ts +13 -13
  149. package/types/Geometry.d.ts +41 -0
  150. package/types/GeometryOption.d.ts +12 -0
  151. package/types/GeometryResult.d.ts +19 -0
  152. package/types/Gradient.d.ts +14 -14
  153. package/types/Hermite.d.ts +18 -18
  154. package/types/Map.d.ts +2 -2
  155. package/types/Matrix4.d.ts +4 -4
  156. package/types/Object3D.d.ts +114 -114
  157. package/types/SVG.d.ts +18 -13
  158. package/types/SVGConfig.d.ts +76 -60
  159. package/types/Scene3D.d.ts +6 -6
  160. package/types/Shader.d.ts +21 -21
  161. package/types/Texture.d.ts +16 -16
  162. package/types/Tree.d.ts +69 -69
  163. package/types/TreeConfig.d.ts +24 -24
  164. package/types/TreeLayout.d.ts +8 -2
  165. package/types/TreeOption.d.ts +48 -48
  166. package/types/WebGL.d.ts +38 -38
  167. package/types/WebGLOption.d.ts +7 -7
  168. package/types/animation.d.ts +6 -6
  169. package/types/formatColor.d.ts +2 -2
  170. package/types/getLoopColors.d.ts +2 -2
  171. package/types/getWebGLContext.d.ts +2 -2
  172. package/types/index.d.ts +15 -1
  173. package/types/painterConfig.d.ts +2 -2
  174. package/types/resizeObserver.d.ts +2 -2
  175. package/types/rotate.d.ts +1 -1
  176. package/types/ruler.d.ts +7 -7
  177. package/types/throttle.d.ts +4 -4
  178. package/types/throttleOption.d.ts +21 -21
  179. package/types/viewHandler.d.ts +13 -13
  180. package/uni-app/ui-canvas.vue +222 -222
@@ -1,14 +1,14 @@
1
- export interface paramsType {
2
- type: string
3
- value: number,
4
- normal: number[],
5
- event: Event
6
- }
7
-
8
- export interface callbackFun {
9
- (params: paramsType): void
10
- }
11
-
12
- export default interface viewHandlerType {
13
- (callback: callbackFun): void
1
+ export interface paramsType {
2
+ type: string
3
+ value: number,
4
+ normal: number[],
5
+ event: Event
6
+ }
7
+
8
+ export interface callbackFun {
9
+ (params: paramsType): void
10
+ }
11
+
12
+ export default interface viewHandlerType {
13
+ (callback: callbackFun): void
14
14
  }
@@ -1,222 +1,222 @@
1
- <template>
2
- <view :class="cover || isH5 ? 'cover-view' : 'normal-view'">
3
- <view :class="'view-img view-' + uniqueid" @touchstart="doitstart">
4
- <image :style="{ width: width + 'px', height: height + 'px' }" :src="viewImg"></image>
5
- </view>
6
-
7
- <!-- #ifdef MP-ALIPAY -->
8
- <canvas class="painter" :id="'painter-' + uniqueid" @touchstart="doitstart"
9
- :style="{ width: width + 'px', height: height + 'px' }"></canvas>
10
- <canvas v-if="region" class="region" :id="'region-' + uniqueid"
11
- :style="{ width: width + 'px', height: height + 'px' }"></canvas>
12
- <!-- #endif -->
13
- <!-- #ifdef MP-WEIXIN -->
14
- <canvas class="painter" canvas-id="painter" @touchstart="doitstart"
15
- :style="{ width: width + 'px', height: height + 'px' }"></canvas>
16
- <canvas v-if="region" class="region" canvas-id="region"
17
- :style="{ width: width + 'px', height: height + 'px' }"></canvas>
18
- <!-- #endif -->
19
- <!-- #ifndef MP-WEIXIN||MP-ALIPAY -->
20
- <canvas class="painter" :canvas-id="'painter-' + uniqueid" @touchstart="doitstart"
21
- :style="{ width: width + 'px', height: height + 'px' }"></canvas>
22
- <canvas v-if="region" class="region" :canvas-id="'region-' + uniqueid"
23
- :style="{ width: width + 'px', height: height + 'px' }"></canvas>
24
- <!-- #endif -->
25
- </view>
26
- </template>
27
- <script>
28
- import OralCanvas from "../lib/OralCanvas/index.es.js";
29
- export default {
30
- data() {
31
- return {
32
- uniqueid: (Math.random() * 10000).toFixed(0),
33
- help: {},
34
- viewImg: "",
35
- // #ifdef H5
36
- isH5: true,
37
- // #endif
38
- // #ifndef H5
39
- isH5: false,
40
- // #endif
41
- };
42
- },
43
- props: {
44
- width: {
45
- type: Number,
46
- default: 300,
47
- },
48
- height: {
49
- type: Number,
50
- default: 150,
51
- },
52
- touchstart: {
53
- type: Function,
54
- default: () => { },
55
- },
56
- cover: {
57
- type: Boolean,
58
- default: true,
59
- },
60
- region: {
61
- type: Boolean,
62
- default: true,
63
- },
64
- },
65
- methods: {
66
- fetch() {
67
- let painter, region, painterid, regionid;
68
- // #ifdef MP-WEIXIN
69
- painter = uni.createCanvasContext("painter", this);
70
- if (this.region) region = uni.createCanvasContext("region", this);
71
- painterid = "painter";
72
- regionid = "region";
73
- // #endif
74
- // #ifndef MP-WEIXIN
75
- painter = uni.createCanvasContext("painter-" + this.uniqueid, this);
76
- if (this.region) region = uni.createCanvasContext("region-" + this.uniqueid, this);
77
- painterid = "painter-" + this.uniqueid;
78
- regionid = "region-" + this.uniqueid;
79
- // #endif
80
-
81
- let _this = this;
82
- this.help.instance = new OralCanvas(
83
- {
84
- getContext() {
85
- return painter;
86
- },
87
- },
88
- _this.region ? {
89
- getContext() {
90
- // #ifdef MP-ALIPAY
91
- let getImageData = region.getImageData;
92
- // #endif
93
- region.getImageData = (x, y, width, height) => {
94
- return new Promise((resolve, reject) => {
95
- let options = {
96
- x,
97
- y,
98
- width,
99
- height,
100
- canvasId: regionid,
101
- success: function success(res) {
102
- resolve(res.data);
103
- },
104
- fail: function fail(error) {
105
- reject(error);
106
- },
107
- };
108
-
109
- // #ifdef MP-ALIPAY
110
- getImageData(options, _this);
111
- // #endif
112
- // #ifndef MP-ALIPAY
113
- uni.canvasGetImageData(options, _this);
114
- // #endif
115
- });
116
- };
117
- return region;
118
- },
119
- } : null
120
- );
121
- this.help.instance.draw = (reserve = false, callback = () => { }) => {
122
- painter.draw(reserve, () => {
123
-
124
- // 如果不使用原生渲染
125
- if (!this.cover && !this.isH5) {
126
- uni.canvasToTempFilePath(
127
- {
128
- canvasId: painterid,
129
- success: (e) => {
130
- this.viewImg = e.tempFilePath;
131
- if (_this.region) region.draw(reserve);
132
- callback();
133
- },
134
- },
135
- this
136
- );
137
- } else {
138
- if (_this.region) region.draw(reserve);
139
- callback();
140
- }
141
- });
142
-
143
- };
144
- return new Promise((resolve, reject) => {
145
- this.help.instance.toDataURL = () => {
146
- return new Promise((resolveUrl) => {
147
- uni.canvasToTempFilePath(
148
- {
149
- canvasId: painterid,
150
- success: function (e) {
151
- resolveUrl(e.tempFilePath);
152
- },
153
- },
154
- this
155
- );
156
- });
157
- };
158
-
159
- resolve(this.help.instance);
160
- });
161
- },
162
- doit(event, doback) {
163
- let doRun = (x, y) => {
164
- this.help.instance.getRegion(x, y).then((regionName) => {
165
- // 兼容旧语法
166
- if (typeof doback == "function") doback(regionName);
167
-
168
- this.$emit("dotouchstart", {
169
- name: regionName,
170
- x: x,
171
- y: y,
172
- });
173
- });
174
- };
175
-
176
- if (this.cover || this.isH5) {
177
- let x = event.touches[0].x;
178
- let y = event.touches[0].y;
179
- doRun(x, y);
180
- } else {
181
- uni
182
- .createSelectorQuery()
183
- .selectViewport()
184
- .scrollOffset()
185
- .exec((ret) => {
186
- uni
187
- .createSelectorQuery()
188
- .in(this)
189
- .select(".view-" + this.uniqueid)
190
- .boundingClientRect((data) => {
191
- doRun(
192
- event.touches[0].pageX - data.left - ret[0].scrollLeft,
193
- event.touches[0].pageY - data.top - ret[0].scrollTop
194
- );
195
- })
196
- .exec();
197
- });
198
- }
199
- },
200
- doitstart(event) {
201
- this.doit(event, this.touchstart);
202
- },
203
- },
204
- };
205
- </script>
206
-
207
- <style lang="css" scoped>
208
- /* 辅助的区域不应该可以看见 */
209
- .region {
210
- position: fixed;
211
- left: 50000px;
212
- }
213
-
214
- .cover-view .view-img {
215
- display: none;
216
- }
217
-
218
- .normal-view .painter {
219
- position: fixed;
220
- left: 50000px;
221
- }
222
- </style>
1
+ <template>
2
+ <view :class="cover || isH5 ? 'cover-view' : 'normal-view'">
3
+ <view :class="'view-img view-' + uniqueid" @touchstart="doitstart">
4
+ <image :style="{ width: width + 'px', height: height + 'px' }" :src="viewImg"></image>
5
+ </view>
6
+
7
+ <!-- #ifdef MP-ALIPAY -->
8
+ <canvas class="painter" :id="'painter-' + uniqueid" @touchstart="doitstart"
9
+ :style="{ width: width + 'px', height: height + 'px' }"></canvas>
10
+ <canvas v-if="region" class="region" :id="'region-' + uniqueid"
11
+ :style="{ width: width + 'px', height: height + 'px' }"></canvas>
12
+ <!-- #endif -->
13
+ <!-- #ifdef MP-WEIXIN -->
14
+ <canvas class="painter" canvas-id="painter" @touchstart="doitstart"
15
+ :style="{ width: width + 'px', height: height + 'px' }"></canvas>
16
+ <canvas v-if="region" class="region" canvas-id="region"
17
+ :style="{ width: width + 'px', height: height + 'px' }"></canvas>
18
+ <!-- #endif -->
19
+ <!-- #ifndef MP-WEIXIN||MP-ALIPAY -->
20
+ <canvas class="painter" :canvas-id="'painter-' + uniqueid" @touchstart="doitstart"
21
+ :style="{ width: width + 'px', height: height + 'px' }"></canvas>
22
+ <canvas v-if="region" class="region" :canvas-id="'region-' + uniqueid"
23
+ :style="{ width: width + 'px', height: height + 'px' }"></canvas>
24
+ <!-- #endif -->
25
+ </view>
26
+ </template>
27
+ <script>
28
+ import OralCanvas from "../lib/OralCanvas/index.es.js";
29
+ export default {
30
+ data() {
31
+ return {
32
+ uniqueid: (Math.random() * 10000).toFixed(0),
33
+ help: {},
34
+ viewImg: "",
35
+ // #ifdef H5
36
+ isH5: true,
37
+ // #endif
38
+ // #ifndef H5
39
+ isH5: false,
40
+ // #endif
41
+ };
42
+ },
43
+ props: {
44
+ width: {
45
+ type: Number,
46
+ default: 300,
47
+ },
48
+ height: {
49
+ type: Number,
50
+ default: 150,
51
+ },
52
+ touchstart: {
53
+ type: Function,
54
+ default: () => { },
55
+ },
56
+ cover: {
57
+ type: Boolean,
58
+ default: true,
59
+ },
60
+ region: {
61
+ type: Boolean,
62
+ default: true,
63
+ },
64
+ },
65
+ methods: {
66
+ fetch() {
67
+ let painter, region, painterid, regionid;
68
+ // #ifdef MP-WEIXIN
69
+ painter = uni.createCanvasContext("painter", this);
70
+ if (this.region) region = uni.createCanvasContext("region", this);
71
+ painterid = "painter";
72
+ regionid = "region";
73
+ // #endif
74
+ // #ifndef MP-WEIXIN
75
+ painter = uni.createCanvasContext("painter-" + this.uniqueid, this);
76
+ if (this.region) region = uni.createCanvasContext("region-" + this.uniqueid, this);
77
+ painterid = "painter-" + this.uniqueid;
78
+ regionid = "region-" + this.uniqueid;
79
+ // #endif
80
+
81
+ let _this = this;
82
+ this.help.instance = new OralCanvas(
83
+ {
84
+ getContext() {
85
+ return painter;
86
+ },
87
+ },
88
+ _this.region ? {
89
+ getContext() {
90
+ // #ifdef MP-ALIPAY
91
+ let getImageData = region.getImageData;
92
+ // #endif
93
+ region.getImageData = (x, y, width, height) => {
94
+ return new Promise((resolve, reject) => {
95
+ let options = {
96
+ x,
97
+ y,
98
+ width,
99
+ height,
100
+ canvasId: regionid,
101
+ success: function success(res) {
102
+ resolve(res.data);
103
+ },
104
+ fail: function fail(error) {
105
+ reject(error);
106
+ },
107
+ };
108
+
109
+ // #ifdef MP-ALIPAY
110
+ getImageData(options, _this);
111
+ // #endif
112
+ // #ifndef MP-ALIPAY
113
+ uni.canvasGetImageData(options, _this);
114
+ // #endif
115
+ });
116
+ };
117
+ return region;
118
+ },
119
+ } : null
120
+ );
121
+ this.help.instance.draw = (reserve = false, callback = () => { }) => {
122
+ painter.draw(reserve, () => {
123
+
124
+ // 如果不使用原生渲染
125
+ if (!this.cover && !this.isH5) {
126
+ uni.canvasToTempFilePath(
127
+ {
128
+ canvasId: painterid,
129
+ success: (e) => {
130
+ this.viewImg = e.tempFilePath;
131
+ if (_this.region) region.draw(reserve);
132
+ callback();
133
+ },
134
+ },
135
+ this
136
+ );
137
+ } else {
138
+ if (_this.region) region.draw(reserve);
139
+ callback();
140
+ }
141
+ });
142
+
143
+ };
144
+ return new Promise((resolve, reject) => {
145
+ this.help.instance.toDataURL = () => {
146
+ return new Promise((resolveUrl) => {
147
+ uni.canvasToTempFilePath(
148
+ {
149
+ canvasId: painterid,
150
+ success: function (e) {
151
+ resolveUrl(e.tempFilePath);
152
+ },
153
+ },
154
+ this
155
+ );
156
+ });
157
+ };
158
+
159
+ resolve(this.help.instance);
160
+ });
161
+ },
162
+ doit(event, doback) {
163
+ let doRun = (x, y) => {
164
+ this.help.instance.getRegion(x, y).then((regionName) => {
165
+ // 兼容旧语法
166
+ if (typeof doback == "function") doback(regionName);
167
+
168
+ this.$emit("dotouchstart", {
169
+ name: regionName,
170
+ x: x,
171
+ y: y,
172
+ });
173
+ });
174
+ };
175
+
176
+ if (this.cover || this.isH5) {
177
+ let x = event.touches[0].x;
178
+ let y = event.touches[0].y;
179
+ doRun(x, y);
180
+ } else {
181
+ uni
182
+ .createSelectorQuery()
183
+ .selectViewport()
184
+ .scrollOffset()
185
+ .exec((ret) => {
186
+ uni
187
+ .createSelectorQuery()
188
+ .in(this)
189
+ .select(".view-" + this.uniqueid)
190
+ .boundingClientRect((data) => {
191
+ doRun(
192
+ event.touches[0].pageX - data.left - ret[0].scrollLeft,
193
+ event.touches[0].pageY - data.top - ret[0].scrollTop
194
+ );
195
+ })
196
+ .exec();
197
+ });
198
+ }
199
+ },
200
+ doitstart(event) {
201
+ this.doit(event, this.touchstart);
202
+ },
203
+ },
204
+ };
205
+ </script>
206
+
207
+ <style lang="css" scoped>
208
+ /* 辅助的区域不应该可以看见 */
209
+ .region {
210
+ position: fixed;
211
+ left: 50000px;
212
+ }
213
+
214
+ .cover-view .view-img {
215
+ display: none;
216
+ }
217
+
218
+ .normal-view .painter {
219
+ position: fixed;
220
+ left: 50000px;
221
+ }
222
+ </style>