diff options
author | MacDue <macdue@dueutil.tech> | 2022-05-09 00:00:13 +0100 |
---|---|---|
committer | Linus Groh <mail@linusgroh.de> | 2022-05-26 00:07:24 +0100 |
commit | 48d3db3c3d63736d829a255cc5a0dbce9e62bc30 (patch) | |
tree | 0657c745439fb866d19d50658015a5ea00080ae9 | |
parent | 59598ded15a489e9103eade3f9f4d263dd75390f (diff) | |
download | serenity-48d3db3c3d63736d829a255cc5a0dbce9e62bc30.zip |
LibGfx: Add Bitmap::invert()
Helper function to invert a bitmap in-place
-rw-r--r-- | Userland/Libraries/LibGfx/Bitmap.cpp | 8 | ||||
-rw-r--r-- | Userland/Libraries/LibGfx/Bitmap.h | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/Userland/Libraries/LibGfx/Bitmap.cpp b/Userland/Libraries/LibGfx/Bitmap.cpp index 5a98512c8a..35ba62d702 100644 --- a/Userland/Libraries/LibGfx/Bitmap.cpp +++ b/Userland/Libraries/LibGfx/Bitmap.cpp @@ -469,6 +469,14 @@ ErrorOr<NonnullRefPtr<Bitmap>> Bitmap::to_bitmap_backed_by_anonymous_buffer() co return bitmap; } +void Bitmap::invert() +{ + for (auto y = 0; y < height(); y++) { + for (auto x = 0; x < width(); x++) + set_pixel(x, y, get_pixel(x, y).inverted()); + } +} + Bitmap::~Bitmap() { if (m_needs_munmap) { diff --git a/Userland/Libraries/LibGfx/Bitmap.h b/Userland/Libraries/LibGfx/Bitmap.h index 89b3130acc..968ab77087 100644 --- a/Userland/Libraries/LibGfx/Bitmap.h +++ b/Userland/Libraries/LibGfx/Bitmap.h @@ -121,6 +121,8 @@ public: [[nodiscard]] ShareableBitmap to_shareable_bitmap() const; + void invert(); + ~Bitmap(); [[nodiscard]] u8* scanline_u8(int physical_y); |