Fixed pattern offset in FillRectangle
This commit is contained in:
parent
92a9c9370d
commit
55633d6915
@ -38,16 +38,21 @@ func FillRectangle (
|
||||
updatedRegion image.Rectangle,
|
||||
) {
|
||||
data, stride := destination.Buffer()
|
||||
realWidth, realHeight := bounds.Dx(), bounds.Dy()
|
||||
realBounds := bounds
|
||||
bounds = bounds.Canon().Intersect(destination.Bounds()).Canon()
|
||||
if bounds.Empty() { return }
|
||||
updatedRegion = bounds
|
||||
|
||||
realWidth, realHeight := realBounds.Dx(), realBounds.Dy()
|
||||
patternOffset := realBounds.Min.Sub(bounds.Min)
|
||||
|
||||
width, height := bounds.Dx(), bounds.Dy()
|
||||
for y := 0; y < height; y ++ {
|
||||
for x := 0; x < width; x ++ {
|
||||
data[x + bounds.Min.X + (y + bounds.Min.Y) * stride] =
|
||||
source.AtWhen(x, y, realWidth, realHeight)
|
||||
source.AtWhen (
|
||||
x - patternOffset.X, y - patternOffset.Y,
|
||||
realWidth, realHeight)
|
||||
}}
|
||||
return
|
||||
}
|
||||
|
Reference in New Issue
Block a user