[][src]Module ssd1306::mode::graphics

Buffered display module for use with the embedded_graphics crate

use embedded_graphics::{
    fonts::Font6x8,
    pixelcolor::BinaryColor,
    prelude::*,
    primitives::{Circle, Line, Rectangle, Triangle},
    style::PrimitiveStyleBuilder,
};
use ssd1306::{mode::GraphicsMode, prelude::*, Builder, I2CDIBuilder};

let interface = I2CDIBuilder::new().init(i2c);
let mut display: GraphicsMode<_, _> = Builder::new().connect(interface).into();

display.init().unwrap();

let yoffset = 20;

let style = PrimitiveStyleBuilder::new()
    .stroke_width(1)
    .stroke_color(BinaryColor::On)
    .build();

// screen outline
// default display size is 128x64 if you don't pass a _DisplaySize_
// enum to the _Builder_ struct
Rectangle::new(Point::new(0, 0), Point::new(127, 63))
    .into_styled(style)
    .draw(&mut display);

// triangle
Triangle::new(
    Point::new(16, 16 + yoffset),
    Point::new(16 + 16, 16 + yoffset),
    Point::new(16 + 8, yoffset),
)
.into_styled(style)
.draw(&mut display);

// square
Rectangle::new(Point::new(52, yoffset), Point::new(52 + 16, 16 + yoffset))
    .into_styled(style)
    .draw(&mut display);

// circle
Circle::new(Point::new(96, yoffset + 8), 8)
    .into_styled(style)
    .draw(&mut display);

display.flush().unwrap();

Structs

GraphicsMode

Graphics mode handler