You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
22 KiB
20 lines
22 KiB
/*!
|
|
* @antv/g-plugin-canvas-picker
|
|
* @description A G plugin for picking in canvas
|
|
* @version 2.1.27
|
|
* @date 7/30/2025, 1:37:32 PM
|
|
* @author AntVis
|
|
* @docs https://g.antv.antgroup.com/
|
|
*/
|
|
!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("@antv/g-lite")):"function"==typeof define&&define.amd?define(["exports","@antv/g-lite"],r):r(((t="undefined"!=typeof globalThis?globalThis:t||self).G=t.G||{},t.G.CanvasPicker={}),t.window.G)}(this,function(t,r){"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function e(t){var r=function(t,r){if("object"!=n(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var o=e.call(t,r||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==n(r)?r:r+""}function o(t,r,n){return(r=e(r))in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function i(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function a(t,r){for(var n=0;r.length>n;n++){var o=r[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,e(o.key),o)}}function u(t,r,n){return r&&a(t.prototype,r),n&&a(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function c(t){return c=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},c(t)}function f(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(f=function(){return!!t})()}function l(t,r){if(r&&("object"==n(r)||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}function s(t,r){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},s(t,r)}function v(t,r){(null==r||r>t.length)&&(r=t.length);for(var n=0,e=Array(r);r>n;n++)e[n]=t[n];return e}function y(t,r){if(t){if("string"==typeof t)return v(t,r);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?v(t,r):void 0}}function p(t,r){this.v=t,this.k=r}function h(t,r,n,e){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}h=function(t,r,n,e){function i(r,n){h(t,r,function(t){return this._invoke(r,n,t)})}r?o?o(t,r,{value:n,enumerable:!e,configurable:!e,writable:!e}):t[r]=n:(i("next",0),i("throw",1),i("return",2))},h(t,r,n,e)}function d(){
|
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
|
|
var t,r,n="function"==typeof Symbol?Symbol:{},e=n.iterator||"@@iterator",o=n.toStringTag||"@@toStringTag";function i(n,e,o,i){var c=Object.create((e&&e.prototype instanceof u?e:u).prototype);return h(c,"_invoke",function(n,e,o){var i,u,c,f=0,l=o||[],s=!1,v={p:0,n:0,v:t,a:y,f:y.bind(t,4),d:function(r,n){return i=r,u=0,c=t,v.n=n,a}};function y(n,e){for(u=n,c=e,r=0;!s&&f&&!o&&l.length>r;r++){var o,i=l[r],y=v.p,p=i[2];n>3?(o=p===e)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):y>=i[0]&&((o=2>n&&i[1]>y)?(u=0,v.v=e,v.n=i[1]):p>y&&(o=3>n||i[0]>e||e>p)&&(i[4]=n,i[5]=e,v.n=p,u=0))}if(o||n>1)return a;throw s=!0,e}return function(o,l,p){if(f>1)throw TypeError("Generator is already running");for(s&&1===l&&y(l,p),u=l,c=p;(r=2>u?t:c)||!s;){i||(u?3>u?(u>1&&(v.n=-1),y(u,c)):v.n=c:v.v=c);try{if(f=2,i){if(u||(o="next"),r=i[o]){if(!(r=r.call(i,c)))throw TypeError("iterator result is not an object");if(!r.done)return r;c=r.value,2>u&&(u=0)}else 1===u&&(r=i.return)&&r.call(i),2>u&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((r=(s=0>v.n)?c:n.call(e,v))!==a)break}catch(r){i=t,u=1,c=r}finally{f=1}}return{value:r,done:s}}}(n,o,i),!0),c}var a={};function u(){}function c(){}function f(){}r=Object.getPrototypeOf;var l=[][e]?r(r([][e]())):(h(r={},e,function(){return this}),r),s=f.prototype=u.prototype=Object.create(l);function v(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,h(t,o,"GeneratorFunction")),t.prototype=Object.create(s),t}return c.prototype=f,h(s,"constructor",f),h(f,"constructor",c),c.displayName="GeneratorFunction",h(f,o,"GeneratorFunction"),h(s),h(s,o,"Generator"),h(s,e,function(){return this}),h(s,"toString",function(){return"[object Generator]"}),(d=function(){return{w:i,m:v}})()}function b(t,r){function n(e,o,i,a){try{var u=t[e](o),c=u.value;return c instanceof p?r.resolve(c.v).then(function(t){n("next",t,i,a)},function(t){n("throw",t,i,a)}):r.resolve(c).then(function(t){u.value=t,i(u)},function(t){return n("throw",t,i,a)})}catch(t){a(t)}}var e;this.next||(h(b.prototype),h(b.prototype,"function"==typeof Symbol&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),h(this,"_invoke",function(t,o,i){function a(){return new r(function(r,e){n(t,i,r,e)})}return e=e?e.then(a,a):a()},!0)}function m(t,r,n,e,o){return new b(d().w(t,r,n,e),o||Promise)}function g(t,r,n,e,o){var i=m(t,r,n,e,o);return i.next().then(function(t){return t.done?t.value:i.next()})}function x(t){var r=Object(t),n=[];for(var e in r)n.unshift(e);return function t(){for(;n.length;)if((e=n.pop())in r)return t.value=e,t.done=!1,t;return t.done=!0,t}}function P(t){if(null!=t){var r=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],e=0;if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&e>=t.length&&(t=void 0),{value:t&&t[e++],done:!t}}}}throw new TypeError(n(t)+" is not iterable")}function w(){var t=d(),r=t.m(w),n=(Object.getPrototypeOf?Object.getPrototypeOf(r):r.__proto__).constructor;function e(t){var r="function"==typeof t&&t.constructor;return!!r&&(r===n||"GeneratorFunction"===(r.displayName||r.name))}var o={throw:1,return:2,break:3,continue:3};function i(t){var r,n;return function(e){r||(r={stop:function(){return n(e.a,2)},catch:function(){return e.v},abrupt:function(t,r){return n(e.a,o[t],r)},delegateYield:function(t,o,i){return r.resultName=o,n(e.d,P(t),i)},finish:function(t){return n(e.f,t)}},n=function(t,n,o){e.p=r.prev,e.n=r.next;try{return t(n,o)}finally{r.next=e.n}}),r.resultName&&(r[r.resultName]=e.v,r.resultName=void 0),r.sent=e.v,r.next=e.n;try{return t.call(this,r)}finally{e.p=r.prev,e.n=r.next}}}return(w=function(){return{wrap:function(r,n,e,o){return t.w(i(r),n,e,o&&o.reverse())},isGeneratorFunction:e,mark:t.m,awrap:function(t,r){return new p(t,r)},AsyncIterator:b,async:function(t,r,n,o,a){return(e(r)?m:g)(i(t),r,n,o,a)},keys:x,values:P}})()}function O(t,r,n,e,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void n(t)}u.done?r(c):Promise.resolve(c).then(e,o)}var S="undefined"!=typeof Float32Array?Float32Array:Array;function M(){var t=new S(3);return S!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function k(t,r,n,e){return t[0]=r,t[1]=n,t[2]=e,t}Math.hypot||(Math.hypot=function(){for(var t=0,r=arguments.length;r--;)t+=arguments[r]*arguments[r];return Math.sqrt(t)}),M(),function(){var t,r=(t=new S(2),S!=Float32Array&&(t[0]=0,t[1]=0),t)}();var j,A=M(),I=M(),E=M(),T=(j=new S(16),S!=Float32Array&&(j[1]=0,j[2]=0,j[3]=0,j[4]=0,j[6]=0,j[7]=0,j[8]=0,j[9]=0,j[11]=0,j[12]=0,j[13]=0,j[14]=0),j[0]=1,j[5]=1,j[10]=1,j[15]=1,j),F=function(){function t(){var n=this;i(this,t),this.isHit=function(t,e,o,i){var a=n.context.pointInPathPickerFactory[t.nodeName];if(a){var u=function(t,r){var n=r[0],e=r[1],o=r[2],i=r[3],a=r[4],u=r[5],c=r[6],f=r[7],l=r[8],s=r[9],v=r[10],y=r[11],p=r[12],h=r[13],d=r[14],b=r[15],m=n*u-e*a,g=n*c-o*a,x=n*f-i*a,P=e*c-o*u,w=e*f-i*u,O=o*f-i*c,S=l*h-s*p,M=l*d-v*p,k=l*b-y*p,j=s*d-v*h,A=s*b-y*h,I=v*b-y*d,E=m*I-g*A+x*j+P*k-w*M+O*S;return E?(t[0]=(u*I-c*A+f*j)*(E=1/E),t[1]=(o*A-e*I-i*j)*E,t[2]=(h*O-d*w+b*P)*E,t[3]=(v*w-s*O-y*P)*E,t[4]=(c*k-a*I-f*M)*E,t[5]=(n*I-o*k+i*M)*E,t[6]=(d*x-p*O-b*g)*E,t[7]=(l*O-v*x+y*g)*E,t[8]=(a*A-u*k+f*S)*E,t[9]=(e*k-n*A-i*S)*E,t[10]=(p*w-h*x+b*m)*E,t[11]=(s*x-l*w-y*m)*E,t[12]=(u*M-a*j-c*S)*E,t[13]=(n*j-e*M+o*S)*E,t[14]=(h*g-p*P-d*m)*E,t[15]=(l*P-s*g+v*m)*E,t):null}(T,o),c=function(t,r,n){var e=r[0],o=r[1],i=r[2],a=n[3]*e+n[7]*o+n[11]*i+n[15];return t[0]=(n[0]*e+n[4]*o+n[8]*i+n[12])/(a=a||1),t[1]=(n[1]*e+n[5]*o+n[9]*i+n[13])/a,t[2]=(n[2]*e+n[6]*o+n[10]*i+n[14])/a,t}(I,k(E,e[0],e[1],0),u);if(a(t,new r.Point(c[0],c[1]),i,n.isPointInPath,n.context,n.runtime))return!0}return!1},this.isPointInPath=function(t,r){var e=n.runtime.offscreenCanvasCreator.getOrCreateContext(n.context.config.offscreenCanvas),o=n.context.pathGeneratorFactory[t.nodeName];return o&&(e.beginPath(),o(e,t.parsedStyle),e.closePath()),e.isPointInPath(r.x,r.y)}}return u(t,[{key:"apply",value:function(r,n){var e,o=this,i=r.renderingService,a=r.renderingContext;this.context=r,this.runtime=n;var u=null===(e=a.root)||void 0===e?void 0:e.ownerDocument;i.hooks.pick.tapPromise(t.tag,function(){var t,r=(t=w().mark(function t(r){return w().wrap(function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",o.pick(u,r));case 1:case"end":return t.stop()}},t)}),function(){var r=this,n=arguments;return new Promise(function(e,o){var i=t.apply(r,n);function a(t){O(i,e,o,a,u,"next",t)}function u(t){O(i,e,o,a,u,"throw",t)}a(void 0)})});return function(t){return r.apply(this,arguments)}}()),i.hooks.pickSync.tap(t.tag,function(t){return o.pick(u,t)})}},{key:"pick",value:function(t,n){var e,o=n.topmost,i=n.position,a=k(A,i.x,i.y,0),u=[],c=function(t,r){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!n){if(Array.isArray(t)||(n=y(t))||r&&t&&"number"==typeof t.length){n&&(t=n);var e=0,o=function(){};return{s:o,n:function(){return t.length>e?{done:!1,value:t[e++]}:{done:!0}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(t)},n:function(){var t=n.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}(t.elementsFromBBox(a[0],a[1],a[0],a[1]));try{for(c.s();!(e=c.n()).done;){var f=e.value,l=f.getWorldTransform();if(this.isHit(f,a,l,!1)){var s=r.findClosestClipPathTarget(f);if(s){var v=s.parsedStyle.clipPath;if(this.isHit(v,a,v.getWorldTransform(),!0)){if(o)return n.picked=[f],n;u.push(f)}}else{if(o)return n.picked=[f],n;u.push(f)}}}}catch(t){c.e(t)}finally{c.f()}return n.picked=u,n}}])}();function C(t,r){return function(t){if(Array.isArray(t))return t}(t)||function(t,r){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var e,o,i,a,u=[],c=!0,f=!1;try{if(i=(n=n.call(t)).next,0===r){if(Object(n)!==n)return;c=!1}else for(;!(c=(e=i.call(n)).done)&&(u.push(e.value),u.length!==r);c=!0);}catch(t){f=!0,o=t}finally{try{if(!c&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(f)throw o}}return u}}(t,r)||y(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(t){return function(t){if(Array.isArray(t))return v(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||y(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}F.tag="CanvasPicker";var G=function(t,r,n){return r>t?r:t>n?n:t};function L(t,r,n){return{x:t*Math.cos(n)-r*Math.sin(n),y:t*Math.sin(n)+r*Math.cos(n)}}function W(t,r,n,e,o,i,a,u,c,f){var l,s,v,y,p,h=t,d=r,b=n,m=e,g=u,x=c,P=120*Math.PI/180,w=Math.PI/180*(+o||0),O=[];if(f)s=f[0],v=f[1],y=f[2],p=f[3];else{d=(l=L(h,d,-w)).y;var S=((h=l.x)-(g=(l=L(g,x,-w)).x))/2,M=(d-(x=l.y))/2,k=S*S/(b*b)+M*M/(m*m);k>1&&(b*=k=Math.sqrt(k),m*=k);var j=b*b,A=m*m,I=(i===a?-1:1)*Math.sqrt(Math.abs((j*A-j*M*M-A*S*S)/(j*M*M+A*S*S)));y=I*b*M/m+(h+g)/2,s=Math.asin(((d-(p=I*-m*S/b+(d+x)/2))/m*1e9|0)/1e9),v=Math.asin(((x-p)/m*1e9|0)/1e9),0>(s=y>h?Math.PI-s:s)&&(s=2*Math.PI+s),0>(v=y>g?Math.PI-v:v)&&(v=2*Math.PI+v),a&&s>v&&(s-=2*Math.PI),!a&&v>s&&(v-=2*Math.PI)}var E=v-s;if(Math.abs(E)>P){var T=v,F=g,C=x;O=W(g=y+b*Math.cos(v=s+P*(a&&v>s?1:-1)),x=p+m*Math.sin(v),b,m,o,0,a,F,C,[v,T,y,p])}E=v-s;var _=Math.cos(s),G=Math.sin(s),N=Math.cos(v),H=Math.sin(v),R=Math.tan(E/4),q=4/3*b*R,D=4/3*m*R,B=[h,d],Y=[h+q*G,d-D*_],U=[g+q*H,x-D*N],Q=[g,x];if(Y[0]=2*B[0]-Y[0],Y[1]=2*B[1]-Y[1],f)return Y.concat(U,Q,O);for(var X=[],Z=0,$=(O=Y.concat(U,Q,O)).length;$>Z;Z+=1)X[Z]=Z%2?L(O[Z-1],O[Z],w).y:L(O[Z],O[Z+1],w).x;return X}
|
|
/*!
|
|
* @antv/g-math
|
|
* @description Geometry util
|
|
* @version 3.0.1
|
|
* @date 7/30/2025, 1:34:14 PM
|
|
* @author AntVis
|
|
* @docs https://g.antv.antgroup.com/
|
|
*/function N(t,r,n,e){var o=t-n,i=r-e;return Math.sqrt(o*o+i*i)}function H(t,r,n,e,o,i){var a=-1,u=1/0,c=[n,e],f=20;i&&i>200&&(f=i/10);for(var l=1/f,s=l/10,v=0;f>=v;v++){var y=v*l,p=[o.apply(void 0,_(t.concat([y]))),o.apply(void 0,_(r.concat([y])))],h=N(c[0],c[1],p[0],p[1]);u>h&&(a=y,u=h)}if(0===a)return{x:t[0],y:r[0]};if(1===a){var d=t.length;return{x:t[d-1],y:r[d-1]}}u=1/0;for(var b=0;32>b&&1e-4<=s;b++){var m=a-s,g=a+s,x=[o.apply(void 0,_(t.concat([m]))),o.apply(void 0,_(r.concat([m])))],P=N(c[0],c[1],x[0],x[1]);if(m>=0&&u>P)a=m,u=P;else{var w=[o.apply(void 0,_(t.concat([g]))),o.apply(void 0,_(r.concat([g])))],O=N(c[0],c[1],w[0],w[1]);1>=g&&u>O?(a=g,u=O):s*=.5}}return{x:o.apply(void 0,_(t.concat([a]))),y:o.apply(void 0,_(r.concat([a])))}}function R(t,r,n,e,o,i){var a=[n-t,e-r];if(function(t,r){return t[0]===r[0]&&t[1]===r[1]}(a,[0,0]))return Math.sqrt((o-t)*(o-t)+(i-r)*(i-r));var u=[-a[1],a[0]];return function(t,r){var n=r[0],e=r[1],o=n*n+e*e;o>0&&(o=1/Math.sqrt(o)),t[0]=r[0]*o,t[1]=r[1]*o}(u,u),Math.abs(function(t,r){return t[0]*r[0]+t[1]*r[1]}([o-t,i-r],u))}function q(t,r,n,e,o){var i=1-o;return i*i*i*t+3*r*o*i*i+3*n*o*o*i+e*o*o*o}function D(t,r,n,e,o,i,a,u,c,f,l){var s=function(t,r,n,e,o,i,a,u,c,f,l){return H([t,n,o,a],[r,e,i,u],c,f,q,l)}(t,r,n,e,o,i,a,u,c,f,l);return N(s.x,s.y,c,f)}function B(t,r,n,e){var o=1-e;return o*o*t+2*e*o*r+e*e*n}function Y(t,r,n,e,o,i,a,u){var c=function(t,r,n,e,o,i,a,u){return H([t,n,o],[r,e,i],a,u,B)}(t,r,n,e,o,i,a,u);return N(c.x,c.y,a,u)}function U(t,n,e){var o=t.parsedStyle,i=o.cx,a=o.cy,u=o.r,c=o.fill,f=o.stroke,l=o.lineWidth,s=o.increasedLineWidthForHitTesting,v=o.pointerEvents,y=void 0===v?"auto":v,p=((void 0===l?1:l)+(void 0===s?0:s))/2,h=N(void 0===i?0:i,void 0===a?0:a,n.x,n.y),d=C(r.isFillOrStrokeAffected(y,c,f),2),b=d[0],m=d[1];return b&&m||e?u+p>=h:b?u>=h:!!m&&(h>=u-p&&u+p>=h)}function Q(t,r,n,e){return t/(n*n)+r/(e*e)}function X(t,n,e){var o=t.parsedStyle,i=o.cx,a=void 0===i?0:i,u=o.cy,c=void 0===u?0:u,f=o.rx,l=o.ry,s=o.lineWidth,v=void 0===s?1:s,y=o.increasedLineWidthForHitTesting,p=void 0===y?0:y,h=o.pointerEvents,d=n.x,b=n.y,m=C(r.isFillOrStrokeAffected(void 0===h?"auto":h,o.fill,o.stroke),2),g=m[0],x=m[1],P=(v+p)/2,w=(d-a)*(d-a),O=(b-c)*(b-c);return g&&x||e?1>=Q(w,O,f+P,l+P):g?1>=Q(w,O,f,l):!!x&&(Q(w,O,f-P,l-P)>=1&&1>=Q(w,O,f+P,l+P))}function Z(t,r,n,e,o,i){return!(t>o||o>t+n||r>i||i>r+e)}function $(t,r,n,e,o,i,a,u){var c=(Math.atan2(u-r,a-t)+2*Math.PI)%(2*Math.PI),f={x:t+n*Math.cos(c),y:r+n*Math.sin(c)};return N(f.x,f.y,a,u)<=i/2}function z(t,r,n,e,o,i,a){var u=o/2;return!(Math.min(t,n)-u>i||i>Math.max(t,n)+u||Math.min(r,e)-u>a||a>Math.max(r,e)+u)&&R(t,r,n,e,i,a)<=o/2}function J(t,r,n,e,o){var i=t.length;if(2>i)return!1;for(var a=0;i-1>a;a++){if(z(t[a][0],t[a][1],t[a+1][0],t[a+1][1],r,n,e))return!0}if(o){var u=t[0],c=t[i-1];if(z(u[0],u[1],c[0],c[1],r,n,e))return!0}return!1}function K(t){return 1e-6>Math.abs(t)?0:0>t?-1:1}function V(t,r,n){return!((n[0]-t[0])*(r[1]-t[1])!==(r[0]-t[0])*(n[1]-t[1])||Math.min(t[0],r[0])>n[0]||n[0]>Math.max(t[0],r[0])||Math.min(t[1],r[1])>n[1]||n[1]>Math.max(t[1],r[1]))}function tt(t,r,n){var e=!1,o=t.length;if(2>=o)return!1;for(var i=0;o>i;i++){var a=t[i],u=t[(i+1)%o];if(V(a,u,[r,n]))return!0;K(a[1]-n)>0!=K(u[1]-n)>0&&0>K(r-(n-a[1])*(a[0]-u[0])/(a[1]-u[1])-a[0])&&(e=!e)}return e}function rt(t,r,n){for(var e=!1,o=0;t.length>o;o++){if(e=tt(t[o],r,n))break}return e}function nt(t,n,e){var o=t.parsedStyle,i=o.x1,a=o.y1,u=o.x2,c=o.y2,f=o.lineWidth,l=void 0===f?1:f,s=o.increasedLineWidthForHitTesting,v=void 0===s?0:s,y=o.pointerEvents;return!(!C(r.isFillOrStrokeAffected(void 0===y?"auto":y,o.fill,o.stroke),2)[1]&&!e||!l)&&z(i,a,u,c,l+v,n.x,n.y)}function et(t,n,e,o,i,a){var u=t.parsedStyle,c=u.lineWidth,f=void 0===c?1:c,l=u.increasedLineWidthForHitTesting,s=void 0===l?0:l,v=u.d,y=u.pointerEvents,p=v.segments,h=v.hasArc,d=v.polylines,b=v.polygons,m=C(r.isFillOrStrokeAffected(void 0===y?"auto":y,(null==b?void 0:b.length)&&u.fill,u.stroke),2),g=m[0],x=m[1],P=r.getOrCalculatePathTotalLength(t),w=!1;return g||e?w=h?o(t,n):rt(b,n.x,n.y)||rt(d,n.x,n.y):((x||e)&&(w=function(t,r,n,e,o){for(var i=!1,a=r/2,u=0;t.length>u;u++){var c=t[u],f=c.currentPoint,l=c.params,s=c.prePoint,v=c.box;if(!v||Z(v.x-a,v.y-a,v.width+r,v.height+r,n,e))switch(c.command){case"L":case"Z":if(i=z(s[0],s[1],f[0],f[1],r,n,e))return!0;break;case"Q":if(i=r/2>=Y(s[0],s[1],l[1],l[2],l[3],l[4],n,e))return!0;break;case"C":if(i=r/2>=D(s[0],s[1],l[1],l[2],l[3],l[4],l[5],l[6],n,e,o))return!0;break;case"A":c.cubicParams||(c.cubicParams=W(s[0],s[1],l[1],l[2],l[3],l[4],l[5],l[6],l[7],void 0));for(var y=c.cubicParams,p=s,h=0;y.length>h;h+=6){var d=D(p[0],p[1],y[h],y[h+1],y[h+2],y[h+3],y[h+4],y[h+5],n,e,o);if(p=[y[h+4],y[h+5]],i=r/2>=d)return!0}}}return i}(p,f+s,n.x,n.y,P)),w)}function ot(t,n,e){var o=t.parsedStyle,i=o.lineWidth,a=void 0===i?1:i,u=o.increasedLineWidthForHitTesting,c=void 0===u?0:u,f=o.points,l=o.pointerEvents,s=C(r.isFillOrStrokeAffected(void 0===l?"auto":l,o.fill,o.stroke),2),v=s[0],y=!1;return(s[1]||e)&&(y=J(f.points,a+c,n.x,n.y,!0)),y||!v&&!e||(y=tt(f.points,n.x,n.y)),y}function it(t,n,e){var o=t.parsedStyle,i=o.lineWidth,a=void 0===i?1:i,u=o.increasedLineWidthForHitTesting,c=void 0===u?0:u,f=o.points,l=o.pointerEvents;return!(!C(r.isFillOrStrokeAffected(void 0===l?"auto":l,o.fill,o.stroke),2)[1]&&!e||!a)&&J(f.points,a+c,n.x,n.y,!1)}function at(t,n,e,o,i){var a=t.parsedStyle,u=a.radius,c=a.lineWidth,f=void 0===c?1:c,l=a.increasedLineWidthForHitTesting,s=void 0===l?0:l,v=a.x,y=void 0===v?0:v,p=a.y,h=void 0===p?0:p,d=a.width,b=a.height,m=a.pointerEvents,g=C(r.isFillOrStrokeAffected(void 0===m?"auto":m,a.fill,a.stroke),2),x=g[0],P=g[1],w=f+s;if(u&&u.some(function(t){return 0!==t})){var O=!1;return(P||e)&&(O=function(t,r,n,e,o,i,a,u){var c=C(o,4),f=c[0],l=c[1],s=c[2],v=c[3];return z(t+f,r,t+n-l,r,i,a,u)||z(t+n,r+l,t+n,r+e-s,i,a,u)||z(t+n-s,r+e,t+v,r+e,i,a,u)||z(t,r+e-v,t,r+f,i,a,u)||$(t+n-l,r+l,l,0,0,i,a,u)||$(t+n-s,r+e-s,s,0,0,i,a,u)||$(t+v,r+e-v,v,0,0,i,a,u)||$(t+f,r+f,f,0,0,i,a,u)}(y,h,d,b,u.map(function(t){return G(t,0,Math.min(Math.abs(d)/2,Math.abs(b)/2))}),w,n.x,n.y)),O||!x&&!e||(O=o(t,n)),O}var S=w/2;return x&&P||e?Z(y-S,h-S,d+S,b+S,n.x,n.y):x?Z(y,h,d,b,n.x,n.y):!!P&&function(t,r,n,e,o,i,a){var u=o/2;return Z(t-u,r-u,n,o,i,a)||Z(t+n-u,r-u,o,e,i,a)||Z(t+u,r+e-u,n,o,i,a)||Z(t-u,r+u,o,e,i,a)}(y,h,d,b,w,n.x,n.y)}function ut(t,r){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);r&&(e=e.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,e)}return n}function ct(t){for(var r=1;arguments.length>r;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?ut(Object(n),!0).forEach(function(r){o(t,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ut(Object(n)).forEach(function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(n,r))})}return t}function ft(t,n,e,o,i,a){var u=t.parsedStyle,c=u.pointerEvents,f=u.x,l=void 0===f?0:f,s=u.y,v=void 0===s?0:s,y=u.width,p=u.height;if("non-transparent-pixel"===(void 0===c?"auto":c)){var h=i.config.offscreenCanvas,d=a.offscreenCanvasCreator.getOrCreateCanvas(h),b=a.offscreenCanvasCreator.getOrCreateContext(h,{willReadFrequently:!0});return d.width=y,d.height=p,i.defaultStyleRendererFactory[r.Shape.IMAGE].render(b,ct(ct({},t.parsedStyle),{},{x:0,y:0}),t,void 0,void 0,void 0),b.getImageData(n.x-l,n.y-v,1,1).data.every(function(t){return 0!==t})}return!0}function lt(t,r,n,e){var o=t.getGeometryBounds();return!(o.min[0]>r.x||o.min[1]>r.y||r.x>o.max[0]||r.y>o.max[1])}var st=function(t){function n(){var t,r,e,o;i(this,n);for(var a=arguments.length,u=Array(a),s=0;a>s;s++)u[s]=arguments[s];return r=this,e=n,o=[].concat(u),e=c(e),(t=l(r,f()?Reflect.construct(e,o||[],c(r).constructor):e.apply(r,o))).name="canvas-picker",t}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&s(t,r)}(n,t),u(n,[{key:"init",value:function(){var t,n=(o(o(o(o(o(o(o(o(o(o(t={},r.Shape.CIRCLE,U),r.Shape.ELLIPSE,X),r.Shape.RECT,at),r.Shape.LINE,nt),r.Shape.POLYLINE,it),r.Shape.POLYGON,ot),r.Shape.PATH,et),r.Shape.TEXT,lt),r.Shape.GROUP,null),r.Shape.IMAGE,ft),o(o(t,r.Shape.HTML,null),r.Shape.MESH,null));this.context.pointInPathPickerFactory=n,this.addRenderingPlugin(new F)}},{key:"destroy",value:function(){delete this.context.pointInPathPickerFactory,this.removeAllRenderingPlugins()}}])}(r.AbstractRendererPlugin);t.Plugin=st});
|
|
//# sourceMappingURL=index.umd.min.js.map
|
|
|