mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 18:27:42 +00:00
LibGfx: Use ErrorOr<T> for Bitmap::rotated()
This commit is contained in:
parent
2da4cfcc80
commit
69c4614a94
5 changed files with 11 additions and 10 deletions
|
@ -55,7 +55,7 @@ void ViewWidget::flip(Gfx::Orientation orientation)
|
|||
|
||||
void ViewWidget::rotate(Gfx::RotationDirection rotation_direction)
|
||||
{
|
||||
m_bitmap = m_bitmap->rotated(rotation_direction);
|
||||
m_bitmap = m_bitmap->rotated(rotation_direction).release_value_but_fixme_should_propagate_errors();
|
||||
set_scale(m_scale);
|
||||
|
||||
resize_window();
|
||||
|
|
|
@ -152,10 +152,10 @@ RefPtr<Gfx::Bitmap> PDFViewer::render_page(const PDF::Page& page)
|
|||
if (page.rotate != 0) {
|
||||
int rotation_count = (page.rotate / 90) % 4;
|
||||
if (rotation_count == 3) {
|
||||
bitmap = bitmap->rotated(Gfx::RotationDirection::CounterClockwise);
|
||||
bitmap = bitmap->rotated(Gfx::RotationDirection::CounterClockwise).release_value_but_fixme_should_propagate_errors();
|
||||
} else {
|
||||
for (int i = 0; i < rotation_count; i++)
|
||||
bitmap = bitmap->rotated(Gfx::RotationDirection::Clockwise);
|
||||
bitmap = bitmap->rotated(Gfx::RotationDirection::Clockwise).release_value_but_fixme_should_propagate_errors();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -518,8 +518,7 @@ void Image::flip(Gfx::Orientation orientation)
|
|||
void Image::rotate(Gfx::RotationDirection direction)
|
||||
{
|
||||
for (auto& layer : m_layers) {
|
||||
auto rotated = layer.bitmap().rotated(direction);
|
||||
VERIFY(rotated);
|
||||
auto rotated = layer.bitmap().rotated(direction).release_value_but_fixme_should_propagate_errors();
|
||||
layer.set_bitmap(*rotated);
|
||||
layer.did_modify_bitmap(rect());
|
||||
}
|
||||
|
|
|
@ -347,11 +347,13 @@ ErrorOr<NonnullRefPtr<Gfx::Bitmap>> Bitmap::clone() const
|
|||
return new_bitmap.release_nonnull();
|
||||
}
|
||||
|
||||
RefPtr<Gfx::Bitmap> Bitmap::rotated(Gfx::RotationDirection rotation_direction) const
|
||||
ErrorOr<NonnullRefPtr<Gfx::Bitmap>> Bitmap::rotated(Gfx::RotationDirection rotation_direction) const
|
||||
{
|
||||
auto new_bitmap = Gfx::Bitmap::try_create(this->format(), { height(), width() }, scale());
|
||||
if (!new_bitmap)
|
||||
return nullptr;
|
||||
if (!new_bitmap) {
|
||||
// FIXME: Propagate the *real* error, once we have it.
|
||||
return Error::from_errno(ENOMEM);
|
||||
}
|
||||
|
||||
auto w = this->physical_width();
|
||||
auto h = this->physical_height();
|
||||
|
@ -367,7 +369,7 @@ RefPtr<Gfx::Bitmap> Bitmap::rotated(Gfx::RotationDirection rotation_direction) c
|
|||
}
|
||||
}
|
||||
|
||||
return new_bitmap;
|
||||
return new_bitmap.release_nonnull();
|
||||
}
|
||||
|
||||
RefPtr<Gfx::Bitmap> Bitmap::flipped(Gfx::Orientation orientation) const
|
||||
|
|
|
@ -111,7 +111,7 @@ public:
|
|||
|
||||
ErrorOr<NonnullRefPtr<Gfx::Bitmap>> clone() const;
|
||||
|
||||
[[nodiscard]] RefPtr<Gfx::Bitmap> rotated(Gfx::RotationDirection) const;
|
||||
ErrorOr<NonnullRefPtr<Gfx::Bitmap>> rotated(Gfx::RotationDirection) const;
|
||||
[[nodiscard]] RefPtr<Gfx::Bitmap> flipped(Gfx::Orientation) const;
|
||||
[[nodiscard]] RefPtr<Gfx::Bitmap> scaled(int sx, int sy) const;
|
||||
[[nodiscard]] RefPtr<Gfx::Bitmap> scaled(float sx, float sy) const;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue