mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 22:02:58 -06:00
51 lines
No EOL
997 B
C++
51 lines
No EOL
997 B
C++
#include "Draw.h"
|
|
|
|
namespace Upp {
|
|
|
|
static bool sUHDMode;
|
|
|
|
void SetUHDMode(bool b)
|
|
{
|
|
for(int i = 0; i < GetImlCount(); i++)
|
|
GetIml(i).Reset();
|
|
sUHDMode = b;
|
|
}
|
|
|
|
bool IsUHDMode()
|
|
{
|
|
return sUHDMode;
|
|
}
|
|
|
|
Image DPI(const Image& img)
|
|
{
|
|
if(IsUHDMode()) {
|
|
if(img.GetResolution() == IMAGE_RESOLUTION_STANDARD) {
|
|
Image m = CachedRescale(img, 2 * img.GetSize(), FILTER_LANCZOS3);
|
|
ImageBuffer h(m);
|
|
h.SetResolution(IMAGE_RESOLUTION_UHD);
|
|
return h;
|
|
}
|
|
}
|
|
else {
|
|
if(img.GetResolution() == IMAGE_RESOLUTION_UHD) {
|
|
Image m = CachedRescale(img, img.GetSize() - 2, FILTER_LANCZOS3);
|
|
ImageBuffer h(m);
|
|
h.SetResolution(IMAGE_RESOLUTION_UHD);
|
|
return h;
|
|
}
|
|
}
|
|
return img;
|
|
}
|
|
|
|
Image DPI(const Image& img, int expected)
|
|
{
|
|
if(img.GetSize().cy <= expected && IsUHDMode()) {
|
|
Image m = CachedRescale(img, 2 * img.GetSize(), FILTER_LANCZOS3);
|
|
ImageBuffer h(m);
|
|
h.SetResolution(IMAGE_RESOLUTION_UHD);
|
|
return h;
|
|
}
|
|
return img;
|
|
}
|
|
|
|
}; |