mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2025-01-12 03:58:55 +01:00
internal/atlas: stop using padding for ImageTypeVolatile and ImageTypeIsolated
Closes #2131
This commit is contained in:
parent
9e34103491
commit
b40022b286
@ -259,13 +259,10 @@ func (i *Image) resetUsedAsSourceCount() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (i *Image) paddingSize() int {
|
func (i *Image) paddingSize() int {
|
||||||
// TODO: Do not use paddigns for ImageTypeVolatile and ImageTypeIsoalted.
|
if i.imageType == ImageTypeRegular {
|
||||||
// There is a contradiction with the comment in gameforui.go.
|
|
||||||
// See also #1938 and #2131
|
|
||||||
if i.imageType == ImageTypeScreen {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
return 1
|
return 1
|
||||||
|
}
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *Image) ensureIsolated() {
|
func (i *Image) ensureIsolated() {
|
||||||
@ -551,7 +548,17 @@ func (i *Image) replacePixels(pix []byte, mask []byte) {
|
|||||||
panic(fmt.Sprintf("atlas: len(p) must be %d but %d", l, len(pix)))
|
panic(fmt.Sprintf("atlas: len(p) must be %d but %d", l, len(pix)))
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Just copy pix and mask and pass them as they are when i.paddingSize() == 0
|
if i.paddingSize() == 0 {
|
||||||
|
pix2 := make([]byte, len(pix))
|
||||||
|
copy(pix2, pix)
|
||||||
|
var mask2 []byte
|
||||||
|
if mask != nil {
|
||||||
|
mask2 = make([]byte, len(mask))
|
||||||
|
copy(mask2, mask)
|
||||||
|
}
|
||||||
|
i.backend.restorable.ReplacePixels(pix2, mask2, px, py, pw, ph)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
pixb := theTemporaryBytes.alloc(4 * pw * ph)
|
pixb := theTemporaryBytes.alloc(4 * pw * ph)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user