跳转至

Graphics Device Abstraction

Generic graphics device interface and operations. More...

Modules

Name
OLED Graphics Device Adapter
OLED-specific graphics device implementation.

Classes

Name
struct CFBD_GraphicDeviceOperation
Virtual operation table for graphics device functionality.
struct _CFBD_GraphicDevice
struct CFBD_GraphicDevice
The main graphics device object.

Types

Name
enum CFBDGraphic_DeviceType { OLED}
Enumeration of supported graphics device types.
typedef struct _CFBD_GraphicDevice CFBD_GraphicDevice
typedef CFBD_Bool(*)(CFBD_GraphicDevice *device, uint16_t x, uint16_t y, uint16_t width, uint16_t height) GraphicAreaOperations
Function pointer type for area-based graphics operations.
typedef CFBD_Bool(*)(CFBD_GraphicDevice *device) GraphicFrameOperation
Function pointer type for full-frame graphics operations.
typedef CFBD_Bool(*)(CFBD_GraphicDevice *device) GraphicOLEDSelfOperation
Function pointer type for device lifecycle operations.
typedef CFBD_Bool(*)(CFBD_GraphicDevice *device, const char *property, void *args, void *request_data) GraphicOLED_QueryOperation
Function pointer type for querying device properties.
typedef CFBD_Bool(*)(CFBD_GraphicDevice *device, const char *property, void *args, void *request_data) GraphicOLED_PropertySetsOperation
Function pointer type for settings device properties.
typedef void * CFBDGraphicDeviceHandle
Opaque handle type for device-specific state.

Functions

Name
CFBD_Bool CFBDGraphic_DeviceRequestUpdateAtOnce(CFBD_GraphicDevice * device)
void CFBDGraphic_DeviceSetIfRequestUpdateAtOnce(CFBD_GraphicDevice * device, CFBD_Bool requests)
void CFBDGraphic_DeviceClearImmediate(CFBD_GraphicDevice * device)
void CFBDGraphic_BindDevice(CFBD_GraphicDevice * device, CFBDGraphic_DeviceType device_type, CFBDGraphicDeviceHandle internal_handle)

Detailed Description

Generic graphics device interface and operations.

See: oled_graphic_device.hforOLED device binding

This module defines the generic graphics device interface used by the graphics subsystem. It provides a unified API for controlling various graphics display hardware (OLED, LCD, LED matrices, etc.) through a standardized operation table.

Key features:

  • Device-agnostic rendering interface
  • Support for immediate or deferred drawing modes
  • Area-based and frame-based operations
  • Device property queries
  • Hardware binding flexibility

Types Documentation

enum CFBDGraphic_DeviceType

Enumerator Value Description
OLED OLED display device

Enumeration of supported graphics device types.

Specifies which type of graphics hardware device is being used. Each device type may have different initialization parameters and rendering characteristics.

typedef CFBD_GraphicDevice

typedef struct _CFBD_GraphicDevice CFBD_GraphicDevice;

typedef GraphicAreaOperations

GraphicAreaOperations;

Function pointer type for area-based graphics operations.

Parameters:

  • device Pointer to the CFBD_GraphicDevice instance.
  • x X coordinate of the area's top-left corner.
  • y Y coordinate of the area's top-left corner.
  • width Width of the area in pixels.
  • height Height of the area in pixels.

See: CFBD_GraphicDeviceOperationfor operation table definition

Return: CFBD_Bool CFBD_TRUE on success, CFBD_FALSE on failure.

This function pointer signature handles rectangular area operations on the graphics device, such as updating, clearing, or reverting specific regions of the display.

typedef GraphicFrameOperation

GraphicFrameOperation;

Function pointer type for full-frame graphics operations.

Parameters:

See: CFBD_GraphicDeviceOperationfor operation table definition

Return: CFBD_Bool CFBD_TRUE on success, CFBD_FALSE on failure.

This function pointer signature handles operations that affect the entire graphics frame, such as updating the complete display, clearing all pixels, or reverting to the previous frame content.

typedef GraphicOLEDSelfOperation

GraphicOLEDSelfOperation;

Function pointer type for device lifecycle operations.

Parameters:

See: CFBD_GraphicDeviceOperationfor operation table definition

Return: CFBD_Bool CFBD_TRUE on success, CFBD_FALSE on failure.

This function pointer signature handles device lifecycle management operations such as opening (enabling) or closing (disabling) the graphics device.

typedef GraphicOLED_QueryOperation

GraphicOLED_QueryOperation;

Function pointer type for querying device properties.

Parameters:

  • device Pointer to the CFBD_GraphicDevice instance.
  • property Null-terminated string naming the queried property.
  • args Optional input arguments for the query (implementation-defined).
  • request_data Output pointer where query results are written.

Return: CFBD_Bool CFBD_TRUE on success, CFBD_FALSE on failure.

This function pointer signature handles runtime queries for device capabilities and properties. Implementations should support standard properties: "width" (uint16_t), "height" (uint16_t), and "rgb" (CFBD_Bool).

typedef GraphicOLED_PropertySetsOperation

GraphicOLED_PropertySetsOperation;

Function pointer type for settings device properties.

Parameters:

  • device Pointer to the CFBD_GraphicDevice instance.
  • property Null-terminated string naming the queried property.
  • args Optional input arguments for the query (implementation-defined).
  • request_data Output pointer where to write results are.

See: CFBD_GraphicDeviceOperationfor operation table definition

Return: CFBD_Bool CFBD_TRUE on success, CFBD_FALSE on failure.

This function pointer signature handles runtime sets for device capabilities and properties. Implementations should support standard.

typedef CFBDGraphicDeviceHandle

CFBDGraphicDeviceHandle;

Opaque handle type for device-specific state.

Functions Documentation

function CFBDGraphic_DeviceRequestUpdateAtOnce

static inline CFBD_Bool CFBDGraphic_DeviceRequestUpdateAtOnce(
    CFBD_GraphicDevice * device
)

function CFBDGraphic_DeviceSetIfRequestUpdateAtOnce

static inline void CFBDGraphic_DeviceSetIfRequestUpdateAtOnce(
    CFBD_GraphicDevice * device,
    CFBD_Bool requests
)

function CFBDGraphic_DeviceClearImmediate

static inline void CFBDGraphic_DeviceClearImmediate(
    CFBD_GraphicDevice * device
)

function CFBDGraphic_BindDevice

void CFBDGraphic_BindDevice(
    CFBD_GraphicDevice * device,
    CFBDGraphic_DeviceType device_type,
    CFBDGraphicDeviceHandle internal_handle
)

Updated on 2026-02-03 at 13:21:55 +0000