[][src]Crate turtle

Use the API Documentation below to learn about the various things you can do with this crate.

If this is your first time using Rust or using this crate, read the Guide on turtle.rs to learn how to start.

  • The Turtle struct - lists of all the various drawing commands that the turtle supports
  • The Drawing struct - allows you to manipulate the title, size, background and more of the drawing that you are creating
  • The color module - describes the different ways to create colors and includes a list of the hundreds of predefined color names that you can use to easily set the pen, fill, and background color of your drawings

Note: Call turtle::start() if you do not create a turtle with Turtle::new() right at the beginning of your program. Most programs will never need to call this function as it is called for you in Turtle::new().

Random Values

See the rand module for information about generating random colors, speeds, angles, and more which can be used in your programs to produce some interesting results!

Event Handling

The Event enum documentation provides information about how you can create an event loop. This allows you to draw things in response to certain events like the mouse moving, keys being pressed, and more.

The Turtle struct contains a few convenience methods so you can do some common event-related things without creating the entire event loop. For example, use wait_for_click() to wait for the user to click anywhere on the screen before proceeding.

Unstable features

Some parts of this library are unstable, such as maximizing and unmaximizing the window. You can explicitly opt-in to using those features with the unstable feature like so:

$ cargo build --features "unstable"

If you want to use this from inside your own crate, you will need to add this to your Cargo.toml

turtle = { version = "...", features = ["unstable"] }


pub use crate::color::Color;
pub use crate::event::Event;



Color types and constants


Event handling (mouse, keyboard, controller, touch screen, etc.)


Utilities for generating random values



Represents the drawing that the turtle is creating


A point in 2D space


Represents a size


Represents both the movement and rotation speed of the turtle.


A turtle with a pen attached to its tail



Start the turtle window in advance

Type Definitions


An angle value without a unit


Any distance value (positive or negative)