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

The whole demo: one tiled page, one zoom viewport, one loupe. More...

#include <ez_scene.h>

Collaboration diagram for ez_scene_t:

Data Fields

ra8_tile_cache_t cache
 Page cache (decode-on-miss = the sampler).
zoom_tile_src_t tiles
 Tiled-source binding over that cache.
zoom_source_t src
 The page as a zoom source.
zoom_view_t page
 Full-content zoom viewport.
zoom_view_t lens
 Loupe over the same page, magnified more.
ra8_ui_rect_t content
 The content rectangle (page.dst).
const void * fb
 Framebuffer base, for the golden hash.
uint32_t fb_bytes
 Framebuffer size, bytes.
int32_t fb_w
 Framebuffer width, pixels.
int32_t fb_h
 Framebuffer height, pixels.
bool lens_on
 The loupe is open.

Detailed Description

The whole demo: one tiled page, one zoom viewport, one loupe.

Owns no memory. The tile cache's cells, the composite scratch and the framebuffer are all supplied by main.c (or by the host twin), which is what lets the identical scene run on the board out of SDRAM and in a unit test out of a static array.

Invariant
page.dst is the content rectangle and lens.dst is inside it.
lens is only rendered and presented while lens_on is true.
Example:
(void)ez_scene_init(&s_scene, &cfg);
static ez_scene_t s_scene
The demo scene: tiled page, zoom viewport and loupe.
Definition main.c:259
ra8_err_t ez_scene_init(ez_scene_t *s, const ez_scene_cfg_t *cfg)
Wire the tile cache, the tiled source and both viewports.
Definition ez_scene.c:430
The whole demo: one tiled page, one zoom viewport, one loupe.
Definition ez_scene.h:222
See also
ez_scene_init
Since
0.1.0

Definition at line 222 of file ez_scene.h.

Field Documentation

◆ cache

ra8_tile_cache_t ez_scene_t::cache

Page cache (decode-on-miss = the sampler).

Definition at line 223 of file ez_scene.h.

Referenced by ez_bind_page(), and ez_scene_selftest().

◆ content

ra8_ui_rect_t ez_scene_t::content

The content rectangle (page.dst).

Definition at line 228 of file ez_scene.h.

Referenced by ez_choose_plan(), ez_open_views(), ez_scene_init(), ez_scene_render(), and ez_zone_hit().

◆ fb

const void* ez_scene_t::fb

Framebuffer base, for the golden hash.

Definition at line 229 of file ez_scene.h.

Referenced by ez_render_and_hash(), and ez_scene_init().

◆ fb_bytes

uint32_t ez_scene_t::fb_bytes

Framebuffer size, bytes.

Definition at line 230 of file ez_scene.h.

Referenced by ez_render_and_hash(), and ez_scene_init().

◆ fb_h

int32_t ez_scene_t::fb_h

Framebuffer height, pixels.

Definition at line 232 of file ez_scene.h.

Referenced by ez_scene_init().

◆ fb_w

int32_t ez_scene_t::fb_w

Framebuffer width, pixels.

Definition at line 231 of file ez_scene.h.

Referenced by ez_draw_status(), and ez_scene_init().

◆ lens

zoom_view_t ez_scene_t::lens

Loupe over the same page, magnified more.

Definition at line 227 of file ez_scene.h.

Referenced by ez_open_views(), ez_scene_present(), ez_scene_render(), ez_scene_tap(), ez_scene_tick(), and ez_selftest_lens().

◆ lens_on

bool ez_scene_t::lens_on

The loupe is open.

Definition at line 233 of file ez_scene.h.

Referenced by ez_choose_plan(), ez_scene_init(), ez_scene_render(), ez_scene_tap(), ez_scene_tick(), ez_selftest_lens(), and ez_zone_hit().

◆ page

◆ src

zoom_source_t ez_scene_t::src

The page as a zoom source.

Definition at line 225 of file ez_scene.h.

Referenced by ez_bind_page(), ez_open_views(), and ez_scene_render().

◆ tiles

zoom_tile_src_t ez_scene_t::tiles

Tiled-source binding over that cache.

Definition at line 224 of file ez_scene.h.

Referenced by ez_bind_page(), and ez_scene_prefetch().


The documentation for this struct was generated from the following file:
  • examples/ek_ra8d2/hw_pending/ereader_zoom/inc/ez_scene.h