pub fn draw_text(
text: impl AsRef<str>,
x: f32,
y: f32,
font_size: f32,
color: Color,
) -> TextDimensionsExpand description
Draw text with given font_size Returns text size
Examples found in repository?
examples/basic_shapes.rs (line 12)
4async fn main() {
5 loop {
6 clear_background(LIGHTGRAY);
7
8 draw_line(40.0, 40.0, 100.0, 200.0, 15.0, BLUE);
9 draw_rectangle(screen_width() / 2.0 - 60.0, 100.0, 120.0, 60.0, GREEN);
10 draw_circle(screen_width() - 30.0, screen_height() - 30.0, 15.0, YELLOW);
11
12 draw_text("HELLO", 20.0, 20.0, 30.0, DARKGRAY);
13
14 next_frame().await
15 }
16}More examples
examples/camera.rs (line 21)
4async fn main() {
5 loop {
6 clear_background(LIGHTGRAY);
7
8 // Render some primitives in camera space
9
10 set_camera(&Camera2D {
11 zoom: vec2(1., screen_width() / screen_height()),
12 ..Default::default()
13 });
14 draw_line(-0.4, 0.4, -0.8, 0.9, 0.05, BLUE);
15 draw_rectangle(-0.3, 0.3, 0.2, 0.2, GREEN);
16 draw_circle(0., 0., 0.1, YELLOW);
17
18 // Back to screen space, render some text
19
20 set_default_camera();
21 draw_text("HELLO", 30.0, 200.0, 30.0, BLACK);
22
23 next_frame().await
24 }
25}examples/input_keys.rs (line 25)
4async fn main() {
5 let mut x = screen_width() / 2.0;
6 let mut y = screen_height() / 2.0;
7
8 loop {
9 clear_background(LIGHTGRAY);
10
11 if is_key_down(KeyCode::Right) {
12 x += 1.0;
13 }
14 if is_key_down(KeyCode::Left) {
15 x -= 1.0;
16 }
17 if is_key_down(KeyCode::Down) {
18 y += 1.0;
19 }
20 if is_key_down(KeyCode::Up) {
21 y -= 1.0;
22 }
23
24 draw_circle(x, y, 15.0, YELLOW);
25 draw_text("move the ball with arrow keys", 20.0, 20.0, 20.0, DARKGRAY);
26 next_frame().await
27 }
28}examples/input_touch.rs (line 19)
4async fn main() {
5 loop {
6 clear_background(LIGHTGRAY);
7
8 for touch in touches() {
9 let (fill_color, size) = match touch.phase {
10 TouchPhase::Started => (GREEN, 80.0),
11 TouchPhase::Stationary => (WHITE, 60.0),
12 TouchPhase::Moved => (YELLOW, 60.0),
13 TouchPhase::Ended => (BLUE, 80.0),
14 TouchPhase::Cancelled => (BLACK, 80.0),
15 };
16 draw_circle(touch.position.x, touch.position.y, size, fill_color);
17 }
18
19 draw_text("touch the screen!", 20.0, 20.0, 20.0, DARKGRAY);
20 next_frame().await
21 }
22}examples/default_font.rs (lines 13-19)
4async fn main() {
5 let font = load_ttf_font("./examples/DancingScriptRegular.ttf")
6 .await
7 .unwrap();
8 set_default_font(font);
9
10 loop {
11 clear_background(WHITE);
12
13 draw_text(
14 "Hello world in a new default font!",
15 100.0,
16 100.0,
17 40.0,
18 BLACK,
19 );
20
21 draw_text_ex(
22 "And with extra formatting options",
23 100.0,
24 230.0,
25 TextParams {
26 font_size: 45,
27 color: RED,
28 rotation: 0.27,
29 ..Default::default()
30 },
31 );
32
33 next_frame().await;
34 }
35}examples/3d.rs (line 42)
4async fn main() {
5 let rust_logo = load_texture("examples/rust.png").await.unwrap();
6 let ferris = load_texture("examples/ferris.png").await.unwrap();
7
8 loop {
9 clear_background(LIGHTGRAY);
10
11 // Going 3d!
12
13 set_camera(&Camera3D {
14 position: vec3(-20., 15., 0.),
15 up: vec3(0., 1., 0.),
16 target: vec3(0., 0., 0.),
17 ..Default::default()
18 });
19
20 draw_grid(20, 1., BLACK, GRAY);
21
22 draw_cube_wires(vec3(0., 1., -6.), vec3(2., 2., 2.), DARKGREEN);
23 draw_cube_wires(vec3(0., 1., 6.), vec3(2., 2., 2.), DARKBLUE);
24 draw_cube_wires(vec3(2., 1., 2.), vec3(2., 2., 2.), YELLOW);
25
26 draw_plane(vec3(-8., 0., -8.), vec2(5., 5.), Some(&ferris), WHITE);
27
28 draw_cube(
29 vec3(-5., 1., -2.),
30 vec3(2., 2., 2.),
31 Some(&rust_logo),
32 WHITE,
33 );
34 draw_cube(vec3(-5., 1., 2.), vec3(2., 2., 2.), Some(&ferris), WHITE);
35 draw_cube(vec3(2., 0., -2.), vec3(0.4, 0.4, 0.4), None, BLACK);
36
37 draw_sphere(vec3(-8., 0., 0.), 1., None, BLUE);
38
39 // Back to screen space, render some text
40
41 set_default_camera();
42 draw_text("WELCOME TO 3D WORLD", 10.0, 20.0, 30.0, BLACK);
43
44 next_frame().await
45 }
46}