Embedded graphics simulator
The simulator can be used to test and debug embedded-graphics code, or produce snazzy examples for people to try drivers out without needing physical hardware to run on.
Examples
Simulate a 128x64 SSD1306 OLED
use ;
use ;
Creating screenshots
Screenshots of programs, that use Window
to display a simulated display, can be created by
setting the EG_SIMULATOR_DUMP
environment variable:
EG_SIMULATOR_DUMP=screenshot.png
By setting the variable the display passed to the first Window::update
call gets exported as a
PNG file to the specified path. After the file is exported the process is terminated.
Exporting images
If a program doesn't require to display a window and only needs to export one or more images, a
SimulatorDisplay
can also be converted to an image
crate ImageBuffer
by using the
to_image_buffer
method. The resulting buffer can then be used to save the display content to
any format supported by image
.
Usage without SDL2
When the simulator is used in headless/CI environments that don't require showing a window, SDL2 support can be disabled. This removes the requirement of SDL2 being installed on the target machine, but still allows the simulator to be used to generate images.
The with-sdl
feature is enabled by default and can be disabled by adding default-features = false
to the dependency:
[]
= "0.2.0"
= false
See the Choosing Features Cargo manifest documentation for more details.