mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 16:52:43 +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
	
	 Andreas Kling
						Andreas Kling