1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 04:07:44 +00:00

PixelPaint: Add Copy Merged action

This allows the user to copy the merged bitmap (all visible layers).
This commit is contained in:
Mustafa Quraish 2021-09-03 07:38:45 -04:00 committed by Andreas Kling
parent 65d52467f4
commit 6910cbc075
3 changed files with 32 additions and 0 deletions

View file

@ -256,6 +256,20 @@ int main(int argc, char** argv)
}
GUI::Clipboard::the().set_bitmap(*bitmap);
});
auto copy_merged_action = GUI::Action::create(
"Copy &Merged", { Mod_Ctrl | Mod_Shift, Key_C }, Gfx::Bitmap::try_load_from_file("/res/icons/16x16/edit-copy.png"),
[&](auto&) {
auto* editor = current_image_editor();
if (!editor)
return;
auto bitmap = editor->image().try_copy_bitmap(editor->selection());
if (!bitmap) {
dbgln("try_copy_bitmap() from Image failed");
return;
}
GUI::Clipboard::the().set_bitmap(*bitmap);
},
window);
auto paste_action = GUI::CommonActions::make_paste_action([&](auto&) {
auto* editor = current_image_editor();
@ -277,6 +291,7 @@ int main(int argc, char** argv)
paste_action->set_enabled(GUI::Clipboard::the().mime_type() == "image/x-serenityos");
edit_menu.add_action(copy_action);
edit_menu.add_action(copy_merged_action);
edit_menu.add_action(paste_action);
auto undo_action = GUI::CommonActions::make_undo_action([&](auto&) {