|
libepaper 2.0.0
A C++23 library for controlling Waveshare e-paper displays on Raspberry Pi, featuring transparent sleep/wake management and a fluent builder API.
|
Fluent builder pattern for constructing drawing commands. More...
#include "epaper/core/geometry.hpp"#include "epaper/draw/commands.hpp"#include "epaper/draw/styles.hpp"#include "epaper/graphics/font.hpp"#include <cstdint>#include <string>#include <string_view>

Go to the source code of this file.
Classes | |
| class | epaper::LineBuilder |
| class | epaper::RectangleBuilder |
| class | epaper::CircleBuilder |
| class | epaper::PointBuilder |
| class | epaper::TextBuilder |
Namespaces | |
| namespace | epaper |
Fluent builder pattern for constructing drawing commands.
Provides type-safe, expressive builders for all drawing command types. Each builder follows the fluent interface pattern (method chaining) for readable, self-documenting code.
Design Pattern:
Benefits:
line().from({0,0}).to({100,100}).color(Black) reads like Englishwith_style() applies predefined style bundlesUsage Patterns:
Implementation Details:
build() marked [[nodiscard]] to prevent unused command objectsnoexcept (no allocation, no exceptions)