vislite 1.9.0-alpha.1 → 1.9.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 +3 -2
  3. package/LICENSE +20 -20
  4. package/README.md +1 -1
  5. package/lib/BarLayout/index.es.js +121 -113
  6. package/lib/BarLayout/index.es.min.js +3 -3
  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 +121 -113
  24. package/lib/PieLayout/index.es.min.js +4 -4
  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 +121 -113
  34. package/lib/TreeLayout/index.es.min.js +3 -3
  35. package/lib/animation/index.es.js +121 -113
  36. package/lib/animation/index.es.min.js +3 -3
  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 +171 -163
  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 +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 +75 -75
  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 +189 -189
  113. package/src/common/canvas/texts.ts +18 -18
  114. package/src/common/map/getBoundary.ts +15 -15
  115. package/src/common/map/tool.ts +29 -29
  116. package/src/common/option.ts +29 -29
  117. package/src/common/setStyle.ts +5 -5
  118. package/src/common/svg/config.ts +213 -213
  119. package/src/common/svg/default.ts +29 -29
  120. package/src/common/svg/gradient.ts +53 -53
  121. package/src/common/svg/index.ts +420 -420
  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/TreeLayout.ts +200 -200
  137. package/src/move.ts +7 -7
  138. package/src/rotate.ts +7 -7
  139. package/src/ruler.ts +209 -209
  140. package/src/scale.ts +6 -6
  141. package/types/Bar.d.ts +91 -91
  142. package/types/BarConfig.d.ts +4 -4
  143. package/types/BarLayout.d.ts +48 -48
  144. package/types/BarOption.d.ts +31 -31
  145. package/types/Buffer.d.ts +23 -23
  146. package/types/Canvas.d.ts +375 -375
  147. package/types/CanvasConfig.d.ts +88 -88
  148. package/types/CanvasOption.d.ts +13 -13
  149. package/types/CanvasOpts.d.ts +9 -9
  150. package/types/Cardinal.d.ts +13 -13
  151. package/types/Gradient.d.ts +14 -14
  152. package/types/Hermite.d.ts +18 -18
  153. package/types/Map.d.ts +9 -9
  154. package/types/MapConfig.d.ts +27 -27
  155. package/types/MapCoordinate.d.ts +22 -22
  156. package/types/Matrix4.d.ts +47 -47
  157. package/types/Pie.d.ts +73 -73
  158. package/types/PieConfig.d.ts +26 -26
  159. package/types/PieLayout.d.ts +40 -40
  160. package/types/PieOption.d.ts +21 -21
  161. package/types/SVG.d.ts +278 -278
  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 +196 -196
  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.9.0-alpha.1
2
+ * initOption of VISLite JavaScript Library v1.9.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  function initOption(setOption, defaultOption) {
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * initOption of VISLite JavaScript Library v1.9.0-alpha.1
2
+ * initOption of VISLite JavaScript Library v1.9.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.9.0-alpha.1
2
+ * mergeOption of VISLite JavaScript Library v1.9.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.9.0-alpha.1
2
+ * mergeOption of VISLite JavaScript Library v1.9.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.9.0-alpha.1
2
+ * move of VISLite JavaScript Library v1.9.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.9.0-alpha.1
2
+ * move of VISLite JavaScript Library v1.9.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.9.0-alpha.1
2
+ * rotate of VISLite JavaScript Library v1.9.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.9.0-alpha.1
2
+ * rotate of VISLite JavaScript Library v1.9.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.9.0-alpha.1
2
+ * ruler of VISLite JavaScript Library v1.9.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.9.0-alpha.1
2
+ * ruler of VISLite JavaScript Library v1.9.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.9.0-alpha.1
2
+ * scale of VISLite JavaScript Library v1.9.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.9.0-alpha.1
2
+ * scale of VISLite JavaScript Library v1.9.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,61 +1,61 @@
1
1
  /*!
2
- * throttle of VISLite JavaScript Library v1.9.0-alpha.1
2
+ * throttle of VISLite JavaScript Library v1.9.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  /*!
6
- * throttle of OIPage v1.8.0-alpha.0
6
+ * throttle of OIPage v1.8.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.9.0-alpha.1
2
+ * throttle of VISLite JavaScript Library v1.9.0
3
3
  * git+https://github.com/oi-contrib/VISLite.git
4
4
  */
5
5
  /*!
6
- * throttle of OIPage v1.8.0-alpha.0
6
+ * throttle of OIPage v1.8.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
  };