Skip to main content

draw_text

Function draw_text 

Source
pub fn draw_text(
    text: impl AsRef<str>,
    x: f32,
    y: f32,
    font_size: f32,
    color: Color,
) -> TextDimensions
Expand 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
Hide additional 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}