Remove HQ2X and the Image.expand_2x_hq2x() method
As of Godot 3.0, HQ2X is no longer used to upscale the editor theme and icons on hiDPI displays, which limited its effective uses. HQ2X was also used to upscale the project theme when the "Use Hidpi" project setting was enabled, but results were often less than ideal. The new StyleBoxFlat and SVG support also make HQ2X less important to have as a core feature. This decreases binary sizes slightly (-150 KB on most platforms, -212 KB on WebAssembly release). This partially addresses #12419.
This commit is contained in:
parent
ac58372db8
commit
d935a4348d
8 changed files with 7 additions and 2742 deletions
|
|
@ -37,8 +37,6 @@
|
|||
#include "core/os/copymem.h"
|
||||
#include "core/print_string.h"
|
||||
|
||||
#include "thirdparty/misc/hq2x.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
const char *Image::format_names[Image::FORMAT_MAX] = {
|
||||
|
|
@ -1445,47 +1443,6 @@ static void _generate_po2_mipmap(const Component *p_src, Component *p_dst, uint3
|
|||
}
|
||||
}
|
||||
|
||||
void Image::expand_x2_hq2x() {
|
||||
ERR_FAIL_COND(!_can_modify(format));
|
||||
|
||||
bool used_mipmaps = has_mipmaps();
|
||||
if (used_mipmaps) {
|
||||
clear_mipmaps();
|
||||
}
|
||||
|
||||
Format current = format;
|
||||
|
||||
if (current != FORMAT_RGBA8) {
|
||||
convert(FORMAT_RGBA8);
|
||||
}
|
||||
|
||||
Vector<uint8_t> dest;
|
||||
dest.resize(width * 2 * height * 2 * 4);
|
||||
|
||||
{
|
||||
const uint8_t *r = data.ptr();
|
||||
uint8_t *w = dest.ptrw();
|
||||
|
||||
ERR_FAIL_COND(!r);
|
||||
|
||||
hq2x_resize((const uint32_t *)r, width, height, (uint32_t *)w);
|
||||
}
|
||||
|
||||
width *= 2;
|
||||
height *= 2;
|
||||
data = dest;
|
||||
|
||||
if (current != FORMAT_RGBA8) {
|
||||
convert(current);
|
||||
}
|
||||
|
||||
// FIXME: This is likely meant to use "used_mipmaps" as defined above, but if we do,
|
||||
// we end up with a regression: GH-22747
|
||||
if (mipmaps) {
|
||||
generate_mipmaps();
|
||||
}
|
||||
}
|
||||
|
||||
void Image::shrink_x2() {
|
||||
ERR_FAIL_COND(data.size() == 0);
|
||||
|
||||
|
|
@ -3047,7 +3004,6 @@ void Image::_bind_methods() {
|
|||
ClassDB::bind_method(D_METHOD("resize_to_po2", "square"), &Image::resize_to_po2, DEFVAL(false));
|
||||
ClassDB::bind_method(D_METHOD("resize", "width", "height", "interpolation"), &Image::resize, DEFVAL(INTERPOLATE_BILINEAR));
|
||||
ClassDB::bind_method(D_METHOD("shrink_x2"), &Image::shrink_x2);
|
||||
ClassDB::bind_method(D_METHOD("expand_x2_hq2x"), &Image::expand_x2_hq2x);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("crop", "width", "height"), &Image::crop);
|
||||
ClassDB::bind_method(D_METHOD("flip_x"), &Image::flip_x);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue