Merge pull request #88763 from BlueCube3310/image-is-compressed-static

Image: Add static `is_format_compressed` function.
This commit is contained in:
Rémi Verschelde 2024-05-02 14:01:18 +02:00
commit 28a18cf1b8
No known key found for this signature in database
GPG key ID: C3336907360768E1
6 changed files with 12 additions and 7 deletions

View file

@ -521,7 +521,7 @@ void Image::convert(Format p_new_format) {
// Includes the main image.
const int mipmap_count = get_mipmap_count() + 1;
if (format > FORMAT_RGBE9995 || p_new_format > FORMAT_RGBE9995) {
if (Image::is_format_compressed(format) || Image::is_format_compressed(p_new_format)) {
ERR_FAIL_MSG("Cannot convert to <-> from compressed formats. Use compress() and decompress() instead.");
} else if (format > FORMAT_RGBA8 || p_new_format > FORMAT_RGBA8) {
@ -1662,7 +1662,7 @@ int Image::_get_dst_image_size(int p_width, int p_height, Format p_format, int &
}
bool Image::_can_modify(Format p_format) const {
return p_format <= FORMAT_RGBE9995;
return !Image::is_format_compressed(p_format);
}
template <typename Component, int CC, bool renormalize,
@ -2616,7 +2616,11 @@ int Image::get_image_mipmap_offset_and_dimensions(int p_width, int p_height, For
}
bool Image::is_compressed() const {
return format > FORMAT_RGBE9995;
return is_format_compressed(format);
}
bool Image::is_format_compressed(Format p_format) {
return p_format > FORMAT_RGBE9995;
}
Error Image::decompress() {