@@ -53,7 +53,10 @@ pub use note_panel::{
5353 NotePanel ,
5454} ;
5555pub use notes_dialog:: NotesDialog ;
56- pub use screenshot_editor:: ScreenshotEditor ;
56+ pub use screenshot_editor:: {
57+ render_markup_layers, MarkupArrow , MarkupHistory , MarkupLayer , MarkupRect , MarkupStroke ,
58+ MarkupText , MarkupTool , ScreenshotEditor ,
59+ } ;
5760pub use shell_cmd_dialog:: ShellCmdDialog ;
5861pub use snippet_dialog:: SnippetDialog ;
5962pub use tempfile_alias_dialog:: TempfileAliasDialog ;
@@ -2542,16 +2545,17 @@ impl LauncherApp {
25422545 }
25432546 } else if let Some ( mode) = a. action . strip_prefix ( "screenshot:" ) {
25442547 use crate :: actions:: screenshot:: Mode as ScreenshotMode ;
2545- let ( mode, clip) = match mode {
2546- "window" => ( ScreenshotMode :: Window , false ) ,
2547- "region" => ( ScreenshotMode :: Region , false ) ,
2548- "desktop" => ( ScreenshotMode :: Desktop , false ) ,
2549- "window_clip" => ( ScreenshotMode :: Window , true ) ,
2550- "region_clip" => ( ScreenshotMode :: Region , true ) ,
2551- "desktop_clip" => ( ScreenshotMode :: Desktop , true ) ,
2552- _ => ( ScreenshotMode :: Desktop , false ) ,
2548+ let ( mode, clip, tool) = match mode {
2549+ "window" => ( ScreenshotMode :: Window , false , MarkupTool :: Rectangle ) ,
2550+ "region" => ( ScreenshotMode :: Region , false , MarkupTool :: Rectangle ) ,
2551+ "region_markup" => ( ScreenshotMode :: Region , false , MarkupTool :: Pen ) ,
2552+ "desktop" => ( ScreenshotMode :: Desktop , false , MarkupTool :: Rectangle ) ,
2553+ "window_clip" => ( ScreenshotMode :: Window , true , MarkupTool :: Rectangle ) ,
2554+ "region_clip" => ( ScreenshotMode :: Region , true , MarkupTool :: Rectangle ) ,
2555+ "desktop_clip" => ( ScreenshotMode :: Desktop , true , MarkupTool :: Rectangle ) ,
2556+ _ => ( ScreenshotMode :: Desktop , false , MarkupTool :: Rectangle ) ,
25532557 } ;
2554- if let Err ( e) = crate :: plugins:: screenshot:: launch_editor ( self , mode, clip) {
2558+ if let Err ( e) = crate :: plugins:: screenshot:: launch_editor ( self , mode, clip, tool ) {
25552559 self . set_error ( format ! ( "Failed: {e}" ) ) ;
25562560 } else if a. action != "help:show" {
25572561 self . record_history_usage ( & a, & current, source) ;
@@ -4583,7 +4587,7 @@ impl LauncherApp {
45834587 }
45844588
45854589 /// Open the screenshot editor for a captured image.
4586- pub fn open_screenshot_editor ( & mut self , img : image:: RgbaImage , clip : bool ) {
4590+ pub fn open_screenshot_editor ( & mut self , img : image:: RgbaImage , clip : bool , tool : MarkupTool ) {
45874591 use chrono:: Local ;
45884592 let dir = crate :: plugins:: screenshot:: screenshot_dir ( ) ;
45894593 let _ = std:: fs:: create_dir_all ( & dir) ;
@@ -4597,6 +4601,7 @@ impl LauncherApp {
45974601 path,
45984602 clip,
45994603 self . screenshot_auto_save ,
4604+ tool,
46004605 ) ) ;
46014606 self . update_panel_stack ( ) ;
46024607 }
0 commit comments