Crate jumpy::prelude::egui::epaint

Expand description

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 screeen 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

Modules§

  • Color conversions and types.
  • Opinionated 2D math library for building GUIs.
  • Helper module that adds extra checks when the deadlock_detection feature is turned on.
  • Collect statistics about what is being painted.
  • Converts graphics primitives into textured triangles.
  • Everything related to text, fonts, text layout, cursors etc.

Macros§

  • An assert that is only active when epaint is compiled with the extra_asserts feature or with the extra_debug_asserts feature in debug builds.

Structs§

Enums§

Constants§

  • The UV coordinate of a white region of the texture mesh. The default egui texture has the top-left corner pixel fully white. You need need use a clamping texture sampler for this to work (so it doesn’t do bilinear blending with bottom right corner).

Functions§