@@ -1861,14 +1861,16 @@ class RenderWebGL extends EventEmitter {
1861
1861
_getConvexHullPointsForDrawable ( drawableID ) {
1862
1862
const drawable = this . _allDrawables [ drawableID ] ;
1863
1863
1864
- const [ width , height ] = drawable . skin . size ;
1864
+ drawable . updateCPURenderAttributes ( ) ;
1865
+
1866
+ const silhouette = drawable . skin . _silhouette ;
1867
+ const width = silhouette . _width ;
1868
+ const height = silhouette . _height ;
1865
1869
// No points in the hull if invisible or size is 0.
1866
1870
if ( ! drawable . getVisible ( ) || width === 0 || height === 0 ) {
1867
1871
return [ ] ;
1868
1872
}
1869
1873
1870
- drawable . updateCPURenderAttributes ( ) ;
1871
-
1872
1874
/**
1873
1875
* Return the determinant of two vectors, the vector from A to B and the vector from A to C.
1874
1876
*
@@ -1921,8 +1923,8 @@ class RenderWebGL extends EventEmitter {
1921
1923
for ( ; x < width ; x ++ ) {
1922
1924
_pixelPos [ 0 ] = ( x + 0.5 ) / width ;
1923
1925
EffectTransform . transformPoint ( drawable , _pixelPos , _effectPos ) ;
1924
- if ( drawable . skin . isTouchingLinear ( _effectPos ) ) {
1925
- currentPoint = [ x , y ] ;
1926
+ if ( drawable . skin . isTouchingNearest ( _effectPos ) ) {
1927
+ currentPoint = [ _pixelPos [ 0 ] , _pixelPos [ 1 ] ] ;
1926
1928
break ;
1927
1929
}
1928
1930
}
@@ -1958,8 +1960,8 @@ class RenderWebGL extends EventEmitter {
1958
1960
for ( x = width - 1 ; x >= 0 ; x -- ) {
1959
1961
_pixelPos [ 0 ] = ( x + 0.5 ) / width ;
1960
1962
EffectTransform . transformPoint ( drawable , _pixelPos , _effectPos ) ;
1961
- if ( drawable . skin . isTouchingLinear ( _effectPos ) ) {
1962
- currentPoint = [ x , y ] ;
1963
+ if ( drawable . skin . isTouchingNearest ( _effectPos ) ) {
1964
+ currentPoint = [ _pixelPos [ 0 ] , _pixelPos [ 1 ] ] ;
1963
1965
break ;
1964
1966
}
1965
1967
}
0 commit comments