Expand description
Draw pixels on a raw framebuffer.
This crate provides a small no_std API for writing individual pixels into
a framebuffer-backed memory region. It is designed for low-level graphics
code where you already have a pointer, dimensions, stride, and pixel format.
§Example
use framebuffer_draw::{Color, Framebuffer, PixelFormat};
let framebuffer = Framebuffer {
// Pointer to the first byte of the framebuffer memory.
ptr: todo!(),
// The total framebuffer size in bytes.
size: todo!(),
// The number of pixels in each row.
stride: todo!(),
// The pixel format used when writing pixel data.
pixel_format: PixelFormat::Rgb,
// Width of the framebuffer in pixels.
width: todo!(),
// Height of the framebuffer in pixels.
height: todo!(),
// The number of bytes used by each pixel.
bytes_per_pixel: todo!(),
};
// Draws a straight line.
let limit = core::cmp::min(framebuffer.width, framebuffer.height);
for i in 0..limit {
framebuffer.draw_pixel(i, i, Color::rgb(255, 0, 0));
}Structs§
- Color
- Framebuffer
- Metadata that describes a framebuffer.