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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#![deny(warnings)]
#![warn(
clippy::all,
clippy::dbg_macro,
clippy::doc_markdown,
clippy::empty_enum,
clippy::enum_glob_use,
clippy::filter_map_next,
clippy::fn_params_excessive_bools,
clippy::imprecise_flops,
clippy::lossy_float_literal,
clippy::mem_forget,
clippy::needless_borrow,
clippy::needless_continue,
clippy::pub_enum_variant_names,
clippy::rest_pat_in_fully_bound_structs,
clippy::todo,
future_incompatible,
nonstandard_style,
rust_2018_idioms,
)]
pub mod align;
mod animation_manager;
pub mod app;
pub(crate) mod cache;
pub mod containers;
mod context;
pub mod demos;
mod history;
mod id;
mod input;
mod introspection;
mod layers;
mod layout;
pub mod math;
mod memory;
pub mod menu;
pub mod paint;
mod painter;
mod style;
mod types;
mod ui;
pub mod widgets;
pub use {
align::Align,
containers::*,
context::Context,
demos::DemoApp,
history::History,
id::Id,
input::*,
layers::*,
layout::*,
math::*,
memory::Memory,
paint::{color, PaintCmd, PaintJobs, Rgba, Srgba, Stroke, TextStyle, Texture, TextureId},
painter::Painter,
style::Style,
types::*,
ui::Ui,
widgets::*,
};
#[test]
pub fn text_egui_e2e() {
let mut demo_app = crate::demos::DemoApp::default();
let mut ctx = crate::Context::new();
let raw_input = crate::RawInput {
screen_size: crate::vec2(1280.0, 1024.0),
..Default::default()
};
const NUM_FRAMES: usize = 5;
for _ in 0..NUM_FRAMES {
let mut ui = ctx.begin_frame(raw_input.clone());
demo_app.ui(&mut ui, &Default::default());
let (_output, paint_jobs) = ctx.end_frame();
assert!(!paint_jobs.is_empty());
}
}