imessage_database/message_types/expressives.rs
1/*!
2 [Expressives](https://support.apple.com/en-us/HT206894) are effects that you can select by tapping and holding the send button.
3*/
4
5/// Bubble effects are effects that alter the display of the chat bubble.
6///
7/// Read more [here](https://www.imore.com/how-to-use-bubble-and-screen-effects-imessage-iphone-ipad).
8#[derive(Debug, PartialEq, Eq)]
9pub enum BubbleEffect {
10 /// Creates a slam effect that makes the bubble appear to slam down onto the screen.
11 Slam,
12 /// Creates a loud effect that makes the bubble appear to enlarge temporarily.
13 Loud,
14 /// Creates a gentle effect that makes the bubble appear to shrink temporarily.
15 Gentle,
16 /// Creates an invisible ink effect that hides the message until the recipient swipes over it.
17 InvisibleInk,
18}
19
20/// Screen effects are effects that alter the entire background of the message view.
21///
22/// Read more [here](https://www.imore.com/how-to-use-bubble-and-screen-effects-imessage-iphone-ipad).
23#[derive(Debug, PartialEq, Eq)]
24pub enum ScreenEffect {
25 /// Creates a confetti effect that sprinkles confetti across the screen.
26 Confetti,
27 /// Creates an echo effect that sends multiple copies of the message across the screen.
28 Echo,
29 /// Creates a fireworks effect that displays colorful explosions on the screen.
30 Fireworks,
31 /// Creates a balloons effect that sends balloons floating up from the bottom of the screen.
32 Balloons,
33 /// Creates a heart effect that displays a large heart on the screen.
34 Heart,
35 /// Creates a laser light show effect across the screen.
36 Lasers,
37 /// Creates a shooting star effect that moves across the screen.
38 ShootingStar,
39 /// Creates a sparkle effect that twinkles across the screen.
40 Sparkles,
41 /// Creates a spotlight effect that highlights the message.
42 Spotlight,
43}
44
45/// Expressive effect container.
46///
47/// Read more about expressive messages [here](https://www.imore.com/how-to-use-bubble-and-screen-effects-imessage-iphone-ipad).
48///
49/// Bubble:
50/// - `com.apple.MobileSMS.expressivesend.gentle`
51/// - `com.apple.MobileSMS.expressivesend.impact`
52/// - `com.apple.MobileSMS.expressivesend.invisibleink`
53/// - `com.apple.MobileSMS.expressivesend.loud`
54///
55/// Screen:
56/// - `com.apple.messages.effect.CKConfettiEffect`
57/// - `com.apple.messages.effect.CKEchoEffect`
58/// - `com.apple.messages.effect.CKFireworksEffect`
59/// - `com.apple.messages.effect.CKHappyBirthdayEffect`
60/// - `com.apple.messages.effect.CKHeartEffect`
61/// - `com.apple.messages.effect.CKLasersEffect`
62/// - `com.apple.messages.effect.CKShootingStarEffect`
63/// - `com.apple.messages.effect.CKSparklesEffect`
64/// - `com.apple.messages.effect.CKSpotlightEffect`
65#[derive(Debug, PartialEq, Eq)]
66pub enum Expressive<'a> {
67 /// Effects that use the entire screen
68 Screen(ScreenEffect),
69 /// Effects that display on a single bubble
70 Bubble(BubbleEffect),
71 /// Container for new or unknown messages
72 Unknown(&'a str),
73 /// Message is not an expressive
74 None,
75}