vislite 1.7.0-alpha.1 → 1.7.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 (184) hide show
  1. package/AUTHORS.txt +6 -6
  2. package/CHANGELOG +1 -1
  3. package/LICENSE +20 -20
  4. package/README.md +1 -49
  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 +1 -1
  10. package/lib/Canvas/index.es.min.js +1 -1
  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 +1 -1
  44. package/lib/index.umd.min.js +1 -1
  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 -125
  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/BarLayout/index.ts +2 -2
  71. package/package/Buffer/index.ts +2 -2
  72. package/package/Canvas/index.ts +2 -2
  73. package/package/Cardinal/index.ts +2 -2
  74. package/package/Eoap/index.ts +2 -2
  75. package/package/Hermite/index.ts +2 -2
  76. package/package/MapCoordinate/index.ts +2 -2
  77. package/package/Matrix4/index.ts +2 -2
  78. package/package/Mercator/index.ts +2 -2
  79. package/package/PieLayout/index.ts +2 -2
  80. package/package/RawCanvas/index.ts +2 -2
  81. package/package/SVG/index.ts +2 -2
  82. package/package/Shader/index.ts +2 -2
  83. package/package/Texture/index.ts +2 -2
  84. package/package/TreeLayout/index.ts +2 -2
  85. package/package/animation/index.ts +5 -5
  86. package/package/assemble/index.ts +2 -2
  87. package/package/getLoopColors/index.ts +2 -2
  88. package/package/getWebGLContext/index.ts +40 -40
  89. package/package/index.ts +84 -84
  90. package/package/initOption/index.ts +2 -2
  91. package/package/mergeOption/index.ts +2 -2
  92. package/package/move/index.ts +2 -2
  93. package/package/rotate/index.ts +2 -2
  94. package/package/ruler/index.ts +2 -2
  95. package/package/scale/index.ts +2 -2
  96. package/package/throttle/index.ts +2 -2
  97. package/package.json +1 -1
  98. package/src/Canvas.ts +89 -89
  99. package/src/Eoap.ts +66 -66
  100. package/src/Matrix4/index.ts +84 -84
  101. package/src/Matrix4/move.ts +12 -12
  102. package/src/Matrix4/rotate.ts +15 -15
  103. package/src/Matrix4/scale.ts +11 -11
  104. package/src/Matrix4/transform.ts +64 -64
  105. package/src/Mercator.ts +27 -27
  106. package/src/SVG.ts +55 -55
  107. package/src/common/assemble.ts +22 -22
  108. package/src/common/canvas/arc.ts +51 -51
  109. package/src/common/canvas/config.ts +176 -176
  110. package/src/common/canvas/default.ts +64 -64
  111. package/src/common/canvas/gradient.ts +31 -31
  112. package/src/common/canvas/index.ts +188 -188
  113. package/src/common/canvas/painter.ts +453 -453
  114. package/src/common/canvas/texts.ts +18 -18
  115. package/src/common/map/getBoundary.ts +15 -15
  116. package/src/common/map/tool.ts +29 -29
  117. package/src/common/option.ts +29 -29
  118. package/src/common/setStyle.ts +5 -5
  119. package/src/common/svg/config.ts +213 -213
  120. package/src/common/svg/default.ts +29 -29
  121. package/src/common/svg/gradient.ts +53 -53
  122. package/src/common/svg/tool.ts +51 -51
  123. package/src/common/tree/index.ts +25 -25
  124. package/src/common/tree/toInnerTree.ts +61 -61
  125. package/src/common/tree/toPlainTree.ts +135 -135
  126. package/src/common/type.ts +26 -26
  127. package/src/common/webgl/buffer.ts +79 -79
  128. package/src/common/webgl/getWebGLContext.ts +45 -45
  129. package/src/common/webgl/shader.ts +75 -75
  130. package/src/common/webgl/texture.ts +98 -98
  131. package/src/coordinate/MapCoordinate.ts +80 -80
  132. package/src/getLoopColors.ts +42 -42
  133. package/src/interpolation/Cardinal.ts +110 -110
  134. package/src/interpolation/Hermite.ts +65 -65
  135. package/src/layout/BarLayout.ts +249 -249
  136. package/src/layout/PieLayout.ts +144 -144
  137. package/src/layout/TreeLayout.ts +200 -200
  138. package/src/move.ts +7 -7
  139. package/src/rotate.ts +7 -7
  140. package/src/ruler.ts +209 -209
  141. package/src/scale.ts +6 -6
  142. package/types/Bar.d.ts +91 -91
  143. package/types/BarConfig.d.ts +4 -4
  144. package/types/BarLayout.d.ts +48 -48
  145. package/types/BarOption.d.ts +31 -31
  146. package/types/Buffer.d.ts +23 -23
  147. package/types/Canvas.d.ts +375 -375
  148. package/types/CanvasConfig.d.ts +88 -88
  149. package/types/CanvasOption.d.ts +13 -13
  150. package/types/CanvasOpts.d.ts +9 -9
  151. package/types/Cardinal.d.ts +13 -13
  152. package/types/Gradient.d.ts +14 -14
  153. package/types/Hermite.d.ts +18 -18
  154. package/types/Map.d.ts +9 -9
  155. package/types/MapConfig.d.ts +27 -27
  156. package/types/MapCoordinate.d.ts +22 -22
  157. package/types/Matrix4.d.ts +47 -47
  158. package/types/Pie.d.ts +73 -73
  159. package/types/PieConfig.d.ts +26 -26
  160. package/types/PieLayout.d.ts +40 -40
  161. package/types/PieOption.d.ts +21 -21
  162. package/types/SVGConfig.d.ts +71 -71
  163. package/types/Shader.d.ts +16 -16
  164. package/types/Texture.d.ts +16 -16
  165. package/types/Tree.d.ts +74 -74
  166. package/types/TreeConfig.d.ts +36 -36
  167. package/types/TreeLayout.d.ts +59 -59
  168. package/types/TreeOption.d.ts +48 -48
  169. package/types/animation.d.ts +11 -11
  170. package/types/assemble.d.ts +5 -5
  171. package/types/getLoopColors.d.ts +5 -5
  172. package/types/getWebGLContext.d.ts +7 -7
  173. package/types/index.d.ts +195 -195
  174. package/types/move.d.ts +5 -5
  175. package/types/option.d.ts +12 -12
  176. package/types/painterConfig.d.ts +4 -4
  177. package/types/rotate.d.ts +5 -5
  178. package/types/ruler.d.ts +10 -10
  179. package/types/scale.d.ts +5 -5
  180. package/types/throttle.d.ts +5 -5
  181. package/types/ui-canvas.d.ts +4 -4
  182. package/types/uni-canvas.d.ts +3 -3
  183. package/uni-app/drawImage.js +19 -19
  184. package/uni-app/ui-canvas.vue +295 -295
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * initOption of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * initOption of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  function r(r,n){for(var t in r)n[t]=r[t];return n}export{r as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * mergeOption of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * mergeOption of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  var toString = Object.prototype.toString;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * mergeOption of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * mergeOption of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  var t=Object.prototype.toString;function e(e){if(null===e||"object"!=typeof e||"[object Object]"!=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":t.call(e)}(e))return!1;if(null===Object.getPrototypeOf(e))return!0;for(var o=e;null!==Object.getPrototypeOf(o);)o=Object.getPrototypeOf(o);return Object.getPrototypeOf(e)===o}function o(t,o){!function t(o,r){for(var n in r){var c=r[n];e(c)?(o[n]||(o[n]={}),t(o[n],r[n])):o[n]=c}}(t,o)}export{o as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * move of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * move of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  function move (ax, ay, d, x, y) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * move of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * move of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  function t(t,r,a,e,n){var u=Math.sqrt(t*t+r*r);return[t*a/u+e,r*a/u+n]}export{t as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * rotate of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * rotate of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  function rotate (cx, cy, deg, x, y) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * rotate of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * rotate of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  function t(t,a,n,r,e){var o=Math.cos(n),s=Math.sin(n);return[(r-t)*o-(e-a)*s+t,(r-t)*s+(e-a)*o+a]}export{t as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * ruler of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * ruler of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  function ruler (maxValue, minValue, num, option) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * ruler of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * ruler of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  function n(n,r,t,e){if(n<r){var i=r;r=n,n=i}else if(n==r)return[n];var a=function(n){for(var r=n<100&&n>-100?10:.1,t=-1,e=n;10==r?e>=-100&&e<=100:e<=-100||e>=100;)t+=1,e*=r;if(10==r)return Math.pow(10,t);for(var i="0.",a=1;a<t;a++)i+="0";return+(i+"1")}(n-r),u=Math.ceil((n-r)*a/t),f=function(t){var e=({3:2,4:5,6:5,7:5,8:10,9:10,11:10,12:10,13:15,14:15,16:15,17:15,18:20,19:20,21:20,22:20,23:25,24:25,26:25,27:25}[u+t]||u+t)/a,i=Math.floor(r/e)*e,f=[];f.push(i);for(var l=1;f[f.length-1]<n;l++)f.push(i+e*l);return f},l=f(0),o=function(){for(var n=[],t=l[l.length-1]-(null==e?void 0:e.max),i=0;i<l.length;i++)i+1<l.length&&l[i+1]-t<r||n.push(l[i]-t);return n},h=function(){for(var r=[],t=l[0]-(null==e?void 0:e.min),i=0;i<l.length&&(r[i]=l[i]-t,!(n<=r[i]));i++);return r};if(e){if("max"in e&&"min"in e&&e.max>=n&&e.min<=r){var m=function(){if(l[0]>=e.min&&l[l.length-1]<=e.max)return!0;var n=o();if(n[0]>=e.min&&n[n.length-1]<=e.max)return l=n,!0;var r=h();return r[0]>=e.min&&r[n.length-1]<=e.max?(l=r,!0):void 0};if(m())return l;for(var v=1;v<100;v++){if(l=f(v),m())return l;if(l=f(-v),m())return l}}"max"in e&&e.max>=n?e.max<l[l.length-1]&&(l=o()):"min"in e&&e.min<=r&&e.min>l[0]&&(l=h())}for(var g=0;g<l.length;g++){var s=l[g]+"";/\./.test(s)&&(/9{7,}$/.test(s)?(s=s.replace(/9{7,}$/,""),l[g]=+(s.substring(0,s.length-1)+(+s[s.length-1]+1))):/0{7,}\d$/.test(s)&&(l[g]=+s.replace(/0{7,}\d$/,"")))}return l}export{n as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * scale of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * scale of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  function scale (cx, cy, times, x, y) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * scale of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * scale of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  function t(t,e,n,r,u){return[n*(r-t)+t,n*(u-e)+e]}export{t as default};
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * throttle of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * throttle of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  /*!
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * throttle of VISLite JavaScript Library v1.7.0-alpha.1
2
+ * throttle of VISLite JavaScript Library v1.7.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  /*!
@@ -1,36 +1,36 @@
1
- export default function (_this, drawImage, canvas) {
2
- return function (imgUrl, x, y, w, h) {
3
- return new Promise((resolve) => {
4
-
5
- let doit = (imgsrc) => {
6
- if (canvas.createImage) {
7
- let img = canvas.createImage();
8
- img.onload = function () {
9
- drawImage.call(_this, img, x, y, w, h, true).then(() => {
10
- resolve({});
11
- });
12
- };
13
- img.src = imgsrc;
14
- }
15
-
16
- // 低版本兼容
17
- else {
18
- drawImage.call(_this, imgsrc, x, y, w, h, true).then(() => {
19
- resolve({});
20
- });
21
- }
22
- };
23
-
24
- if (/^http/.test(imgUrl)) {
25
- my.downloadFile({
26
- url: imgUrl,
27
- success: function (res) {
28
- doit(res.tempFilePath);
29
- },
30
- })
31
- } else {
32
- doit(imgUrl);
33
- }
34
- });
35
- };
1
+ export default function (_this, drawImage, canvas) {
2
+ return function (imgUrl, x, y, w, h) {
3
+ return new Promise((resolve) => {
4
+
5
+ let doit = (imgsrc) => {
6
+ if (canvas.createImage) {
7
+ let img = canvas.createImage();
8
+ img.onload = function () {
9
+ drawImage.call(_this, img, x, y, w, h, true).then(() => {
10
+ resolve({});
11
+ });
12
+ };
13
+ img.src = imgsrc;
14
+ }
15
+
16
+ // 低版本兼容
17
+ else {
18
+ drawImage.call(_this, imgsrc, x, y, w, h, true).then(() => {
19
+ resolve({});
20
+ });
21
+ }
22
+ };
23
+
24
+ if (/^http/.test(imgUrl)) {
25
+ my.downloadFile({
26
+ url: imgUrl,
27
+ success: function (res) {
28
+ doit(res.tempFilePath);
29
+ },
30
+ })
31
+ } else {
32
+ doit(imgUrl);
33
+ }
34
+ });
35
+ };
36
36
  };
@@ -1,5 +1,5 @@
1
- /* 辅助的区域不应该可以看见 */
2
- .region {
3
- position: fixed;
4
- left: 50000px;
1
+ /* 辅助的区域不应该可以看见 */
2
+ .region {
3
+ position: fixed;
4
+ left: 50000px;
5
5
  }
@@ -1,4 +1,4 @@
1
- <view>
2
- <canvas type="2d" id="{{'painter-'+uniqueid}}" style="{{'width:'+(width+'px')+';'+('height:'+(height+'px')+';')}}" width="{{2*width+'px'}}" height="{{2*height+'px'}}" onTouchStart="doitstart"></canvas>
3
- <canvas a:if="{{region}}" type="2d" id="{{'region-'+uniqueid}}" style="{{'width:'+(width+'px')+';'+('height:'+(height+'px')+';')}}" id="{{'region-'+uniqueid}}" class="region"></canvas>
1
+ <view>
2
+ <canvas type="2d" id="{{'painter-'+uniqueid}}" style="{{'width:'+(width+'px')+';'+('height:'+(height+'px')+';')}}" width="{{2*width+'px'}}" height="{{2*height+'px'}}" onTouchStart="doitstart"></canvas>
3
+ <canvas a:if="{{region}}" type="2d" id="{{'region-'+uniqueid}}" style="{{'width:'+(width+'px')+';'+('height:'+(height+'px')+';')}}" id="{{'region-'+uniqueid}}" class="region"></canvas>
4
4
  </view>
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,101 +1,101 @@
1
- import RawCanvas from "../../lib/RawCanvas/index.es.min.js";
2
- import drawImage from "./drawImage.js";
3
-
4
- // https://opendocs.alipay.com/mini/framework/custom-component-overview
5
-
6
- Component({
7
- props: {
8
- width: 300,
9
- height: 150,
10
- region: true,
11
- onDoTouchstart: () => { }
12
- },
13
- data: {
14
- uniqueid: (Math.random() * 10000).toFixed(0),
15
- help: {}
16
- },
17
- methods: {
18
- fetch() {
19
- return new Promise((resolve, reject) => {
20
-
21
- let getCanvasContext = (idName, doback) => {
22
- if (idName != 'region' || this.props.region) {
23
- my.createSelectorQuery().select('#' + idName + '-' + this.data.uniqueid).node().exec((res) => {
24
- const canvas = res[0].node;
25
- const ctx = canvas.getContext('2d');
26
-
27
- if (idName != "region") {
28
- ctx.scale(2, 2);
29
- }
30
-
31
- doback(ctx, idName != 'region' ? canvas : null);
32
-
33
- })
34
- } else {
35
- doback(null);
36
- }
37
- };
38
-
39
- getCanvasContext("painter", (painter, panvas) => {
40
- getCanvasContext("region", region => {
41
-
42
- this.data.help.instance = new RawCanvas({
43
- getContext() {
44
- return painter;
45
- }
46
- }, this.props.region ? {
47
- getContext() {
48
- return region;
49
- }
50
- } : null);
51
-
52
- this.data.help.instance.toDataURL = () => {
53
- return new Promise((resolveUrl) => {
54
- if (panvas.toDataURL) {
55
- resolveUrl(panvas.toDataURL());
56
- } else {
57
- panvas.toTempFilePath({
58
- x: 0,
59
- y: 0,
60
- width: this.props.widht,
61
- height: this.props.height,
62
- success(e) {
63
- resolveUrl(e.tempFilePath);
64
- },
65
- fail(error) {
66
- console.error(error);
67
- }
68
- });
69
- }
70
- });
71
- };
72
-
73
- this.data.help.instance.drawImage = drawImage(
74
- this.data.help.instance,
75
- this.data.help.instance.drawImage,
76
- panvas
77
- );
78
-
79
- resolve(this.data.help.instance);
80
- });
81
- });
82
-
83
- });
84
- },
85
- doit(event) {
86
- let x = event.touches[0].x;
87
- let y = event.touches[0].y;
88
-
89
- this.data.help.instance.getRegion(x, y).then((regionName) => {
90
- this.props.onDoTouchstart({
91
- name: regionName,
92
- x: x,
93
- y: y
94
- });
95
- });
96
- },
97
- doitstart(event) {
98
- this.doit(event);
99
- }
100
- }
1
+ import RawCanvas from "../../lib/RawCanvas/index.es.min.js";
2
+ import drawImage from "./drawImage.js";
3
+
4
+ // https://opendocs.alipay.com/mini/framework/custom-component-overview
5
+
6
+ Component({
7
+ props: {
8
+ width: 300,
9
+ height: 150,
10
+ region: true,
11
+ onDoTouchstart: () => { }
12
+ },
13
+ data: {
14
+ uniqueid: (Math.random() * 10000).toFixed(0),
15
+ help: {}
16
+ },
17
+ methods: {
18
+ fetch() {
19
+ return new Promise((resolve, reject) => {
20
+
21
+ let getCanvasContext = (idName, doback) => {
22
+ if (idName != 'region' || this.props.region) {
23
+ my.createSelectorQuery().select('#' + idName + '-' + this.data.uniqueid).node().exec((res) => {
24
+ const canvas = res[0].node;
25
+ const ctx = canvas.getContext('2d');
26
+
27
+ if (idName != "region") {
28
+ ctx.scale(2, 2);
29
+ }
30
+
31
+ doback(ctx, idName != 'region' ? canvas : null);
32
+
33
+ })
34
+ } else {
35
+ doback(null);
36
+ }
37
+ };
38
+
39
+ getCanvasContext("painter", (painter, panvas) => {
40
+ getCanvasContext("region", region => {
41
+
42
+ this.data.help.instance = new RawCanvas({
43
+ getContext() {
44
+ return painter;
45
+ }
46
+ }, this.props.region ? {
47
+ getContext() {
48
+ return region;
49
+ }
50
+ } : null);
51
+
52
+ this.data.help.instance.toDataURL = () => {
53
+ return new Promise((resolveUrl) => {
54
+ if (panvas.toDataURL) {
55
+ resolveUrl(panvas.toDataURL());
56
+ } else {
57
+ panvas.toTempFilePath({
58
+ x: 0,
59
+ y: 0,
60
+ width: this.props.widht,
61
+ height: this.props.height,
62
+ success(e) {
63
+ resolveUrl(e.tempFilePath);
64
+ },
65
+ fail(error) {
66
+ console.error(error);
67
+ }
68
+ });
69
+ }
70
+ });
71
+ };
72
+
73
+ this.data.help.instance.drawImage = drawImage(
74
+ this.data.help.instance,
75
+ this.data.help.instance.drawImage,
76
+ panvas
77
+ );
78
+
79
+ resolve(this.data.help.instance);
80
+ });
81
+ });
82
+
83
+ });
84
+ },
85
+ doit(event) {
86
+ let x = event.touches[0].x;
87
+ let y = event.touches[0].y;
88
+
89
+ this.data.help.instance.getRegion(x, y).then((regionName) => {
90
+ this.props.onDoTouchstart({
91
+ name: regionName,
92
+ x: x,
93
+ y: y
94
+ });
95
+ });
96
+ },
97
+ doitstart(event) {
98
+ this.doit(event);
99
+ }
100
+ }
101
101
  });
@@ -1,6 +1,6 @@
1
- {
2
- "component": true,
3
- "usingComponents": {
4
-
5
- }
6
- }
1
+ {
2
+ "component": true,
3
+ "usingComponents": {
4
+
5
+ }
6
+ }
@@ -1,36 +1,36 @@
1
- export default function (_this, drawImage, canvas) {
2
- return function (imgUrl, x, y, w, h) {
3
- return new Promise((resolve) => {
4
-
5
- let doit = (imgsrc) => {
6
- if (canvas.createImage) {
7
- let img = canvas.createImage();
8
- img.onload = function () {
9
- drawImage.call(_this, img, x, y, w, h, true).then(() => {
10
- resolve({});
11
- });
12
- };
13
- img.src = imgsrc;
14
- }
15
-
16
- // 低版本兼容
17
- else {
18
- drawImage.call(_this, imgsrc, x, y, w, h, true).then(() => {
19
- resolve({});
20
- });
21
- }
22
- };
23
-
24
- if (/^http/.test(imgUrl)) {
25
- wx.downloadFile({
26
- url: imgUrl,
27
- success: function (res) {
28
- doit(res.tempFilePath);
29
- },
30
- })
31
- } else {
32
- doit(imgUrl);
33
- }
34
- });
35
- };
1
+ export default function (_this, drawImage, canvas) {
2
+ return function (imgUrl, x, y, w, h) {
3
+ return new Promise((resolve) => {
4
+
5
+ let doit = (imgsrc) => {
6
+ if (canvas.createImage) {
7
+ let img = canvas.createImage();
8
+ img.onload = function () {
9
+ drawImage.call(_this, img, x, y, w, h, true).then(() => {
10
+ resolve({});
11
+ });
12
+ };
13
+ img.src = imgsrc;
14
+ }
15
+
16
+ // 低版本兼容
17
+ else {
18
+ drawImage.call(_this, imgsrc, x, y, w, h, true).then(() => {
19
+ resolve({});
20
+ });
21
+ }
22
+ };
23
+
24
+ if (/^http/.test(imgUrl)) {
25
+ wx.downloadFile({
26
+ url: imgUrl,
27
+ success: function (res) {
28
+ doit(res.tempFilePath);
29
+ },
30
+ })
31
+ } else {
32
+ doit(imgUrl);
33
+ }
34
+ });
35
+ };
36
36
  };