mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 04:17:34 +00:00
PixelPaint: Add Zoom Reset button to new View Menubar.
If you lose your image while panning and zooming around, it is handy to have a reset function to get back home. :^)
This commit is contained in:
parent
223472c57f
commit
b48b8c372e
3 changed files with 18 additions and 0 deletions
|
@ -393,6 +393,15 @@ void ImageEditor::scale_centered_on_position(const Gfx::IntPoint& position, floa
|
||||||
relayout();
|
relayout();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ImageEditor::reset_scale_and_position()
|
||||||
|
{
|
||||||
|
if (m_scale != 1.0f)
|
||||||
|
m_scale = 1.0f;
|
||||||
|
|
||||||
|
m_pan_origin = Gfx::FloatPoint(0, 0);
|
||||||
|
relayout();
|
||||||
|
}
|
||||||
|
|
||||||
void ImageEditor::relayout()
|
void ImageEditor::relayout()
|
||||||
{
|
{
|
||||||
if (!image())
|
if (!image())
|
||||||
|
|
|
@ -64,6 +64,7 @@ public:
|
||||||
Layer* layer_at_editor_position(const Gfx::IntPoint&);
|
Layer* layer_at_editor_position(const Gfx::IntPoint&);
|
||||||
|
|
||||||
void scale_centered_on_position(const Gfx::IntPoint&, float);
|
void scale_centered_on_position(const Gfx::IntPoint&, float);
|
||||||
|
void reset_scale_and_position();
|
||||||
|
|
||||||
Color primary_color() const { return m_primary_color; }
|
Color primary_color() const { return m_primary_color; }
|
||||||
void set_primary_color(Color);
|
void set_primary_color(Color);
|
||||||
|
|
|
@ -217,6 +217,14 @@ int main(int argc, char** argv)
|
||||||
image_editor.redo();
|
image_editor.redo();
|
||||||
});
|
});
|
||||||
edit_menu.add_action(redo_action);
|
edit_menu.add_action(redo_action);
|
||||||
|
|
||||||
|
auto& view_menu = menubar->add_menu("&View");
|
||||||
|
view_menu.add_action(GUI::Action::create(
|
||||||
|
"&Reset Zoom", { Mod_Ctrl, Key_0 }, [&](auto&) {
|
||||||
|
image_editor.reset_scale_and_position();
|
||||||
|
return;
|
||||||
|
},
|
||||||
|
window));
|
||||||
|
|
||||||
auto& tool_menu = menubar->add_menu("&Tool");
|
auto& tool_menu = menubar->add_menu("&Tool");
|
||||||
toolbox.for_each_tool([&](auto& tool) {
|
toolbox.for_each_tool([&](auto& tool) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue