فهرست منبع

PixelPaint: Reduce verbosity of crop to content feature

This patch reduces the repetitiveness of the crop to content feature
implementation.
faxe1008 2 سال پیش
والد
کامیت
21358d8a5f
2فایلهای تغییر یافته به همراه5 افزوده شده و 21 حذف شده
  1. 1 1
      Userland/Applications/PixelPaint/Image.cpp
  2. 4 20
      Userland/Applications/PixelPaint/Layer.cpp

+ 1 - 1
Userland/Applications/PixelPaint/Image.cpp

@@ -540,7 +540,7 @@ Optional<Gfx::IntRect> Image::nonempty_content_bounding_rect() const
         auto layer_content_rect_in_layer_coordinates = layer.nonempty_content_bounding_rect();
         auto layer_content_rect_in_layer_coordinates = layer.nonempty_content_bounding_rect();
         if (!layer_content_rect_in_layer_coordinates.has_value())
         if (!layer_content_rect_in_layer_coordinates.has_value())
             continue;
             continue;
-        auto layer_content_rect_in_image_coordinates = layer_content_rect_in_layer_coordinates.value().translated(layer.location());
+        auto layer_content_rect_in_image_coordinates = layer_content_rect_in_layer_coordinates->translated(layer.location());
         if (!bounding_rect.has_value())
         if (!bounding_rect.has_value())
             bounding_rect = layer_content_rect_in_image_coordinates;
             bounding_rect = layer_content_rect_in_image_coordinates;
         else
         else

+ 4 - 20
Userland/Applications/PixelPaint/Layer.cpp

@@ -281,26 +281,10 @@ Optional<Gfx::IntRect> Layer::nonempty_content_bounding_rect() const
             auto color = m_content_bitmap->get_pixel(x, y);
             auto color = m_content_bitmap->get_pixel(x, y);
             if (color.alpha() == 0)
             if (color.alpha() == 0)
                 continue;
                 continue;
-
-            if (!min_content_x.has_value())
-                min_content_x = x;
-            else
-                min_content_x = min(*min_content_x, x);
-
-            if (!min_content_y.has_value())
-                min_content_y = y;
-            else
-                min_content_y = min(*min_content_y, y);
-
-            if (!max_content_x.has_value())
-                max_content_x = x;
-            else
-                max_content_x = max(*max_content_x, x);
-
-            if (!max_content_y.has_value())
-                max_content_y = y;
-            else
-                max_content_y = max(*max_content_y, y);
+            min_content_x = min(min_content_x.value_or(x), x);
+            min_content_y = min(min_content_y.value_or(y), y);
+            max_content_x = max(max_content_x.value_or(x), x);
+            max_content_y = max(max_content_y.value_or(y), y);
         }
         }
     }
     }