mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-12-08 06:09:58 +00:00
LibGfx: Remove redundant enum
With the templatized overload of set_pixel() gone, there is no reason to have two separate enums anymore.
This commit is contained in:
parent
645052b87e
commit
07f61f2cec
Notes:
github-actions[bot]
2025-11-28 17:35:01 +00:00
Author: https://github.com/InvalidUsernameException
Commit: 07f61f2cec
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/6911
Reviewed-by: https://github.com/Hendiadyoin1
Reviewed-by: https://github.com/Psychpsyo
Reviewed-by: https://github.com/gmta
2 changed files with 19 additions and 39 deletions
|
|
@ -34,11 +34,11 @@ struct BackingStore {
|
||||||
size_t Bitmap::minimum_pitch(size_t width, BitmapFormat format)
|
size_t Bitmap::minimum_pitch(size_t width, BitmapFormat format)
|
||||||
{
|
{
|
||||||
size_t element_size;
|
size_t element_size;
|
||||||
switch (determine_storage_format(format)) {
|
switch (format) {
|
||||||
case StorageFormat::BGRx8888:
|
case BitmapFormat::BGRx8888:
|
||||||
case StorageFormat::BGRA8888:
|
case BitmapFormat::BGRA8888:
|
||||||
case StorageFormat::RGBx8888:
|
case BitmapFormat::RGBx8888:
|
||||||
case StorageFormat::RGBA8888:
|
case BitmapFormat::RGBA8888:
|
||||||
element_size = 4;
|
element_size = 4;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
|
||||||
|
|
@ -39,29 +39,6 @@ inline bool is_valid_bitmap_format(u32 const format)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
enum class StorageFormat {
|
|
||||||
BGRx8888,
|
|
||||||
BGRA8888,
|
|
||||||
RGBA8888,
|
|
||||||
RGBx8888,
|
|
||||||
};
|
|
||||||
|
|
||||||
inline StorageFormat determine_storage_format(BitmapFormat format)
|
|
||||||
{
|
|
||||||
switch (format) {
|
|
||||||
case BitmapFormat::BGRx8888:
|
|
||||||
return StorageFormat::BGRx8888;
|
|
||||||
case BitmapFormat::BGRA8888:
|
|
||||||
return StorageFormat::BGRA8888;
|
|
||||||
case BitmapFormat::RGBA8888:
|
|
||||||
return StorageFormat::RGBA8888;
|
|
||||||
case BitmapFormat::RGBx8888:
|
|
||||||
return StorageFormat::RGBx8888;
|
|
||||||
default:
|
|
||||||
VERIFY_NOT_REACHED();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
enum class MaskKind {
|
enum class MaskKind {
|
||||||
Alpha,
|
Alpha,
|
||||||
Luminance
|
Luminance
|
||||||
|
|
@ -251,33 +228,36 @@ ALWAYS_INLINE Color Bitmap::get_pixel(int x, int y) const
|
||||||
VERIFY(x >= 0);
|
VERIFY(x >= 0);
|
||||||
VERIFY(x < width());
|
VERIFY(x < width());
|
||||||
auto pixel = scanline(y)[x];
|
auto pixel = scanline(y)[x];
|
||||||
switch (determine_storage_format(m_format)) {
|
switch (m_format) {
|
||||||
case StorageFormat::BGRx8888:
|
case BitmapFormat::BGRx8888:
|
||||||
return Color::from_rgb(pixel);
|
return Color::from_rgb(pixel);
|
||||||
case StorageFormat::BGRA8888:
|
case BitmapFormat::BGRA8888:
|
||||||
return Color::from_argb(pixel);
|
return Color::from_argb(pixel);
|
||||||
case StorageFormat::RGBA8888:
|
case BitmapFormat::RGBA8888:
|
||||||
return Color::from_abgr(pixel);
|
return Color::from_abgr(pixel);
|
||||||
case StorageFormat::RGBx8888:
|
case BitmapFormat::RGBx8888:
|
||||||
return Color::from_bgr(pixel);
|
return Color::from_bgr(pixel);
|
||||||
default:
|
case BitmapFormat::Invalid:
|
||||||
VERIFY_NOT_REACHED();
|
VERIFY_NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
VERIFY_NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
|
||||||
ALWAYS_INLINE void Bitmap::set_pixel(int x, int y, Color color)
|
ALWAYS_INLINE void Bitmap::set_pixel(int x, int y, Color color)
|
||||||
{
|
{
|
||||||
switch (determine_storage_format(m_format)) {
|
switch (m_format) {
|
||||||
case StorageFormat::BGRx8888:
|
case BitmapFormat::BGRx8888:
|
||||||
case StorageFormat::BGRA8888:
|
case BitmapFormat::BGRA8888:
|
||||||
scanline(y)[x] = color.value();
|
scanline(y)[x] = color.value();
|
||||||
return;
|
return;
|
||||||
case StorageFormat::RGBA8888:
|
case BitmapFormat::RGBA8888:
|
||||||
scanline(y)[x] = (color.alpha() << 24) | (color.blue() << 16) | (color.green() << 8) | color.red();
|
scanline(y)[x] = (color.alpha() << 24) | (color.blue() << 16) | (color.green() << 8) | color.red();
|
||||||
return;
|
return;
|
||||||
case StorageFormat::RGBx8888:
|
case BitmapFormat::RGBx8888:
|
||||||
scanline(y)[x] = (color.blue() << 16) | (color.green() << 8) | color.red();
|
scanline(y)[x] = (color.blue() << 16) | (color.green() << 8) | color.red();
|
||||||
return;
|
return;
|
||||||
|
case BitmapFormat::Invalid:
|
||||||
|
VERIFY_NOT_REACHED();
|
||||||
}
|
}
|
||||||
VERIFY_NOT_REACHED();
|
VERIFY_NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue