vislite 1.6.0-alpha.1 → 1.6.1

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/AUTHORS.txt +6 -6
  2. package/CHANGELOG +9 -2
  3. package/LICENSE +20 -20
  4. package/README.md +284 -284
  5. package/lib/BarLayout/index.es.js +105 -105
  6. package/lib/BarLayout/index.es.min.js +2 -2
  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 +105 -105
  24. package/lib/PieLayout/index.es.min.js +2 -2
  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 +2 -2
  28. package/lib/SVG/index.es.min.js +2 -2
  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 +106 -105
  34. package/lib/TreeLayout/index.es.min.js +4 -4
  35. package/lib/animation/index.es.js +105 -105
  36. package/lib/animation/index.es.min.js +2 -2
  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 +157 -156
  44. package/lib/index.umd.min.js +5 -5
  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 +51 -51
  58. package/lib/throttle/index.es.min.js +2 -2
  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 +2 -2
  98. package/src/Eoap.ts +66 -66
  99. package/src/Matrix4/index.ts +84 -84
  100. package/src/Matrix4/move.ts +12 -12
  101. package/src/Matrix4/rotate.ts +15 -15
  102. package/src/Matrix4/scale.ts +11 -11
  103. package/src/Matrix4/transform.ts +64 -64
  104. package/src/Mercator.ts +27 -27
  105. package/src/SVG.ts +55 -55
  106. package/src/common/assemble.ts +22 -22
  107. package/src/common/canvas/arc.ts +51 -51
  108. package/src/common/canvas/config.ts +176 -176
  109. package/src/common/canvas/default.ts +64 -64
  110. package/src/common/canvas/gradient.ts +31 -31
  111. package/src/common/canvas/index.ts +188 -188
  112. package/src/common/canvas/texts.ts +18 -18
  113. package/src/common/map/getBoundary.ts +15 -15
  114. package/src/common/map/tool.ts +29 -29
  115. package/src/common/option.ts +29 -29
  116. package/src/common/setStyle.ts +5 -5
  117. package/src/common/svg/config.ts +213 -213
  118. package/src/common/svg/default.ts +29 -29
  119. package/src/common/svg/gradient.ts +53 -53
  120. package/src/common/svg/index.ts +332 -332
  121. package/src/common/svg/tool.ts +51 -51
  122. package/src/common/tree/index.ts +25 -25
  123. package/src/common/tree/toInnerTree.ts +61 -61
  124. package/src/common/tree/toPlainTree.ts +135 -135
  125. package/src/common/type.ts +26 -26
  126. package/src/common/webgl/buffer.ts +79 -79
  127. package/src/common/webgl/getWebGLContext.ts +45 -45
  128. package/src/common/webgl/shader.ts +75 -75
  129. package/src/common/webgl/texture.ts +98 -98
  130. package/src/coordinate/MapCoordinate.ts +80 -80
  131. package/src/getLoopColors.ts +42 -42
  132. package/src/interpolation/Cardinal.ts +110 -110
  133. package/src/interpolation/Hermite.ts +65 -65
  134. package/src/move.ts +7 -7
  135. package/src/rotate.ts +7 -7
  136. package/src/ruler.ts +209 -209
  137. package/src/scale.ts +6 -6
  138. package/types/Bar.d.ts +91 -91
  139. package/types/BarConfig.d.ts +4 -4
  140. package/types/BarLayout.d.ts +48 -48
  141. package/types/BarOption.d.ts +31 -31
  142. package/types/Buffer.d.ts +23 -23
  143. package/types/CanvasConfig.d.ts +88 -88
  144. package/types/CanvasOption.d.ts +13 -13
  145. package/types/CanvasOpts.d.ts +9 -9
  146. package/types/Cardinal.d.ts +13 -13
  147. package/types/Gradient.d.ts +14 -14
  148. package/types/Hermite.d.ts +18 -18
  149. package/types/Map.d.ts +9 -9
  150. package/types/MapConfig.d.ts +27 -27
  151. package/types/MapCoordinate.d.ts +22 -22
  152. package/types/Matrix4.d.ts +47 -47
  153. package/types/Pie.d.ts +73 -73
  154. package/types/PieConfig.d.ts +26 -26
  155. package/types/PieLayout.d.ts +40 -40
  156. package/types/PieOption.d.ts +21 -21
  157. package/types/SVG.d.ts +247 -247
  158. package/types/SVGConfig.d.ts +71 -71
  159. package/types/Shader.d.ts +16 -16
  160. package/types/Texture.d.ts +16 -16
  161. package/types/Tree.d.ts +74 -74
  162. package/types/TreeConfig.d.ts +36 -36
  163. package/types/TreeLayout.d.ts +59 -59
  164. package/types/TreeOption.d.ts +48 -48
  165. package/types/animation.d.ts +11 -11
  166. package/types/assemble.d.ts +5 -5
  167. package/types/getLoopColors.d.ts +5 -5
  168. package/types/getWebGLContext.d.ts +7 -7
  169. package/types/index.d.ts +195 -195
  170. package/types/move.d.ts +5 -5
  171. package/types/option.d.ts +12 -12
  172. package/types/painterConfig.d.ts +4 -4
  173. package/types/rotate.d.ts +5 -5
  174. package/types/ruler.d.ts +10 -10
  175. package/types/scale.d.ts +5 -5
  176. package/types/throttle.d.ts +5 -5
  177. package/types/ui-canvas.d.ts +4 -4
  178. package/types/uni-canvas.d.ts +3 -3
  179. package/uni-app/drawImage.js +19 -19
  180. package/uni-app/ui-canvas.vue +295 -295
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * mergeOption of VISLite JavaScript Library v1.6.0-alpha.0
2
+ * mergeOption of VISLite JavaScript Library v1.6.1
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.6.0-alpha.0
2
+ * mergeOption of VISLite JavaScript Library v1.6.1
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.6.0-alpha.0
2
+ * move of VISLite JavaScript Library v1.6.1
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.6.0-alpha.0
2
+ * move of VISLite JavaScript Library v1.6.1
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.6.0-alpha.0
2
+ * rotate of VISLite JavaScript Library v1.6.1
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.6.0-alpha.0
2
+ * rotate of VISLite JavaScript Library v1.6.1
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.6.0-alpha.0
2
+ * ruler of VISLite JavaScript Library v1.6.1
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.6.0-alpha.0
2
+ * ruler of VISLite JavaScript Library v1.6.1
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.6.0-alpha.0
2
+ * scale of VISLite JavaScript Library v1.6.1
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.6.0-alpha.0
2
+ * scale of VISLite JavaScript Library v1.6.1
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,61 +1,61 @@
1
1
  /*!
2
- * throttle of VISLite JavaScript Library v1.6.0-alpha.0
2
+ * throttle of VISLite JavaScript Library v1.6.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  /*!
6
- * throttle of OIPage v1.3.0
6
+ * throttle of OIPage v1.5.0
7
7
  * git+https://github.com/oi-contrib/OIPage.git
8
8
  */
9
9
 
10
- function throttle(callback, _option) {
11
-
12
- // 缺省值
13
- var option = {
14
- time: 200,
15
- keep: false,
16
- opportunity: "end"
17
- };
18
-
19
- // 校对
20
- if (_option) {
21
- for (var key in _option) {
22
- option[key] = _option[key];
23
- }
24
- }
25
-
26
- var hadInterval = false, hadClick = false, oneClick = false, arg;
27
- return function () {
28
- const _this = this;
29
- arg = arguments;
30
-
31
- // 如果前置任务都完成了
32
- if (!hadInterval) {
33
- if (option.opportunity != 'end') {
34
- callback.apply(_this, arg);
35
- }
36
- hadInterval = true;
37
-
38
- var interval = setInterval(() => {
39
- if (hadClick) {
40
- if (!option.keep) {
41
- callback.apply(_this, arg);
42
- }
43
- } else {
44
- if (option.opportunity != 'begin') {
45
- if (oneClick || option.opportunity == 'end') callback.apply(_this, arg);
46
- }
47
- hadInterval = false;
48
- oneClick = false;
49
- clearInterval(interval);
50
- }
51
- hadClick = false;
52
- }, option.time);
53
- } else {
54
- hadClick = true;
55
- oneClick = true;
56
- }
57
-
58
- };
10
+ function throttle(callback, _option) {
11
+
12
+ // 缺省值
13
+ var option = {
14
+ time: 200,
15
+ keep: false,
16
+ opportunity: "end"
17
+ };
18
+
19
+ // 校对
20
+ if (_option) {
21
+ for (var key in _option) {
22
+ option[key] = _option[key];
23
+ }
24
+ }
25
+
26
+ var hadInterval = false, hadClick = false, oneClick = false, arg;
27
+ return function () {
28
+ const _this = this;
29
+ arg = arguments;
30
+
31
+ // 如果前置任务都完成了
32
+ if (!hadInterval) {
33
+ if (option.opportunity != 'end') {
34
+ callback.apply(_this, arg);
35
+ }
36
+ hadInterval = true;
37
+
38
+ var interval = setInterval(() => {
39
+ if (hadClick) {
40
+ if (!option.keep) {
41
+ callback.apply(_this, arg);
42
+ }
43
+ } else {
44
+ if (option.opportunity != 'begin') {
45
+ if (oneClick || option.opportunity == 'end') callback.apply(_this, arg);
46
+ }
47
+ hadInterval = false;
48
+ oneClick = false;
49
+ clearInterval(interval);
50
+ }
51
+ hadClick = false;
52
+ }, option.time);
53
+ } else {
54
+ hadClick = true;
55
+ oneClick = true;
56
+ }
57
+
58
+ };
59
59
  }
60
60
 
61
61
  export { throttle as default };
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * throttle of VISLite JavaScript Library v1.6.0-alpha.0
2
+ * throttle of VISLite JavaScript Library v1.6.1
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  /*!
6
- * throttle of OIPage v1.3.0
6
+ * throttle of OIPage v1.5.0
7
7
  * git+https://github.com/oi-contrib/OIPage.git
8
8
  */
9
9
  function t(t,e){var n={time:200,keep:!1,opportunity:"end"};if(e)for(var p in e)n[p]=e[p];var r,i=!1,o=!1,a=!1;return function(){const e=this;if(r=arguments,i)o=!0,a=!0;else{"end"!=n.opportunity&&t.apply(e,r),i=!0;var p=setInterval((()=>{o?n.keep||t.apply(e,r):("begin"!=n.opportunity&&(a||"end"==n.opportunity)&&t.apply(e,r),i=!1,a=!1,clearInterval(p)),o=!1}),n.time)}}}export{t as default};
@@ -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
  };