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

Immutable raw-fd CoreGraphics direct provider implementation. More...

#include <stdint.h>
#include <unistd.h>
#include "board_view.h"
#include "board_view_provider_internal.h"
Include dependency graph for board_view_provider.c:

Go to the source code of this file.

Functions

CGDataProviderRef priv_board_view_provider_create (int snapshot_fd, size_t provider_bytes)
 Transfer one sealed RGB565 descriptor into a lazy RGB888 provider.

Detailed Description

Immutable raw-fd CoreGraphics direct provider implementation.

Implements descriptor encoding, bounded positional RGB565 reads, CoreGraphics release ownership, and a non-Apple contract stub for the immutable presentation-provider boundary.

Since
0.1.0

Definition in file board_view_provider.c.

Function Documentation

◆ priv_board_view_provider_create()

CGDataProviderRef priv_board_view_provider_create ( int snapshot_fd,
size_t provider_bytes )

Transfer one sealed RGB565 descriptor into a lazy RGB888 provider.

Parameters
[in]snapshot_fdOwned immutable descriptor; ownership always transfers.
[in]provider_bytesExact virtual 32-bit output length.
Returns
CoreGraphics provider, or NULL after closing snapshot_fd.
Postcondition
The provider release callback closes snapshot_fd exactly once.
Note
CoreGraphics supplies every destination byte buffer; no client allocation.
Since
0.1.0

Transfer one sealed rgb565 descriptor into a lazy rgb888 provider; this step is contained within the board view provider model and uses bounded caller or module-owned storage.

Return values
valueThe operation-specific board view provider create value.
Precondition
Arguments satisfy the ranges documented for board view provider create.
The call executes on the emulator's single owning thread.
Postcondition
Ownership of caller-supplied storage is unchanged.

Definition at line 94 of file board_view_provider.c.