diff options
| author | Strubbelkopp <[email protected]> | 2025-07-25 12:20:17 +0200 |
|---|---|---|
| committer | Strubbelkopp <[email protected]> | 2025-07-25 12:20:17 +0200 |
| commit | 5dda54ecd49a43e79a52ded2a0fc0f1017689197 (patch) | |
| tree | 9f0fca801612521850eb17c34086246acedae2f0 /src/main.rs | |
| parent | 473d5d0173b80917692bb316d8c681be16355510 (diff) | |
| download | mikusays-c-5dda54ecd49a43e79a52ded2a0fc0f1017689197.tar.gz mikusays-c-5dda54ecd49a43e79a52ded2a0fc0f1017689197.zip | |
Add optional argument to select a specific style
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/main.rs b/src/main.rs index d6313fa..715d34b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,20 +12,27 @@ struct Args { /// Text to display in the speech bubble text: String, + /// Style of the Miku art. Random is chosen if not specified. + #[arg(short, long)] + style: Option<i32>, } fn main() -> Result<(), Box<dyn std::error::Error>> { let args = Args::parse(); let text = args.text; - draw_miku_says(&text)?; + let style = match args.style { + Some(s) => s, + None => -1 // Default to -1 to select a random style + }; + draw_miku_says(&text, style)?; Ok(()) } -fn draw_miku_says(text: &str) -> Result<(), Box<dyn std::error::Error>> { +fn draw_miku_says(text: &str, style: i32) -> Result<(), Box<dyn std::error::Error>> { let speech_bubble_lines = get_speech_bubble_lines(text); - let miku_art = get_miku_art(); + let miku_art = get_miku_art(style); let (window_width, window_height) = size()?; let available_width = window_width as usize; |
