1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-08-10 22:31:40 +02:00

fix margin (hd texture)

This commit is contained in:
Laserlicht
2024-12-26 15:05:30 +01:00
parent 808a643856
commit 3beb78104e

View File

@@ -278,12 +278,6 @@ void SDLImageShared::optimizeSurface()
margins.x += left;
margins.y += top;
}
if(preScaleFactor > 1 && preScaleFactor != GH.screenHandler().getScalingFactor())
{
margins.x = margins.x * GH.screenHandler().getScalingFactor() / preScaleFactor;
margins.y = margins.y * GH.screenHandler().getScalingFactor() / preScaleFactor;
}
}
std::shared_ptr<const ISharedImage> SDLImageShared::scaleInteger(int factor, SDL_Palette * palette, EImageBlitMode mode) const
@@ -309,15 +303,15 @@ std::shared_ptr<const ISharedImage> SDLImageShared::scaleInteger(int factor, SDL
scaled = CSDL_Ext::scaleSurfaceIntegerFactor(surf, factor, EScalingAlgorithm::XBRZ_ALPHA);
}
else
scaled = CSDL_Ext::scaleSurface(surf, (surf->w / preScaleFactor) * factor, (surf->h / preScaleFactor) * factor);
scaled = CSDL_Ext::scaleSurface(surf, (int) round((float)surf->w * factor / preScaleFactor), (int) round((float)surf->h * factor / preScaleFactor));
auto ret = std::make_shared<SDLImageShared>(scaled, preScaleFactor);
ret->fullSize.x = fullSize.x * factor;
ret->fullSize.y = fullSize.y * factor;
ret->margins.x = margins.x * factor;
ret->margins.y = margins.y * factor;
ret->margins.x = (int) round((float)margins.x * factor / preScaleFactor);
ret->margins.y = (int) round((float)margins.y * factor / preScaleFactor);
ret->optimizeSurface();
// erase our own reference