updateOffset method
void
updateOffset()
Implementation
void updateOffset() {
final double regionScaleX = width / region.originalWidth * scaleX;
final double regionScaleY = height / region.originalHeight * scaleY;
final double localX = -width / 2 * scaleX + region.offsetX * regionScaleX;
final double localY = -height / 2 * scaleY + region.offsetY * regionScaleY;
final double localX2 = localX + region.width * regionScaleX;
final double localY2 = localY + region.height * regionScaleY;
final double radians = rotation * math.pi / 180;
final double cos = math.cos(radians);
final double sin = math.sin(radians);
final double localXCos = localX * cos + x;
final double localXSin = localX * sin;
final double localYCos = localY * cos + y;
final double localYSin = localY * sin;
final double localX2Cos = localX2 * cos + x;
final double localX2Sin = localX2 * sin;
final double localY2Cos = localY2 * cos + y;
final double localY2Sin = localY2 * sin;
final Float32List offset = this.offset;
offset[RegionAttachment.ox1] = localXCos - localYSin;
offset[RegionAttachment.oy1] = localYCos + localXSin;
offset[RegionAttachment.ox2] = localXCos - localY2Sin;
offset[RegionAttachment.oy2] = localY2Cos + localXSin;
offset[RegionAttachment.ox3] = localX2Cos - localY2Sin;
offset[RegionAttachment.oy3] = localY2Cos + localX2Sin;
offset[RegionAttachment.ox4] = localX2Cos - localYSin;
offset[RegionAttachment.oy4] = localYCos + localX2Sin;
}