mirror of
https://github.com/aseprite/aseprite.git
synced 2024-07-03 03:28:48 +00:00
Fix mipmaps options when downsampling (fix #4317)
This commit is contained in:
parent
649f444f05
commit
3d50a85d14
2
laf
2
laf
|
@ -1 +1 @@
|
|||
Subproject commit 8059af40be3b96a470fdd2f5a3631ad219d522aa
|
||||
Subproject commit 5f9189c337bfc34bd5da4797734f53598cff3dc4
|
|
@ -754,8 +754,11 @@ void Editor::drawOneSpriteUnclippedRect(ui::Graphics* g, const gfx::Rect& sprite
|
|||
}
|
||||
|
||||
if (rendered && rendered->nativeHandle()) {
|
||||
os::Paint p;
|
||||
if (newEngine) {
|
||||
os::Sampling sampling;
|
||||
p.srcEdges(os::Paint::SrcEdges::Fast); // Enable mipmaps if possible
|
||||
|
||||
if (m_proj.scaleX() < 1.0) {
|
||||
switch (pref.editor.downsampling()) {
|
||||
case gen::Downsampling::NEAREST:
|
||||
|
@ -775,7 +778,6 @@ void Editor::drawOneSpriteUnclippedRect(ui::Graphics* g, const gfx::Rect& sprite
|
|||
}
|
||||
}
|
||||
|
||||
os::Paint p;
|
||||
if (renderProperties.requiresRgbaBackbuffer)
|
||||
p.blendMode(os::BlendMode::SrcOver);
|
||||
else
|
||||
|
@ -788,7 +790,11 @@ void Editor::drawOneSpriteUnclippedRect(ui::Graphics* g, const gfx::Rect& sprite
|
|||
&p);
|
||||
}
|
||||
else {
|
||||
g->blit(rendered.get(), 0, 0, dest.x, dest.y, dest.w, dest.h);
|
||||
g->drawSurface(rendered.get(),
|
||||
gfx::Rect(0, 0, dest.w, dest.h),
|
||||
gfx::Rect(dest.x, dest.y, dest.w, dest.h),
|
||||
os::Sampling(os::Sampling::Filter::Nearest),
|
||||
&p);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Aseprite UI Library
|
||||
// Copyright (C) 2019-2022 Igara Studio S.A.
|
||||
// Copyright (C) 2019-2024 Igara Studio S.A.
|
||||
// Copyright (C) 2001-2018 David Capello
|
||||
//
|
||||
// This file is released under the terms of the MIT license.
|
||||
|
@ -329,15 +329,6 @@ void Graphics::drawSurfaceNine(os::Surface* surface,
|
|||
m_surface->drawSurfaceNine(surface, src, center, displacedDst, drawCenter, paint);
|
||||
}
|
||||
|
||||
void Graphics::blit(os::Surface* srcSurface, int srcx, int srcy, int dstx, int dsty, int w, int h)
|
||||
{
|
||||
dirty(gfx::Rect(m_dx+dstx, m_dy+dsty, w, h));
|
||||
|
||||
os::SurfaceLock lockSrc(srcSurface);
|
||||
os::SurfaceLock lockDst(m_surface.get());
|
||||
srcSurface->blitTo(m_surface.get(), srcx, srcy, m_dx+dstx, m_dy+dsty, w, h);
|
||||
}
|
||||
|
||||
void Graphics::setFont(const os::FontRef& font)
|
||||
{
|
||||
m_font = font;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// Aseprite UI Library
|
||||
// Copyright (C) 2019-2022 Igara Studio S.A.
|
||||
// Copyright (C) 2019-2024 Igara Studio S.A.
|
||||
// Copyright (C) 2001-2018 David Capello
|
||||
//
|
||||
// This file is released under the terms of the MIT license.
|
||||
|
@ -96,8 +96,6 @@ namespace ui {
|
|||
const bool drawCenter,
|
||||
const Paint* paint = nullptr);
|
||||
|
||||
void blit(os::Surface* src, int srcx, int srcy, int dstx, int dsty, int w, int h);
|
||||
|
||||
// ======================================================================
|
||||
// FONT & TEXT
|
||||
// ======================================================================
|
||||
|
|
Loading…
Reference in New Issue
Block a user