anchor.diff:      _transformMode = value;
   
       // Invalidate stuff
  -    if (attached) performLayout();
  +    markNeedsLayout();
     }
   
     /// The transform mode used by the [SpriteBox].
  
positive.code:   ///     var matrix = mySpriteBox.transformMatrix;
    Matrix4 get transformMatrix {
      // Get cached matrix if available
      if (_transformMatrix != null) {
        return _transformMatrix;
      }
  
      _transformMatrix = new Matrix4.identity();
  
      // Calculate matrix
  
negative.code:         break;
      }
  
      _visibleArea = new Rect.fromLTRB(-offsetX / scaleX,
                                       -offsetY / scaleY,
                                       systemWidth + offsetX / scaleX,
                                       systemHeight + offsetY / scaleY);
  
      _transformMatrix.translate(offsetX, offsetY);
      _transformMatrix.scale(scaleX, scaleY);
    }
  
    void _invalidateTransformMatrix() {
      _visibleArea = null;
      _transformMatrix = null;
      _rootNode._invalidateToBoxTransformMatrix();
    }
  