ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
Loading...
Searching...
No Matches
zoom_present_t Struct Reference

What the reader must flush, and with which waveform. More...

#include <zoom.h>

Collaboration diagram for zoom_present_t:

Data Fields

ra8_ui_rect_t rect
 Panel rectangle to flush.
zoom_refresh_t refresh
 Waveform class for that flush.
bool present
 False: nothing changed, do not flush at all.

Detailed Description

What the reader must flush, and with which waveform.

Produced by zoom_view_present and consumed by the reader's display call. present is false when nothing changed since the last present, which is the common case in a polling main loop and is what keeps an idle reader from refreshing an e-ink panel forever.

Invariant
When present is false, rect and refresh are unspecified.
rect always equals the view's destination rectangle: a pan moves every pixel in the viewport, so there is no smaller true dirty region.
Example:
zoom_present_t plan = {};
if ((zoom_view_present(&view, &plan) == k_ra8_ok) && plan.present) {
const display_rect_t r = { .x = (uint16_t)plan.rect.x, .y = (uint16_t)plan.rect.y,
.w = (uint16_t)plan.rect.w, .h = (uint16_t)plan.rect.h };
}
ra8_err_t display_flush(const display_handle_t *d, display_rect_t rect, display_refresh_hint_t hint)
Commit pending framebuffer changes to the panel.
@ k_display_refresh_fast
Prioritise latency.
@ k_display_refresh_quality
Prioritise final quality.
@ k_ra8_ok
Success – operation completed with all postconditions satisfied.
Definition ra8_err.h:119
Rectangle in framebuffer coordinates passed into display_flush.
int32_t w
Width (pixels, >= 0).
Definition ra8_ui.h:75
int32_t h
Height (pixels, >= 0).
Definition ra8_ui.h:76
int32_t x
Left edge (pixels).
Definition ra8_ui.h:73
int32_t y
Top edge (pixels).
Definition ra8_ui.h:74
What the reader must flush, and with which waveform.
Definition zoom.h:371
zoom_refresh_t refresh
Waveform class for that flush.
Definition zoom.h:373
ra8_ui_rect_t rect
Panel rectangle to flush.
Definition zoom.h:372
bool present
False: nothing changed, do not flush at all.
Definition zoom.h:374
ra8_err_t zoom_view_present(zoom_view_t *v, zoom_present_t *out)
Take the pending flush plan, clearing it.
Definition zoom.c:684
@ k_zoom_refresh_fast
Interactive burst: panel A2 (bi-level, fast).
Definition zoom.h:175
See also
zoom_view_present
Since
0.1.0

Definition at line 371 of file zoom.h.

Field Documentation

◆ present

bool zoom_present_t::present

False: nothing changed, do not flush at all.

Definition at line 374 of file zoom.h.

Referenced by ez_choose_plan(), and zoom_view_present().

◆ rect

ra8_ui_rect_t zoom_present_t::rect

Panel rectangle to flush.

Definition at line 372 of file zoom.h.

Referenced by zoom_view_present().

◆ refresh

zoom_refresh_t zoom_present_t::refresh

Waveform class for that flush.

Definition at line 373 of file zoom.h.

Referenced by ez_choose_plan(), and zoom_view_present().


The documentation for this struct was generated from the following file:
  • apps/shared_libs/zoom/inc/zoom.h