66 void BlitRgb565(uint8_t x, uint8_t y, uint8_t src_width, uint8_t src_height,
84#define ISF15ACP4_GRAPHICS_CONTEXT_HEADER_INCLUDED
85#include "../src/isf15acp4_graphics_context.ipp"
86#undef ISF15ACP4_GRAPHICS_CONTEXT_HEADER_INCLUDED
CPU-side RGB565 framebuffer with basic drawing operations.
Definition isf15acp4_canvas.hpp:22
std::size_t ByteSize() const noexcept
Definition isf15acp4_canvas.hpp:71
uint8_t Width() const noexcept
Definition isf15acp4_canvas.hpp:69
const Color565 * Data() const noexcept
Definition isf15acp4_canvas.hpp:72
uint8_t Height() const noexcept
Definition isf15acp4_canvas.hpp:70
Owns the active graphics backend selected at construction time.
Definition isf15acp4_graphics_context.hpp:42
uint8_t Width() const noexcept
Definition isf15acp4_graphics_context.hpp:69
void FillRect(const Rect &rect, Color565 color) noexcept
Definition isf15acp4_graphics_context.ipp:54
uint8_t Height() const noexcept
Definition isf15acp4_graphics_context.hpp:70
void DrawHLine(uint8_t x0, uint8_t x1, uint8_t y, Color565 color) noexcept
Definition isf15acp4_graphics_context.ipp:30
void DrawRect(const Rect &rect, Color565 color) noexcept
Definition isf15acp4_graphics_context.ipp:46
DisplayPresenter presenter_
Definition isf15acp4_graphics_context.hpp:79
void Clear(Color565 color) noexcept
Definition isf15acp4_graphics_context.ipp:10
GraphicsBackend backend_
Definition isf15acp4_graphics_context.hpp:77
Color565 GetPixel(uint8_t x, uint8_t y) const noexcept
Definition isf15acp4_graphics_context.ipp:26
void BindPresenter(const DisplayPresenter &presenter) noexcept
Bind SmartDisplay for HardwareDirect immediate-mode drawing.
Definition isf15acp4_graphics_context.hpp:54
ProductVariant Variant() const noexcept
Definition isf15acp4_graphics_context.hpp:47
Canvas & CanvasBuffer() noexcept
Access underlying canvas (BuiltinCanvas / Animator backends).
Definition isf15acp4_graphics_context.hpp:50
void DrawVLine(uint8_t x, uint8_t y0, uint8_t y1, Color565 color) noexcept
Definition isf15acp4_graphics_context.ipp:38
void DrawChar(uint8_t x, uint8_t y, char ch, Color565 color, Color565 bg=colors::Black) noexcept
Definition isf15acp4_graphics_context.ipp:62
Canvas canvas_
Definition isf15acp4_graphics_context.hpp:78
ProductVariant variant_
Definition isf15acp4_graphics_context.hpp:76
const Canvas & CanvasBuffer() const noexcept
Definition isf15acp4_graphics_context.hpp:51
void SetPixel(uint8_t x, uint8_t y, Color565 color) noexcept
Definition isf15acp4_graphics_context.ipp:18
GraphicsBackend Backend() const noexcept
Definition isf15acp4_graphics_context.hpp:46
void DrawString(uint8_t x, uint8_t y, const char *text, Color565 color, Color565 bg=colors::Black) noexcept
Definition isf15acp4_graphics_context.ipp:67
Color565 * Data() noexcept
Definition isf15acp4_graphics_context.hpp:73
const Color565 * Data() const noexcept
Definition isf15acp4_graphics_context.hpp:72
std::size_t ByteSize() const noexcept
Definition isf15acp4_graphics_context.hpp:71
void BlitRgb565(uint8_t x, uint8_t y, uint8_t src_width, uint8_t src_height, const Color565 *src) noexcept
Definition isf15acp4_graphics_context.ipp:72
CRTP interface every graphics backend must implement.
Definition isf15acp4_graphics_surface.hpp:40
Software framebuffer and 2D drawing primitives for SmartDisplay OLEDs.
Pluggable graphics surface interface for interchangeable render backends.
constexpr Color565 Black
Definition isf15acp4_types.hpp:116
Definition isf15acp4.hpp:19
ProductVariant
Supported NKK SmartDisplay OLED product variants.
Definition isf15acp4_types.hpp:19
uint16_t Color565
16-bit RGB565 color value (R5G6B5).
Definition isf15acp4_types.hpp:50
GraphicsBackend
Selectable graphics engine used by SmartDisplay and UI helpers.
Definition isf15acp4_graphics_surface.hpp:22
Type-erased presenter used by HardwareDirect backend.
Definition isf15acp4_graphics_context.hpp:22
bool(* flush_canvas)(void *ctx, const Color565 *data, std::size_t bytes) noexcept
Definition isf15acp4_graphics_context.hpp:27
bool(* draw_rect)(void *ctx, Rect r, Color565 color, bool filled) noexcept
Definition isf15acp4_graphics_context.hpp:25
void * context
Definition isf15acp4_graphics_context.hpp:28
bool(* fill_screen)(void *ctx, Color565 color) noexcept
Definition isf15acp4_graphics_context.hpp:26
bool(* draw_line)(void *ctx, Point a, Point b, Color565 color) noexcept
Definition isf15acp4_graphics_context.hpp:24
bool(* draw_pixel)(void *ctx, uint8_t x, uint8_t y, Color565 color) noexcept
Definition isf15acp4_graphics_context.hpp:23
2D point in display coordinates.
Definition isf15acp4_types.hpp:90
Axis-aligned rectangle in display coordinates (inclusive bounds).
Definition isf15acp4_types.hpp:96