mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 18:17:44 +00:00
PixelPaint: Add level sliders for brightness, contrast and gamma
This patch adds a basic dialog to change brightness, contrast and gamma correction for the selected layer.
This commit is contained in:
parent
69c451e485
commit
5aeb6552f0
9 changed files with 303 additions and 0 deletions
|
@ -12,6 +12,7 @@
|
|||
#include "EditGuideDialog.h"
|
||||
#include "FilterGallery.h"
|
||||
#include "FilterParams.h"
|
||||
#include "LevelsDialog.h"
|
||||
#include "ResizeImageDialog.h"
|
||||
#include <Applications/PixelPaint/PixelPaintWindowGML.h>
|
||||
#include <LibConfig/Client.h>
|
||||
|
@ -701,6 +702,15 @@ void MainWidget::initialize_menubar(GUI::Window& window)
|
|||
auto& help_menu = window.add_menu("&Help");
|
||||
help_menu.add_action(GUI::CommonActions::make_about_action("Pixel Paint", GUI::Icon::default_icon("app-pixel-paint"), &window));
|
||||
|
||||
m_levels_dialog_action = GUI::Action::create(
|
||||
"Change &Levels...", { Mod_Ctrl, Key_L }, g_icon_bag.levels, [&](auto&) {
|
||||
auto* editor = current_image_editor();
|
||||
VERIFY(editor);
|
||||
auto dialog = PixelPaint::LevelsDialog::construct(&window, editor);
|
||||
if (dialog->exec() != GUI::Dialog::ExecResult::OK)
|
||||
dialog->revert_possible_changes();
|
||||
});
|
||||
|
||||
auto& toolbar = *find_descendant_of_type_named<GUI::Toolbar>("toolbar");
|
||||
toolbar.add_action(*m_new_image_action);
|
||||
toolbar.add_action(*m_open_image_action);
|
||||
|
@ -715,6 +725,7 @@ void MainWidget::initialize_menubar(GUI::Window& window)
|
|||
toolbar.add_action(*m_zoom_in_action);
|
||||
toolbar.add_action(*m_zoom_out_action);
|
||||
toolbar.add_action(*m_reset_zoom_action);
|
||||
|
||||
m_zoom_combobox = toolbar.add<GUI::ComboBox>();
|
||||
m_zoom_combobox->set_max_width(75);
|
||||
m_zoom_combobox->set_model(*GUI::ItemListModel<String>::create(s_suggested_zoom_levels));
|
||||
|
@ -752,6 +763,9 @@ void MainWidget::initialize_menubar(GUI::Window& window)
|
|||
m_zoom_combobox->on_return_pressed = [this]() {
|
||||
m_zoom_combobox->on_change(m_zoom_combobox->text(), GUI::ModelIndex());
|
||||
};
|
||||
|
||||
toolbar.add_separator();
|
||||
toolbar.add_action(*m_levels_dialog_action);
|
||||
}
|
||||
|
||||
void MainWidget::set_actions_enabled(bool enabled)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue