microscrap / phpdafruit-gfx
AdafruitGFX-like software Renderer2D for ScrapyardIO Tubes
0.7.0
2026-08-11 05:30 UTC
Requires
- php: ^8.4|^8.5|^8.6
- scrapyard-io/tubes: ^0.7.0
Requires (Dev)
- pestphp/pest: ^4
Suggests
- ext-gd: Required only for drawImageFromFile() and drawImageDithered() to decode JPEG/PNG/GIF/WebP/BMP files. Raw pixel data via drawBitmap()/drawColorMap()/ditherFloydSteinberg() works without it.
This package is not auto-updated.
Last update: 2026-08-11 05:31:07 UTC
README
AdafruitGFX-style software Renderer2D for ScrapyardIO tubes 0.7.
Draws 2D primitives into tubes Managed framebuffers (full / dirty / page). Use it for PanelIC CPU rendering (SSD1306, ST77xx, …). For GPU PanelIC paths, use the matching engine companion (metal-gfx, sdl3-gfx, …) with Panel::make()->wrap($ic)->useFramebuffer($engineFb).
Docs: ecosystem phpdafruit-gfx 0.7.x
Require
composer require microscrap/phpdafruit-gfx:^0.7.0
Smoke
use Microscrap\GFX\PhpdaFruit\PhpdafruitRenderer2D; use ScrapyardIO\Tubes\Contracts\Framebuffers\Enums\BitDepth; use ScrapyardIO\Tubes\Contracts\Framebuffers\Enums\PixelFormat; use ScrapyardIO\Tubes\Contracts\Framebuffers\FormatSpec; $spec = new FormatSpec(PixelFormat::ROW_MAJOR, BitDepth::B16); $fb = PhpdafruitRenderer2D::preferredFramebuffer($spec, 128, 64); $gfx = new PhpdafruitRenderer2D($fb); $gfx->fillScreen(0x0000); $gfx->drawRect(2, 2, 124, 60, 0xFFFF); $frames = $gfx->render(); // DumpedBuffer[] for PanelIC::present / IC transmit
License
MIT