vislite 1.4.0 → 1.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 (159) hide show
  1. package/AUTHORS.txt +6 -6
  2. package/CHANGELOG +10 -0
  3. package/LICENSE +20 -20
  4. package/README.md +284 -284
  5. package/lib/BarLayout/index.es.js +1 -1
  6. package/lib/BarLayout/index.es.min.js +1 -1
  7. package/lib/Buffer/index.es.js +1 -1
  8. package/lib/Buffer/index.es.min.js +1 -1
  9. package/lib/Canvas/index.es.js +6 -5
  10. package/lib/Canvas/index.es.min.js +2 -2
  11. package/lib/Cardinal/index.es.js +1 -1
  12. package/lib/Cardinal/index.es.min.js +1 -1
  13. package/lib/Eoap/index.es.js +1 -1
  14. package/lib/Eoap/index.es.min.js +1 -1
  15. package/lib/Hermite/index.es.js +1 -1
  16. package/lib/Hermite/index.es.min.js +1 -1
  17. package/lib/MapCoordinate/index.es.js +1 -1
  18. package/lib/MapCoordinate/index.es.min.js +1 -1
  19. package/lib/Matrix4/index.es.js +1 -1
  20. package/lib/Matrix4/index.es.min.js +1 -1
  21. package/lib/Mercator/index.es.js +1 -1
  22. package/lib/Mercator/index.es.min.js +1 -1
  23. package/lib/PieLayout/index.es.js +1 -1
  24. package/lib/PieLayout/index.es.min.js +1 -1
  25. package/lib/RawCanvas/index.es.js +1 -1
  26. package/lib/RawCanvas/index.es.min.js +1 -1
  27. package/lib/SVG/index.es.js +1 -1
  28. package/lib/SVG/index.es.min.js +1 -1
  29. package/lib/Shader/index.es.js +1 -1
  30. package/lib/Shader/index.es.min.js +1 -1
  31. package/lib/Texture/index.es.js +1 -1
  32. package/lib/Texture/index.es.min.js +1 -1
  33. package/lib/TreeLayout/index.es.js +1 -1
  34. package/lib/TreeLayout/index.es.min.js +1 -1
  35. package/lib/animation/index.es.js +1 -1
  36. package/lib/animation/index.es.min.js +1 -1
  37. package/lib/assemble/index.es.js +1 -1
  38. package/lib/assemble/index.es.min.js +1 -1
  39. package/lib/getLoopColors/index.es.js +1 -1
  40. package/lib/getLoopColors/index.es.min.js +1 -1
  41. package/lib/getWebGLContext/index.es.js +1 -1
  42. package/lib/getWebGLContext/index.es.min.js +1 -1
  43. package/lib/index.umd.js +6 -5
  44. package/lib/index.umd.min.js +4 -4
  45. package/lib/initOption/index.es.js +1 -1
  46. package/lib/initOption/index.es.min.js +1 -1
  47. package/lib/mergeOption/index.es.js +1 -1
  48. package/lib/mergeOption/index.es.min.js +1 -1
  49. package/lib/move/index.es.js +1 -1
  50. package/lib/move/index.es.min.js +1 -1
  51. package/lib/rotate/index.es.js +1 -1
  52. package/lib/rotate/index.es.min.js +1 -1
  53. package/lib/ruler/index.es.js +1 -1
  54. package/lib/ruler/index.es.min.js +1 -1
  55. package/lib/scale/index.es.js +1 -1
  56. package/lib/scale/index.es.min.js +1 -1
  57. package/lib/throttle/index.es.js +1 -1
  58. package/lib/throttle/index.es.min.js +1 -1
  59. package/minialipay/ui-canvas/drawImage.js +35 -35
  60. package/minialipay/ui-canvas/index.acss +4 -4
  61. package/minialipay/ui-canvas/index.axml +3 -3
  62. package/minialipay/ui-canvas/index.d.ts +1 -1
  63. package/minialipay/ui-canvas/index.js +100 -100
  64. package/minialipay/ui-canvas/index.json +6 -6
  65. package/miniprogram/ui-canvas/drawImage.js +35 -35
  66. package/miniprogram/ui-canvas/index.js +125 -117
  67. package/miniprogram/ui-canvas/index.json +4 -4
  68. package/miniprogram/ui-canvas/index.wxml +4 -4
  69. package/miniprogram/ui-canvas/index.wxss +5 -5
  70. package/package/Buffer/index.ts +2 -2
  71. package/package/Canvas/index.ts +2 -2
  72. package/package/Cardinal/index.ts +2 -2
  73. package/package/Eoap/index.ts +2 -2
  74. package/package/Hermite/index.ts +2 -2
  75. package/package/MapCoordinate/index.ts +2 -2
  76. package/package/Matrix4/index.ts +2 -2
  77. package/package/Mercator/index.ts +2 -2
  78. package/package/RawCanvas/index.ts +2 -2
  79. package/package/SVG/index.ts +2 -2
  80. package/package/Shader/index.ts +2 -2
  81. package/package/Texture/index.ts +2 -2
  82. package/package/TreeLayout/index.ts +2 -2
  83. package/package/assemble/index.ts +2 -2
  84. package/package/getLoopColors/index.ts +2 -2
  85. package/package/getWebGLContext/index.ts +40 -40
  86. package/package/initOption/index.ts +2 -2
  87. package/package/mergeOption/index.ts +2 -2
  88. package/package/move/index.ts +2 -2
  89. package/package/rotate/index.ts +2 -2
  90. package/package/ruler/index.ts +2 -2
  91. package/package/scale/index.ts +2 -2
  92. package/package.json +1 -1
  93. package/src/Canvas.ts +89 -84
  94. package/src/Eoap.ts +66 -66
  95. package/src/Matrix4/index.ts +84 -84
  96. package/src/Matrix4/move.ts +12 -12
  97. package/src/Matrix4/rotate.ts +15 -15
  98. package/src/Matrix4/scale.ts +11 -11
  99. package/src/Matrix4/transform.ts +64 -64
  100. package/src/Mercator.ts +27 -27
  101. package/src/common/assemble.ts +22 -22
  102. package/src/common/canvas/arc.ts +51 -51
  103. package/src/common/canvas/config.ts +176 -176
  104. package/src/common/canvas/default.ts +64 -64
  105. package/src/common/canvas/index.ts +188 -188
  106. package/src/common/canvas/painter.ts +443 -443
  107. package/src/common/canvas/texts.ts +18 -18
  108. package/src/common/map/getBoundary.ts +15 -15
  109. package/src/common/map/tool.ts +29 -29
  110. package/src/common/option.ts +29 -29
  111. package/src/common/setStyle.ts +5 -5
  112. package/src/common/svg/config.ts +213 -213
  113. package/src/common/svg/tool.ts +51 -51
  114. package/src/common/tree/index.ts +25 -25
  115. package/src/common/tree/toInnerTree.ts +61 -61
  116. package/src/common/type.ts +26 -26
  117. package/src/common/webgl/buffer.ts +79 -79
  118. package/src/common/webgl/getWebGLContext.ts +45 -45
  119. package/src/common/webgl/shader.ts +75 -75
  120. package/src/coordinate/MapCoordinate.ts +80 -80
  121. package/src/getLoopColors.ts +42 -42
  122. package/src/interpolation/Cardinal.ts +110 -110
  123. package/src/interpolation/Hermite.ts +65 -65
  124. package/src/move.ts +7 -7
  125. package/src/rotate.ts +7 -7
  126. package/src/ruler.ts +209 -209
  127. package/src/scale.ts +6 -6
  128. package/types/Buffer.d.ts +23 -23
  129. package/types/Canvas.d.ts +352 -352
  130. package/types/CanvasConfig.d.ts +88 -88
  131. package/types/CanvasOption.d.ts +13 -8
  132. package/types/CanvasOpts.d.ts +9 -9
  133. package/types/Cardinal.d.ts +13 -13
  134. package/types/Gradient.d.ts +14 -14
  135. package/types/Hermite.d.ts +18 -18
  136. package/types/Map.d.ts +9 -9
  137. package/types/MapConfig.d.ts +27 -27
  138. package/types/MapCoordinate.d.ts +22 -22
  139. package/types/Matrix4.d.ts +47 -47
  140. package/types/SVGConfig.d.ts +71 -71
  141. package/types/Shader.d.ts +16 -16
  142. package/types/Texture.d.ts +16 -16
  143. package/types/Tree.d.ts +74 -74
  144. package/types/TreeConfig.d.ts +36 -36
  145. package/types/TreeLayout.d.ts +59 -59
  146. package/types/TreeOption.d.ts +48 -48
  147. package/types/assemble.d.ts +5 -5
  148. package/types/getLoopColors.d.ts +5 -5
  149. package/types/getWebGLContext.d.ts +7 -7
  150. package/types/move.d.ts +5 -5
  151. package/types/option.d.ts +12 -12
  152. package/types/painterConfig.d.ts +4 -4
  153. package/types/rotate.d.ts +5 -5
  154. package/types/ruler.d.ts +10 -10
  155. package/types/scale.d.ts +5 -5
  156. package/types/ui-canvas.d.ts +4 -4
  157. package/types/uni-canvas.d.ts +3 -3
  158. package/uni-app/drawImage.js +19 -19
  159. package/uni-app/ui-canvas.vue +295 -284
@@ -1,284 +1,295 @@
1
- <template>
2
- <view
3
- :class="cover || isH5 ? 'cover-view' : 'normal-view'"
4
- :style="{ display: 'inline-block' }"
5
- >
6
- <view
7
- v-if="!cover && !isH5"
8
- :class="'view-img view-' + uniqueid"
9
- @touchstart="doitstart"
10
- >
11
- <image
12
- :style="{ width: width + 'px', height: height + 'px' }"
13
- :src="viewImg"
14
- ></image>
15
- </view>
16
-
17
- <!-- #ifdef MP-ALIPAY -->
18
- <canvas
19
- :width="2 * width + 'px'"
20
- :height="2 * height + 'px'"
21
- class="painter"
22
- :id="'painter-' + uniqueid"
23
- @touchstart="doitstart"
24
- :style="[
25
- { width: width + 'px', height: height + 'px' },
26
- cover || isH5 ? {} : { position: 'fixed', left: '50000px' },
27
- ]"
28
- ></canvas>
29
- <canvas
30
- v-if="region"
31
- class="region"
32
- :id="'region-' + uniqueid"
33
- :style="{
34
- width: width + 'px',
35
- height: height + 'px',
36
- position: 'fixed',
37
- left: '50000px',
38
- }"
39
- ></canvas>
40
- <!-- #endif -->
41
- <!-- #ifdef MP-WEIXIN -->
42
- <canvas
43
- class="painter"
44
- canvas-id="painter"
45
- @touchstart="doitstart"
46
- :style="[
47
- { width: width + 'px', height: height + 'px' },
48
- cover || isH5 ? {} : { position: 'fixed', left: '50000px' },
49
- ]"
50
- ></canvas>
51
- <canvas
52
- v-if="region"
53
- class="region"
54
- canvas-id="region"
55
- :style="{
56
- width: width + 'px',
57
- height: height + 'px',
58
- position: 'fixed',
59
- left: '50000px',
60
- }"
61
- ></canvas>
62
- <!-- #endif -->
63
- <!-- #ifndef MP-WEIXIN||MP-ALIPAY -->
64
- <canvas
65
- class="painter"
66
- :canvas-id="'painter-' + uniqueid"
67
- @touchstart="doitstart"
68
- :style="[
69
- { width: width + 'px', height: height + 'px' },
70
- cover || isH5 ? {} : { position: 'fixed', left: '50000px' },
71
- ]"
72
- ></canvas>
73
- <canvas
74
- v-if="region"
75
- class="region"
76
- :canvas-id="'region-' + uniqueid"
77
- :style="{
78
- width: width + 'px',
79
- height: height + 'px',
80
- position: 'fixed',
81
- left: '50000px',
82
- }"
83
- ></canvas>
84
- <!-- #endif -->
85
- </view>
86
- </template>
87
- <script>
88
- import RawCanvas from "../lib/RawCanvas/index.es.min.js";
89
- import drawImage from "./drawImage.js";
90
-
91
- export default {
92
- data() {
93
- return {
94
- uniqueid: (Math.random() * 10000).toFixed(0),
95
- help: {},
96
- viewImg: "",
97
- // #ifdef H5
98
- isH5: true,
99
- // #endif
100
- // #ifndef H5
101
- isH5: false,
102
- // #endif
103
- hadFetch:false
104
- };
105
- },
106
- props: {
107
- width: {
108
- type: Number,
109
- default: 300,
110
- },
111
- height: {
112
- type: Number,
113
- default: 150,
114
- },
115
- cover: {
116
- type: Boolean,
117
- default: true,
118
- },
119
- region: {
120
- type: Boolean,
121
- default: true,
122
- },
123
- },
124
- methods: {
125
- fetch() {
126
- let painter, region, painterid, regionid;
127
- // #ifdef MP-WEIXIN
128
- painter = uni.createCanvasContext("painter", this);
129
- if (this.region) region = uni.createCanvasContext("region", this);
130
- painterid = "painter";
131
- regionid = "region";
132
- // #endif
133
- // #ifndef MP-WEIXIN
134
- painter = uni.createCanvasContext("painter-" + this.uniqueid, this);
135
- if (this.region)
136
- region = uni.createCanvasContext("region-" + this.uniqueid, this);
137
- painterid = "painter-" + this.uniqueid;
138
- regionid = "region-" + this.uniqueid;
139
- // #endif
140
-
141
- // #ifdef MP-ALIPAY
142
- if(!this.hadFetch) painter.scale(2, 2);
143
- // #endif
144
-
145
- let scaleSize = 1;
146
-
147
- // #ifdef MP-ALIPAY
148
- scaleSize = 2;
149
- // #endif
150
-
151
- let _this = this;
152
- this.help.instance = new RawCanvas(
153
- {
154
- getContext() {
155
- return painter;
156
- },
157
- },
158
- _this.region
159
- ? {
160
- getContext() {
161
- // #ifdef MP-ALIPAY
162
- let getImageData = region.getImageData;
163
- // #endif
164
- region.getImageData = (x, y, width, height) => {
165
- return new Promise((resolve, reject) => {
166
- let options = {
167
- x,
168
- y,
169
- width,
170
- height,
171
- canvasId: regionid,
172
- success: function success(res) {
173
- resolve(res.data);
174
- },
175
- fail: function fail(error) {
176
- reject(error);
177
- },
178
- };
179
-
180
- // #ifdef MP-ALIPAY
181
- getImageData(options);
182
- // #endif
183
- // #ifndef MP-ALIPAY
184
- uni.canvasGetImageData(options, _this);
185
- // #endif
186
- });
187
- };
188
- return region;
189
- },
190
- }
191
- : null,
192
- scaleSize
193
- );
194
- this.help.instance.draw = (reserve = false, callback = () => {}) => {
195
- painter.draw(reserve, () => {
196
- // 如果不使用原生渲染
197
- if (!this.cover && !this.isH5) {
198
- uni.canvasToTempFilePath(
199
- {
200
- canvasId: painterid,
201
- success: (e) => {
202
- this.viewImg = e.tempFilePath;
203
- if (_this.region) region.draw(reserve);
204
- callback();
205
- },
206
- },
207
- // #ifndef MP-ALIPAY
208
- this
209
- // #endif
210
- );
211
- } else {
212
- if (_this.region) region.draw(reserve);
213
- callback();
214
- }
215
- });
216
- };
217
-
218
- this.hadFetch = true;
219
- return new Promise((resolve, reject) => {
220
- this.help.instance.toDataURL = () => {
221
- return new Promise((resolveUrl) => {
222
- uni.canvasToTempFilePath(
223
- {
224
- canvasId: painterid,
225
- success: function (e) {
226
- resolveUrl(e.tempFilePath);
227
- },
228
- },
229
- // #ifndef MP-ALIPAY
230
- this
231
- // #endif
232
- );
233
- });
234
- };
235
-
236
- this.help.instance.drawImage = drawImage(
237
- this.help.instance,
238
- this.help.instance.drawImage
239
- );
240
-
241
- resolve(this.help.instance);
242
- });
243
- },
244
- doit(event) {
245
- let doRun = (x, y) => {
246
- this.help.instance.getRegion(x, y).then((regionName) => {
247
- this.$emit("dotouchstart", {
248
- name: regionName,
249
- x: x,
250
- y: y,
251
- });
252
- });
253
- };
254
-
255
- if (this.cover || this.isH5) {
256
- let x = event.touches[0].x;
257
- let y = event.touches[0].y;
258
- doRun(x, y);
259
- } else {
260
- uni
261
- .createSelectorQuery()
262
- .selectViewport()
263
- .scrollOffset()
264
- .exec((ret) => {
265
- uni
266
- .createSelectorQuery()
267
- .in(this)
268
- .select(".view-" + this.uniqueid)
269
- .boundingClientRect((data) => {
270
- doRun(
271
- event.touches[0].pageX - data.left - ret[0].scrollLeft,
272
- event.touches[0].pageY - data.top - ret[0].scrollTop
273
- );
274
- })
275
- .exec();
276
- });
277
- }
278
- },
279
- doitstart(event) {
280
- this.doit(event);
281
- },
282
- },
283
- };
284
- </script>
1
+ <template>
2
+ <view
3
+ :class="cover || isH5 ? 'cover-view' : 'normal-view'"
4
+ :style="{ display: 'inline-block' }"
5
+ >
6
+ <view
7
+ v-if="!cover && !isH5"
8
+ :class="'view-img view-' + uniqueid"
9
+ @touchstart="doitstart"
10
+ >
11
+ <image
12
+ :style="{ width: width + 'px', height: height + 'px' }"
13
+ :src="viewImg"
14
+ ></image>
15
+ </view>
16
+
17
+ <!-- #ifdef MP-ALIPAY -->
18
+ <canvas
19
+ :width="2 * width + 'px'"
20
+ :height="2 * height + 'px'"
21
+ class="painter"
22
+ :id="'painter-' + uniqueid"
23
+ @touchstart="doitstart"
24
+ :style="[
25
+ { width: width + 'px', height: height + 'px' },
26
+ cover || isH5 ? {} : { position: 'fixed', left: '50000px' },
27
+ ]"
28
+ ></canvas>
29
+ <canvas
30
+ v-if="region"
31
+ class="region"
32
+ :id="'region-' + uniqueid"
33
+ :style="{
34
+ width: width + 'px',
35
+ height: height + 'px',
36
+ position: 'fixed',
37
+ left: '50000px',
38
+ }"
39
+ ></canvas>
40
+ <!-- #endif -->
41
+ <!-- #ifdef MP-WEIXIN -->
42
+ <canvas
43
+ class="painter"
44
+ canvas-id="painter"
45
+ @touchstart="doitstart"
46
+ :style="[
47
+ { width: width + 'px', height: height + 'px' },
48
+ cover || isH5 ? {} : { position: 'fixed', left: '50000px' },
49
+ ]"
50
+ ></canvas>
51
+ <canvas
52
+ v-if="region"
53
+ class="region"
54
+ canvas-id="region"
55
+ :style="{
56
+ width: width + 'px',
57
+ height: height + 'px',
58
+ position: 'fixed',
59
+ left: '50000px',
60
+ }"
61
+ ></canvas>
62
+ <!-- #endif -->
63
+ <!-- #ifndef MP-WEIXIN||MP-ALIPAY -->
64
+ <canvas
65
+ class="painter"
66
+ :canvas-id="'painter-' + uniqueid"
67
+ @touchstart="doitstart"
68
+ :style="[
69
+ { width: width + 'px', height: height + 'px' },
70
+ cover || isH5 ? {} : { position: 'fixed', left: '50000px' },
71
+ ]"
72
+ ></canvas>
73
+ <canvas
74
+ v-if="region"
75
+ class="region"
76
+ :canvas-id="'region-' + uniqueid"
77
+ :style="{
78
+ width: width + 'px',
79
+ height: height + 'px',
80
+ position: 'fixed',
81
+ left: '50000px',
82
+ }"
83
+ ></canvas>
84
+ <!-- #endif -->
85
+ </view>
86
+ </template>
87
+ <script>
88
+ import RawCanvas from "../lib/RawCanvas/index.es.min.js";
89
+ import drawImage from "./drawImage.js";
90
+
91
+ export default {
92
+ data() {
93
+ return {
94
+ uniqueid: (Math.random() * 10000).toFixed(0),
95
+ help: {},
96
+ viewImg: "",
97
+ // #ifdef H5
98
+ isH5: true,
99
+ // #endif
100
+ // #ifndef H5
101
+ isH5: false,
102
+ // #endif
103
+ hadFetch:false
104
+ };
105
+ },
106
+ props: {
107
+ width: {
108
+ type: Number,
109
+ default: 300,
110
+ },
111
+ height: {
112
+ type: Number,
113
+ default: 150,
114
+ },
115
+ cover: {
116
+ type: Boolean,
117
+ default: true,
118
+ },
119
+ region: {
120
+ type: Boolean,
121
+ default: true,
122
+ },
123
+ },
124
+ methods: {
125
+ fetch() {
126
+ let painter, region, painterid, regionid;
127
+ // #ifdef MP-WEIXIN
128
+ painter = uni.createCanvasContext("painter", this);
129
+ if (this.region) region = uni.createCanvasContext("region", this);
130
+ painterid = "painter";
131
+ regionid = "region";
132
+ // #endif
133
+ // #ifndef MP-WEIXIN
134
+ painter = uni.createCanvasContext("painter-" + this.uniqueid, this);
135
+ if (this.region)
136
+ region = uni.createCanvasContext("region-" + this.uniqueid, this);
137
+ painterid = "painter-" + this.uniqueid;
138
+ regionid = "region-" + this.uniqueid;
139
+ // #endif
140
+
141
+ // #ifdef MP-ALIPAY
142
+ if(!this.hadFetch) painter.scale(2, 2);
143
+ // #endif
144
+
145
+ let scaleSize = 1;
146
+
147
+ // #ifdef MP-ALIPAY
148
+ scaleSize = 2;
149
+ // #endif
150
+
151
+ let _this = this;
152
+ this.help.instance = new RawCanvas(
153
+ {
154
+ getContext() {
155
+ return painter;
156
+ },
157
+ },
158
+ _this.region
159
+ ? {
160
+ getContext() {
161
+ // #ifdef MP-ALIPAY
162
+ let getImageData = region.getImageData;
163
+ // #endif
164
+ region.getImageData = (x, y, width, height) => {
165
+ return new Promise((resolve, reject) => {
166
+ let options = {
167
+ x,
168
+ y,
169
+ width,
170
+ height,
171
+ canvasId: regionid,
172
+ success: function success(res) {
173
+ resolve(res.data);
174
+ },
175
+ fail: function fail(error) {
176
+ reject(error);
177
+ },
178
+ };
179
+
180
+ // #ifdef MP-ALIPAY
181
+ getImageData(options);
182
+ // #endif
183
+ // #ifndef MP-ALIPAY
184
+ uni.canvasGetImageData(options, _this);
185
+ // #endif
186
+ });
187
+ };
188
+ return region;
189
+ },
190
+ }
191
+ : null,
192
+ scaleSize
193
+ );
194
+ this.help.instance.draw = (reserve = false, callback = () => {}) => {
195
+ painter.draw(reserve, () => {
196
+ // 如果不使用原生渲染
197
+ if (!this.cover && !this.isH5) {
198
+ uni.canvasToTempFilePath(
199
+ {
200
+ canvasId: painterid,
201
+ success: (e) => {
202
+ this.viewImg = e.tempFilePath;
203
+ if (_this.region) region.draw(reserve);
204
+ callback();
205
+ },
206
+ },
207
+ // #ifndef MP-ALIPAY
208
+ this
209
+ // #endif
210
+ );
211
+ } else {
212
+ if (_this.region) region.draw(reserve);
213
+ callback();
214
+ }
215
+ });
216
+ };
217
+
218
+ this.hadFetch = true;
219
+ return new Promise((resolve, reject) => {
220
+ this.help.instance.toDataURL = () => {
221
+ return new Promise((resolveUrl) => {
222
+ uni.canvasToTempFilePath(
223
+ {
224
+ canvasId: painterid,
225
+ success: function (e) {
226
+ // #ifdef MP-WEIXIN
227
+ wx.getFileSystemManager().readFile({
228
+ filePath: e.tempFilePath,
229
+ encoding: 'base64',
230
+ success: function (res) {
231
+ resolveUrl('data:image/png;base64,' + res.data);
232
+ }
233
+ });
234
+ // #endif
235
+ // #ifndef MP-WEIXIN
236
+ resolveUrl(e.tempFilePath);
237
+ // #endif
238
+ },
239
+ },
240
+ // #ifndef MP-ALIPAY
241
+ this
242
+ // #endif
243
+ );
244
+ });
245
+ };
246
+
247
+ this.help.instance.drawImage = drawImage(
248
+ this.help.instance,
249
+ this.help.instance.drawImage
250
+ );
251
+
252
+ resolve(this.help.instance);
253
+ });
254
+ },
255
+ doit(event) {
256
+ let doRun = (x, y) => {
257
+ this.help.instance.getRegion(x, y).then((regionName) => {
258
+ this.$emit("dotouchstart", {
259
+ name: regionName,
260
+ x: x,
261
+ y: y,
262
+ });
263
+ });
264
+ };
265
+
266
+ if (this.cover || this.isH5) {
267
+ let x = event.touches[0].x;
268
+ let y = event.touches[0].y;
269
+ doRun(x, y);
270
+ } else {
271
+ uni
272
+ .createSelectorQuery()
273
+ .selectViewport()
274
+ .scrollOffset()
275
+ .exec((ret) => {
276
+ uni
277
+ .createSelectorQuery()
278
+ .in(this)
279
+ .select(".view-" + this.uniqueid)
280
+ .boundingClientRect((data) => {
281
+ doRun(
282
+ event.touches[0].pageX - data.left - ret[0].scrollLeft,
283
+ event.touches[0].pageY - data.top - ret[0].scrollTop
284
+ );
285
+ })
286
+ .exec();
287
+ });
288
+ }
289
+ },
290
+ doitstart(event) {
291
+ this.doit(event);
292
+ },
293
+ },
294
+ };
295
+ </script>