From 6b079264666cf657204b1508960c82e0b8f9247f Mon Sep 17 00:00:00 2001 From: Jelle Raaijmakers Date: Fri, 19 May 2023 00:28:51 +0200 Subject: [PATCH] ImageViewer: Add support for box sampling scaling --- Userland/Applications/ImageViewer/main.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Userland/Applications/ImageViewer/main.cpp b/Userland/Applications/ImageViewer/main.cpp index f77a72cee7..13d9602928 100644 --- a/Userland/Applications/ImageViewer/main.cpp +++ b/Userland/Applications/ImageViewer/main.cpp @@ -261,6 +261,10 @@ ErrorOr serenity_main(Main::Arguments arguments) widget->set_scaling_mode(Gfx::Painter::ScalingMode::BilinearBlend); }); + auto box_sampling_action = GUI::Action::create_checkable("B&ox Sampling", [&](auto&) { + widget->set_scaling_mode(Gfx::Painter::ScalingMode::BoxSampling); + }); + widget->on_image_change = [&](Gfx::Bitmap const* bitmap) { bool should_enable_image_actions = (bitmap != nullptr); bool should_enable_forward_actions = (widget->is_next_available() && should_enable_image_actions); @@ -345,10 +349,12 @@ ErrorOr serenity_main(Main::Arguments arguments) scaling_mode_group->add_action(*nearest_neighbor_action); scaling_mode_group->add_action(*smooth_pixels_action); scaling_mode_group->add_action(*bilinear_action); + scaling_mode_group->add_action(*box_sampling_action); TRY(scaling_mode_menu->try_add_action(nearest_neighbor_action)); TRY(scaling_mode_menu->try_add_action(smooth_pixels_action)); TRY(scaling_mode_menu->try_add_action(bilinear_action)); + TRY(scaling_mode_menu->try_add_action(box_sampling_action)); TRY(view_menu->try_add_separator()); TRY(view_menu->try_add_action(hide_show_toolbar_action));