1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
//! Screenshot macros for convenient capture triggering.
/// Take a screenshot with optional key specification.
///
/// # Usage
///
/// ```rust,ignore
/// // With default key
/// screenshot!(&trigger, "player jumped");
///
/// // With specific key
/// screenshot!(&trigger, "combat", "boss defeated");
/// ```
/// Take a screenshot of a specific entity, cropped to the entity bounds with padding.
///
/// Requires `EntityScreenshotTrigger` system parameter instead of `ScreenshotTrigger`.
///
/// # Usage
///
/// ```rust,ignore
/// fn my_system(trigger: EntityScreenshotTrigger, hero: Query<Entity, With<Hero>>) {
/// let hero_entity = hero.single();
///
/// // With default key and settings (20px padding)
/// screenshot_entity!(&trigger, hero_entity);
///
/// // With specific key
/// screenshot_entity!(&trigger, hero_entity, "hero");
///
/// // With key and description
/// screenshot_entity!(&trigger, hero_entity, "hero", "special_attack");
///
/// // With key, description, and custom settings
/// let settings = EntityScreenshotSettings::default().with_padding(50);
/// screenshot_entity!(&trigger, hero_entity, "hero", "special_attack", settings);
/// }
/// ```