Skip to content

Commit

Permalink
Use _skin instead of getter in "touching" methods
Browse files Browse the repository at this point in the history
This provides a slight but noticeable performance improvement, and gains
back some of what was lost in the previous commit.
  • Loading branch information
adroitwhiz committed Mar 15, 2021
1 parent fe2dce5 commit 42f8040
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions src/Drawable.js
Original file line number Diff line number Diff line change
Expand Up @@ -494,16 +494,16 @@ class Drawable {

_isTouchingNearest (vec) {
const localPosition = getLocalPosition(this, vec);
if (!this.skin.pointInsideLogicalBounds(localPosition)) return false;
if (!this._skin.pointInsideLogicalBounds(localPosition)) return false;
if (this.enabledEffects !== 0) EffectTransform.transformPoint(this, localPosition, localPosition);
return this.skin._silhouette.isTouchingNearest(localPosition);
return this._skin._silhouette.isTouchingNearest(localPosition);
}

_isTouchingLinear (vec) {
const localPosition = getLocalPosition(this, vec);
if (!this.skin.pointInsideLogicalBounds(localPosition)) return false;
if (!this._skin.pointInsideLogicalBounds(localPosition)) return false;
if (this.enabledEffects !== 0) EffectTransform.transformPoint(this, localPosition, localPosition);
return this.skin._silhouette.isTouchingLinear(localPosition);
return this._skin._silhouette.isTouchingLinear(localPosition);
}

/**
Expand Down Expand Up @@ -767,7 +767,7 @@ class Drawable {
*/
static sampleColor4b (vec, drawable, dst, effectMask) {
const localPosition = getLocalPosition(drawable, vec);
if (!this.skin.pointInsideLogicalBounds(localPosition)) {
if (!this._skin.pointInsideLogicalBounds(localPosition)) {
dst[0] = 0;
dst[1] = 0;
dst[2] = 0;
Expand All @@ -780,9 +780,9 @@ class Drawable {

const textColor =
// commenting out to only use nearest for now
// drawable.skin.useNearest(drawable._scale, drawable) ?
drawable.skin._silhouette.colorAtNearest(localPosition, dst);
// : drawable.skin._silhouette.colorAtLinear(localPosition, dst);
// drawable._skin.useNearest(drawable._scale, drawable) ?
drawable._skin._silhouette.colorAtNearest(localPosition, dst);
// : drawable._skin._silhouette.colorAtLinear(localPosition, dst);

if (drawable.enabledEffects === 0) return textColor;
return EffectTransform.transformColor(drawable, textColor, effectMask);
Expand Down

0 comments on commit 42f8040

Please sign in to comment.