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 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¶
Function pointer type for full-frame graphics operations.
Parameters:
- device Pointer to the CFBD_GraphicDevice instance.
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¶
Function pointer type for device lifecycle operations.
Parameters:
- device Pointer to the CFBD_GraphicDevice instance.
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¶
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¶
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¶
Opaque handle type for device-specific state.
Functions Documentation¶
function CFBDGraphic_DeviceRequestUpdateAtOnce¶
function CFBDGraphic_DeviceSetIfRequestUpdateAtOnce¶
static inline void CFBDGraphic_DeviceSetIfRequestUpdateAtOnce(
CFBD_GraphicDevice * device,
CFBD_Bool requests
)
function CFBDGraphic_DeviceClearImmediate¶
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