35 releases (23 breaking)

0.31.1 Mar 5, 2025
0.30.0 Dec 16, 2024
0.29.1 Oct 1, 2024
0.28.1 Jul 5, 2024
0.10.0 Feb 28, 2021

#1302 in GUI

Download history 60043/week @ 2025-01-11 52066/week @ 2025-01-18 51047/week @ 2025-01-25 68110/week @ 2025-02-01 139193/week @ 2025-02-08 139600/week @ 2025-02-15 181322/week @ 2025-02-22 204716/week @ 2025-03-01 200361/week @ 2025-03-08 187462/week @ 2025-03-15 176897/week @ 2025-03-22 164361/week @ 2025-03-29 154008/week @ 2025-04-05 132676/week @ 2025-04-12 127475/week @ 2025-04-19 135549/week @ 2025-04-26

577,230 downloads per month
Used in 979 crates (26 directly)

MIT/Apache

795KB
13K SLoC

A simple 2D graphics library for turning simple 2D shapes and text into textured triangles.

Made for egui.

Create some Shape:s and pass them to tessellate_shapes to generate Mesh:es that you can then paint using some graphics API of your choice (e.g. OpenGL).

Coordinate system

The left-top corner of the screen is (0.0, 0.0), with X increasing to the right and Y increasing downwards.

epaint uses logical points as its coordinate system. Those related to physical pixels by the pixels_per_point scale factor. For example, a high-dpi screen can have pixels_per_point = 2.0, meaning there are two physical screen pixels for each logical point.

Angles are in radians, and are measured clockwise from the X-axis, which has angle=0.

Feature flags


epaint - egui paint library

Latest version Documentation unsafe forbidden MIT Apache

A bare-bones 2D graphics library for turning simple 2D shapes and text into textured triangles.

Made for egui.

Dependencies

~2.2–8MB
~64K SLoC