@@ -1956,14 +1956,16 @@ class RenderWebGL extends EventEmitter {
1956
1956
_getConvexHullPointsForDrawable ( drawableID ) {
1957
1957
const drawable = this . _allDrawables [ drawableID ] ;
1958
1958
1959
- const [ width , height ] = drawable . skin . size ;
1959
+ drawable . updateCPURenderAttributes ( ) ;
1960
+
1961
+ const silhouette = drawable . skin . _silhouette ;
1962
+ const width = silhouette . _width ;
1963
+ const height = silhouette . _height ;
1960
1964
// No points in the hull if invisible or size is 0.
1961
1965
if ( ! drawable . getVisible ( ) || width === 0 || height === 0 ) {
1962
1966
return [ ] ;
1963
1967
}
1964
1968
1965
- drawable . updateCPURenderAttributes ( ) ;
1966
-
1967
1969
/**
1968
1970
* Return the determinant of two vectors, the vector from A to B and the vector from A to C.
1969
1971
*
@@ -2016,8 +2018,8 @@ class RenderWebGL extends EventEmitter {
2016
2018
for ( ; x < width ; x ++ ) {
2017
2019
_pixelPos [ 0 ] = ( x + 0.5 ) / width ;
2018
2020
EffectTransform . transformPoint ( drawable , _pixelPos , _effectPos ) ;
2019
- if ( drawable . skin . isTouchingLinear ( _effectPos ) ) {
2020
- currentPoint = [ x , y ] ;
2021
+ if ( drawable . skin . isTouchingNearest ( _effectPos ) ) {
2022
+ currentPoint = [ _pixelPos [ 0 ] , _pixelPos [ 1 ] ] ;
2021
2023
break ;
2022
2024
}
2023
2025
}
@@ -2053,8 +2055,8 @@ class RenderWebGL extends EventEmitter {
2053
2055
for ( x = width - 1 ; x >= 0 ; x -- ) {
2054
2056
_pixelPos [ 0 ] = ( x + 0.5 ) / width ;
2055
2057
EffectTransform . transformPoint ( drawable , _pixelPos , _effectPos ) ;
2056
- if ( drawable . skin . isTouchingLinear ( _effectPos ) ) {
2057
- currentPoint = [ x , y ] ;
2058
+ if ( drawable . skin . isTouchingNearest ( _effectPos ) ) {
2059
+ currentPoint = [ _pixelPos [ 0 ] , _pixelPos [ 1 ] ] ;
2058
2060
break ;
2059
2061
}
2060
2062
}
0 commit comments