Merge remote-tracking branch 'origin/develop' into feat-touch
# Conflicts: # freeink-sdk # lib/I18n/translations/slovak.yaml # platformio.ini # src/components/icons/bookmark.h
This commit is contained in:
@@ -91,6 +91,12 @@ class GfxRenderer {
|
||||
void drawPixelDither(int x, int y) const;
|
||||
template <Color color>
|
||||
void fillArc(int maxRadius, int cx, int cy, int xDir, int yDir) const;
|
||||
// Byte-aligned, orientation-specialized rectangle fill. Rotates the rect's
|
||||
// two opposing corners into physical-framebuffer space once, then walks each
|
||||
// physical row with head-mask / middle memset / tail-mask byte writes — no
|
||||
// per-pixel rotation, no per-pixel RMW.
|
||||
template <Color color>
|
||||
void fillRectImpl(int x, int y, int width, int height) const;
|
||||
|
||||
public:
|
||||
explicit GfxRenderer(HalDisplay& halDisplay)
|
||||
@@ -247,6 +253,16 @@ class GfxRenderer {
|
||||
// Grayscale functions
|
||||
void setRenderMode(const RenderMode mode) { this->renderMode = mode; }
|
||||
RenderMode getRenderMode() const { return renderMode; }
|
||||
// Grayscale preconditioning settle pass (no-op on X4). The rect overload
|
||||
// takes the gray region in LOGICAL screen coordinates and rotates it to the
|
||||
// panel; the no-arg overload settles the full frame. Call after the BW base
|
||||
// frame is displayed and before the grayscale planes are written.
|
||||
void preconditionGrayscale() const;
|
||||
void preconditionGrayscale(int x, int y, int w, int h) const;
|
||||
// Display the framebuffer as the base frame for a grayscale overlay that
|
||||
// follows (X3: OEM differential base waveform; others: plain display with
|
||||
// `fallback`).
|
||||
void displayGrayscaleBase(HalDisplay::RefreshMode fallback = HalDisplay::HALF_REFRESH) const;
|
||||
void copyGrayscaleLsbBuffers() const;
|
||||
void copyGrayscaleMsbBuffers() const;
|
||||
void displayGrayBuffer() const;
|
||||
|
||||
Reference in New Issue
Block a user