shimmer_showcase/
shimmer_showcase.rs

1use std::thread;
2use std::time::Duration;
3use tinterm::*;
4
5fn main() {
6    println!("🌟 Tinterm Shimmer Showcase 🌟\n");
7
8    // Basic shimmer effect
9    println!("1. Basic Shimmer Effect:");
10    let shimmer = "✨ Shimmering Text ✨".shimmer(Color::GOLD, None);
11    println!("   Static: {}", shimmer.static_render());
12    print!("   Animated: ");
13    shimmer.animate(3);
14    println!();
15
16    // Shine effect with different colors
17    println!("2. Shine Effect:");
18    let shine_red = "šŸ”„ Blazing Fire šŸ”„".shine(Color::RED);
19    let shine_blue = "šŸ’Ž Crystal Blue šŸ’Ž".shine(Color::CYAN);
20    let shine_green = "🌿 Forest Green 🌿".shine(Color::GREEN);
21
22    println!("   Static renders:");
23    println!("   {}", shine_red.static_render());
24    println!("   {}", shine_blue.static_render());
25    println!("   {}", shine_green.static_render());
26
27    print!("   Animated shine: ");
28    shine_red.animate(2);
29    println!();
30
31    // Glow effect with different intensities
32    println!("3. Glow Effect:");
33    let glow_soft = "šŸŒ™ Soft Moonlight šŸŒ™".glow(Color::LIGHT_BLUE, 150);
34    let glow_medium = "⭐ Bright Star ⭐".glow(Color::YELLOW, 200);
35    let glow_intense = "ā˜€ļø Blazing Sun ā˜€ļø".glow(Color::ORANGE, 255);
36
37    println!("   Static renders:");
38    println!("   {}", glow_soft.static_render());
39    println!("   {}", glow_medium.static_render());
40    println!("   {}", glow_intense.static_render());
41
42    // Shimmer with background colors
43    println!("4. Shimmer with Background:");
44    let bg_shimmer = "šŸŽØ Art on Canvas šŸŽØ"
45        .shimmer(Color::WHITE, Some(Color::DARK_BLUE))
46        .speed(80);
47    print!("   ");
48    bg_shimmer.animate(3);
49    println!();
50
51    // Gradient shimmer
52    println!("5. Gradient Shimmer:");
53    let gradient_shimmer = "🌈 Rainbow Bridge 🌈"
54        .shimmer_gradient(Color::RED, Color::VIOLET, None)
55        .speed(120);
56    print!("   ");
57    gradient_shimmer.animate(3);
58    println!();
59
60    // Custom speed demonstration
61    println!("6. Speed Variations:");
62    let fast = "⚔ Lightning Fast ⚔"
63        .shimmer(Color::YELLOW, None)
64        .speed(50);
65    let slow = "🐌 Slow and Steady 🐌"
66        .shimmer(Color::GREEN, None)
67        .speed(200);
68
69    print!("   Fast: ");
70    fast.animate(2);
71    print!("   Slow: ");
72    slow.animate(2);
73    println!();
74
75    // Combining with other text effects
76    println!("7. Combined Effects:");
77    let bold_shimmer = "šŸ’Ŗ Bold Shimmer šŸ’Ŗ".bold().shimmer(Color::RED, None);
78    let italic_glow = "šŸ’« Italic Glow šŸ’«".italic().glow(Color::PURPLE, 180);
79
80    println!("   {}", bold_shimmer.static_render());
81    println!("   {}", italic_glow.static_render());
82
83    // Multi-line shimmer
84    println!("8. Multi-line Effects:");
85    let multiline = "šŸš€ Launch Sequence\n⭐ Stars Aligning\nšŸŒ™ Mission Success";
86    let multiline_shimmer = multiline.shimmer(Color::CYAN, Some(Color::DARK_BLUE));
87    print!("   ");
88    multiline_shimmer.animate(2);
89    println!();
90
91    // Performance showcase
92    println!("9. Performance Showcase - Multiple Effects:");
93    let effects = vec![
94        "šŸŽÆ Target Acquired".shimmer(Color::RED, None),
95        "šŸ” Scanning...".shine(Color::GREEN),
96        "šŸ“” Signal Strong".glow(Color::BLUE, 200),
97        "āœ… Mission Complete".shimmer_gradient(Color::GREEN, Color::LIME, None),
98    ];
99
100    for (i, effect) in effects.iter().enumerate() {
101        print!("   Effect {}: ", i + 1);
102        effect.clone().speed(60).animate(1);
103        thread::sleep(Duration::from_millis(200));
104    }
105
106    println!("\nšŸŽ‰ Shimmer showcase complete! šŸŽ‰");
107}