embedded-graphics-core

Crates.ioembedded-graphics-core
lib.rsembedded-graphics-core
version0.4.0
sourcesrc
created_at2020-11-29 14:52:33.972927
updated_at2023-05-14 12:09:25.897534
descriptionCore traits and functionality for embedded-graphics
homepage
repositoryhttps://github.com/embedded-graphics/embedded-graphics
max_upload_size
id317780
size186,802
Embedded Graphics Core Team (github:embedded-graphics:embedded-graphics-core-team)

documentation

https://docs.rs/embedded-graphics-core

README

Embedded graphics logo

Build Status Crates.io Docs.rs embedded-graphics on Matrix

Embedded graphics core

embedded-graphics-core contains the core components of embedded-graphics that are required to add embedded-graphics support to display drivers, image libraries, text renderers and other third party crates.

This crate should only be used by crates that extend embedded-graphics. Applications should instead depend on embedded-graphics itself.

Like any other crate, embedded-graphics-core will change over time, however it will change at a much slower rate than embedded-graphics itself, and will likely release fewer breaking changes. This will provide more stability and compatability for the weider embedded-graphics ecosystem, whilst allowing non-core features of embedded-graphics to evolve at a faster pace. The same version of embedded-graphics-core may be used for multiple major versions of embedded-graphics.

Core functionality

  • DrawTarget - By implementing a draw target for a display driver, all embedded-graphics drawables can be drawn to that display.
  • Drawable - This trait can be implemented to make an object drawable to any DrawTarget. Examples include shapes, text, UI elements, etc.
  • ImageDrawable
  • Color types - see below.
  • Geometry - Point, Size and Rectangle provide ways of defining positions, dimensions and rectangular areas respectively.

Colors

The pixelcolor module provides various standard color types, from BinaryColor to Rgb888. See the pixelcolor module documentation for the complete list of color depths and formats available.

Display drivers

See the DrawTarget documentation for examples on how to integrate embedded-graphics with a display driver using the DrawTarget trait.

Images

The ImageDrawable trait should be implemented for any image or image-like item, for example a spritemap.

Features

  • defmt - implements defmt::Format for all types where this is possible.

Minimum supported Rust version

The minimum supported Rust version for embedded-graphics-core is 1.61 or greater. Ensure you have the correct version of Rust installed, preferably through https://rustup.rs.

Development setup

Please see the development setup guide.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 565

cargo fmt