URI: 
       Added reference Image support. - icy_draw - icy_draw is the successor to mystic draw. fork / mirror
  HTML git clone https://git.drkhsh.at/icy_draw.git
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit bdb7568c14ee1e8f8ba17465484e3f816011a2cc
   DIR parent 04559526a2cb13d9bb83a55c8403fb8ce170a2bd
  HTML Author: Mike Krüger <mkrueger@posteo.de>
       Date:   Wed,  6 Sep 2023 22:49:27 +0200
       
       Added reference Image support.
       
       Diffstat:
         M i18n/en/icy_draw.ftl                |       3 +++
         M src/ui/commands.rs                  |      19 +++++++++++++++++++
         M src/ui/messages.rs                  |      32 +++++++++++++++++++++++++++++++
         M src/ui/top_bar.rs                   |      10 ++++++++++
       
       4 files changed, 64 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/i18n/en/icy_draw.ftl b/i18n/en/icy_draw.ftl
       @@ -51,6 +51,9 @@ menu-scroll_area_right=Scroll Area Right
        menu-selection=Selection
        menu-select-all=Select All
        menu-deselect=Deselect
       +menu-reference-image=Open Reference Image…
       +menu-toggle-reference-image=Toggle Reference Image
       +menu-clear-reference-image=Clear
        
        menu-help=Help
        menu-discuss=Discuss
   DIR diff --git a/src/ui/commands.rs b/src/ui/commands.rs
       @@ -269,4 +269,23 @@ keys![
                ArrowRight,
                ALT_CTRL
            ),
       +    (
       +        set_reference_image,
       +        "menu-reference-image",
       +        SetReferenceImage,
       +        O,
       +        CTRL_SHIFT
       +    ),
       +    (
       +        toggle_reference_image,
       +        "menu-toggle-reference-image",
       +        ToggleReferenceImage,
       +        Tab,
       +        CTRL
       +    ),
       +    (
       +        clear_reference_image,
       +        "menu-clear-reference-image",
       +        ClearReferenceImage
       +    ),
        ];
   DIR diff --git a/src/ui/messages.rs b/src/ui/messages.rs
       @@ -86,6 +86,10 @@ pub enum Message {
            ScrollAreaDown,
            ScrollAreaLeft,
            ScrollAreaRight,
       +
       +    SetReferenceImage,
       +    ToggleReferenceImage,
       +    ClearReferenceImage,
        }
        
        pub const CTRL_SHIFT: egui::Modifiers = egui::Modifiers {
       @@ -592,6 +596,34 @@ impl MainWindow {
                            to_message(lock.get_edit_state_mut().scroll_area_right())
                        });
                    }
       +            Message::SetReferenceImage => {
       +                let dialog = rfd::FileDialog::new();
       +                let res = dialog.pick_file();
       +                if let Some(res) = res {
       +                    self.run_editor_command(res, |_, editor, res| {
       +                        let mut lock = editor.buffer_view.lock();
       +                        lock.load_reference_image(res.as_path());
       +                        None
       +                    });
       +                }
       +            }
       +            Message::ToggleReferenceImage => {
       +                self.run_editor_command(0, |_, editor, _| {
       +                    let mut lock = editor.buffer_view.lock();
       +                    lock.toggle_reference_image();
       +                    None
       +                });
       +            }
       +            Message::ClearReferenceImage => {
       +                self.run_editor_command(0, |_, editor, _| {
       +                    let mut lock: eframe::epaint::mutex::MutexGuard<
       +                        '_,
       +                        icy_engine_egui::BufferView,
       +                    > = editor.buffer_view.lock();
       +                    lock.clear_reference_image();
       +                    None
       +                });
       +            }
                }
            }
        }
   DIR diff --git a/src/ui/top_bar.rs b/src/ui/top_bar.rs
       @@ -269,6 +269,16 @@ impl MainWindow {
                            self.document_behavior.document_options.scale = Vec2::new(3.0, 3.0);
                            ui.close_menu();
                        }
       +                ui.separator();
       +                self.commands
       +                    .set_reference_image
       +                    .ui_enabled(ui, has_buffer, &mut result);
       +                self.commands
       +                    .toggle_reference_image
       +                    .ui_enabled(ui, has_buffer, &mut result);
       +                self.commands
       +                    .clear_reference_image
       +                    .ui_enabled(ui, has_buffer, &mut result);
                    });
        
                    ui.menu_button(fl!(crate::LANGUAGE_LOADER, "menu-help"), |ui| {