Skip to main content

Crate framebuffer_draw

Crate framebuffer_draw 

Source
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.

Enums§

PixelFormat