mirror of
https://github.com/aseprite/aseprite.git
synced 2025-01-01 00:23:35 +00:00
Don't make SkinTheme surfaces slices immutable as we re-use them
Each time we refresh the default theme we re-use all slices/surfaces of the SkinTheme. This could be completely avoided if we were able to create sub-surfaces from the original sprite sheet (sharing the same pixels).
This commit is contained in:
parent
b5f18921bb
commit
d6339f163b
@ -757,7 +757,12 @@ os::SurfaceRef SkinTheme::sliceSheet(os::SurfaceRef sur, const gfx::Rect& bounds
|
|||||||
os::SurfaceLock lockSrc(m_sheet.get());
|
os::SurfaceLock lockSrc(m_sheet.get());
|
||||||
os::SurfaceLock lockDst(sur.get());
|
os::SurfaceLock lockDst(sur.get());
|
||||||
m_sheet->blitTo(sur.get(), bounds.x, bounds.y, 0, 0, bounds.w, bounds.h);
|
m_sheet->blitTo(sur.get(), bounds.x, bounds.y, 0, 0, bounds.w, bounds.h);
|
||||||
sur->setImmutable();
|
|
||||||
|
// The new surface is immutable because we're going to re-use the
|
||||||
|
// surface if we reload the theme.
|
||||||
|
//
|
||||||
|
// TODO Add sub-surfaces (SkBitmap::extractSubset())
|
||||||
|
//sur->setImmutable();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
ASSERT(!sur);
|
ASSERT(!sur);
|
||||||
|
Loading…
Reference in New Issue
Block a user