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

Everything zoom_view_open needs; nothing it does not. More...

#include <zoom.h>

Collaboration diagram for zoom_view_cfg_t:

Data Fields

zoom_source_t src
 Bound source (see zoom_source_init).
zoom_scratch_t scratch
 Caller-owned composite buffers.
ra8_ui_rect_t dst
 Viewport in framebuffer pixels.
uint8_t scale
 Opening magnification (0 => scale_min).
uint8_t scale_max
 Ladder ceiling (0 => k_zoom_scale_max).
zoom_policy_t policy
 Waveform scheduling policy.
uint16_t settle_ms
 Settle window (0 => the module default).
int32_t focus_x
 Opening centre, source pixels (x).
int32_t focus_y
 Opening centre, source pixels (y).

Detailed Description

Everything zoom_view_open needs; nothing it does not.

The focus fields are in source pixels and name the point the view opens centred on – the panel coordinate of the tap that opened the viewer, mapped back through whatever laid the image out. Zero/zero is the image's top-left corner, which after clamping is simply "top-left of the image", the natural place to open a comic page.

Invariant
dst.w > 0 and dst.h > 0.
scale lies in [k_zoom_scale_min, effective scale_max].
Example:
const zoom_view_cfg_t cfg = {
.src = src, .scratch = scratch,
.dst = { .x = 0, .y = 0, .w = 1024, .h = 552 },
.scale = k_zoom_scale_min, .scale_max = 4U,
.focus_x = (int32_t)tap_src_x, .focus_y = (int32_t)tap_src_y,
};
Everything zoom_view_open needs; nothing it does not.
Definition zoom.h:404
zoom_source_t src
Bound source (see zoom_source_init).
Definition zoom.h:405
int32_t focus_y
Opening centre, source pixels (y).
Definition zoom.h:413
zoom_scratch_t scratch
Caller-owned composite buffers.
Definition zoom.h:406
@ k_zoom_policy_responsive
Fast during a burst, quality once settled.
Definition zoom.h:204
@ k_zoom_scale_min
1:1 – one source pixel per panel pixel.
Definition zoom.h:118
See also
zoom_view_open
Since
0.1.0

Definition at line 404 of file zoom.h.

Field Documentation

◆ dst

ra8_ui_rect_t zoom_view_cfg_t::dst

Viewport in framebuffer pixels.

Definition at line 407 of file zoom.h.

Referenced by internal_cfg_extent_ok(), internal_cfg_scratch_ok(), and internal_view_adopt().

◆ focus_x

int32_t zoom_view_cfg_t::focus_x

Opening centre, source pixels (x).

Definition at line 412 of file zoom.h.

Referenced by internal_view_adopt().

◆ focus_y

int32_t zoom_view_cfg_t::focus_y

Opening centre, source pixels (y).

Definition at line 413 of file zoom.h.

Referenced by internal_view_adopt().

◆ policy

zoom_policy_t zoom_view_cfg_t::policy

Waveform scheduling policy.

Definition at line 410 of file zoom.h.

Referenced by internal_view_adopt().

◆ scale

uint8_t zoom_view_cfg_t::scale

Opening magnification (0 => scale_min).

Definition at line 408 of file zoom.h.

Referenced by internal_cfg_ladder_ok().

◆ scale_max

uint8_t zoom_view_cfg_t::scale_max

Ladder ceiling (0 => k_zoom_scale_max).

Definition at line 409 of file zoom.h.

Referenced by internal_cfg_ladder_ok().

◆ scratch

zoom_scratch_t zoom_view_cfg_t::scratch

Caller-owned composite buffers.

Definition at line 406 of file zoom.h.

Referenced by internal_cfg_ptrs_ok(), internal_cfg_scratch_ok(), and internal_view_adopt().

◆ settle_ms

uint16_t zoom_view_cfg_t::settle_ms

Settle window (0 => the module default).

Definition at line 411 of file zoom.h.

Referenced by internal_view_adopt().

◆ src

zoom_source_t zoom_view_cfg_t::src

Bound source (see zoom_source_init).

Definition at line 405 of file zoom.h.

Referenced by internal_cfg_extent_ok(), internal_cfg_ptrs_ok(), and internal_view_adopt().


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