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

Opened longstrip-strip scroll state (caller-owned; treat as private). More...

#include <longstrip.h>

Collaboration diagram for longstrip_t:

Data Fields

jof_info_t info
 Parsed atlas geometry.
uint32_t canvas_w
 Strip width, pixels (== info.width).
uint32_t canvas_h
 Strip height, pixels (== info.height).
uint16_t band_h
 Band height, pixels (== info.tile_h).
uint16_t band_count
 Bands (== info.tile_rows).
uint16_t viewport_w
 Viewport width, pixels.
uint16_t viewport_h
 Viewport height, pixels.
int32_t scroll_y
 Viewport top on the canvas, clamped.
int32_t max_scroll
 Clamp ceiling (>= 0).
int32_t velocity
 Fling velocity, px/tick (signed).
ra8_tile_cache_tcache
 Band cache.
uint32_t image_id
 Tile-cache key namespace.
longstrip_blit_fn blit
 Band composite sink.
void * blit_ctx
 Context for blit.

Detailed Description

Opened longstrip-strip scroll state (caller-owned; treat as private).

Filled by longstrip_open; the geometry fields are read-only afterwards while scroll_y/velocity evolve through the scroll API. max_scroll == max(0, canvas_h - viewport_h) is the clamp ceiling.

Invariant
0 <= scroll_y <= max_scroll after every public call.
band_count == info.tile_rows and band_h == info.tile_h.
Since
0.1.0

Definition at line 185 of file longstrip.h.

Field Documentation

◆ band_count

uint16_t longstrip_t::band_count

Bands (== info.tile_rows).

Definition at line 190 of file longstrip.h.

Referenced by internal_bind(), longstrip_prefetch(), and longstrip_visible_bands().

◆ band_h

uint16_t longstrip_t::band_h

Band height, pixels (== info.tile_h).

Definition at line 189 of file longstrip.h.

Referenced by internal_bind(), internal_draw_band(), longstrip_band_at_y(), and longstrip_visible_bands().

◆ blit

longstrip_blit_fn longstrip_t::blit

Band composite sink.

Definition at line 198 of file longstrip.h.

Referenced by internal_bind(), and internal_draw_band().

◆ blit_ctx

void* longstrip_t::blit_ctx

Context for blit.

Definition at line 199 of file longstrip.h.

Referenced by internal_bind(), and internal_draw_band().

◆ cache

ra8_tile_cache_t* longstrip_t::cache

Band cache.

Definition at line 196 of file longstrip.h.

Referenced by internal_bind(), internal_draw_band(), and internal_warm_band().

◆ canvas_h

uint32_t longstrip_t::canvas_h

Strip height, pixels (== info.height).

Definition at line 188 of file longstrip.h.

Referenced by internal_bind(), longstrip_band_at_y(), longstrip_set_viewport(), and longstrip_visible_bands().

◆ canvas_w

uint32_t longstrip_t::canvas_w

Strip width, pixels (== info.width).

Definition at line 187 of file longstrip.h.

Referenced by internal_bind(), and longstrip_render().

◆ image_id

uint32_t longstrip_t::image_id

Tile-cache key namespace.

Definition at line 197 of file longstrip.h.

Referenced by internal_bind(), internal_draw_band(), and internal_warm_band().

◆ info

jof_info_t longstrip_t::info

Parsed atlas geometry.

Definition at line 186 of file longstrip.h.

Referenced by internal_bind(), and internal_draw_band().

◆ max_scroll

int32_t longstrip_t::max_scroll

Clamp ceiling (>= 0).

Definition at line 194 of file longstrip.h.

Referenced by internal_at_bottom(), internal_bind(), longstrip_clamp_scroll(), longstrip_scroll_by(), and longstrip_set_viewport().

◆ scroll_y

int32_t longstrip_t::scroll_y

◆ velocity

int32_t longstrip_t::velocity

Fling velocity, px/tick (signed).

Definition at line 195 of file longstrip.h.

Referenced by internal_bind(), internal_fling_should_stop(), longstrip_fling(), longstrip_prefetch(), longstrip_scroll_by(), and longstrip_tick().

◆ viewport_h

uint16_t longstrip_t::viewport_h

Viewport height, pixels.

Definition at line 192 of file longstrip.h.

Referenced by internal_accumulate_coverage(), internal_bind(), longstrip_set_viewport(), and longstrip_visible_bands().

◆ viewport_w

uint16_t longstrip_t::viewport_w

Viewport width, pixels.

Definition at line 191 of file longstrip.h.

Referenced by internal_bind(), longstrip_render(), and longstrip_set_viewport().


The documentation for this struct was generated from the following file: