Ultibo API
C/C++ API for Ultibo Core
Loading...
Searching...
No Matches
framebuffer.h File Reference

Go to the source code of this file.

Data Structures

struct  _FRAMEBUFFER_PALETTE
struct  _FRAMEBUFFER_PROPERTIES
struct  _FRAMEBUFFER_DEVICE

Macros

#define FRAMEBUFFER_NAME_PREFIX   "Framebuffer"
 Name prefix for Framebuffer Devices.
#define FRAMEBUFFER_TYPE_NONE   0
#define FRAMEBUFFER_TYPE_HARDWARE   1
#define FRAMEBUFFER_TYPE_VIRTUAL   2
#define FRAMEBUFFER_TYPE_MAX   2
#define FRAMEBUFFER_STATE_DISABLED   0
#define FRAMEBUFFER_STATE_ENABLED   1
#define FRAMEBUFFER_STATE_MAX   1
#define FRAMEBUFFER_CURSOR_DISABLED   0
#define FRAMEBUFFER_CURSOR_ENABLED   1
#define FRAMEBUFFER_FLAG_NONE   0x00000000
#define FRAMEBUFFER_FLAG_DMA   0x00000001
 If set the framebuffer supports DMA for read/write operations.
#define FRAMEBUFFER_FLAG_MARK   0x00000002
 If set the framebuffer requires mark after write operations.
#define FRAMEBUFFER_FLAG_COMMIT   0x00000004
 If set the framebuffer requires commit after write operations.
#define FRAMEBUFFER_FLAG_BLANK   0x00000008
 If set the framebuffer supports blanking the screen.
#define FRAMEBUFFER_FLAG_CACHED   0x00000010
 If set framebuffer is in cached memory and cache cleaning should be used.
#define FRAMEBUFFER_FLAG_SWAP   0x00000020
 If set framebuffer requires byte order of colors to be reversed (BGR <-> RGB).
#define FRAMEBUFFER_FLAG_BACKLIGHT   0x00000040
 If set the framebuffer supports setting the backlight brightness.
#define FRAMEBUFFER_FLAG_VIRTUAL   0x00000080
 If set the framebuffer supports virtual width and height.
#define FRAMEBUFFER_FLAG_OFFSETX   0x00000100
 If set the framebuffer supports virtual offset X (Horizontal Pan/Flip etc).
#define FRAMEBUFFER_FLAG_OFFSETY   0x00000200
 If set the framebuffer supports virtual offset Y (Vertical Pan/Flip etc).
#define FRAMEBUFFER_FLAG_SYNC   0x00000400
 If set the framebuffer supports waiting for vertical sync.
#define FRAMEBUFFER_FLAG_CURSOR   0x00000800
 If set the framebuffer supports a hardware mouse cursor.
#define FRAMEBUFFER_TRANSFER_NONE   0x00000000
#define FRAMEBUFFER_TRANSFER_DMA   0x00000001
 Use DMA for transfer operations (Note: Buffers must be DMA compatible).

Typedefs

typedef struct _FRAMEBUFFER_PALETTE FRAMEBUFFER_PALETTE
typedef struct _FRAMEBUFFER_PROPERTIES FRAMEBUFFER_PROPERTIES
typedef struct _FRAMEBUFFER_DEVICE FRAMEBUFFER_DEVICE
typedef uint32_t STDCALL(* framebuffer_enumerate_cb) (FRAMEBUFFER_DEVICE *framebuffer, void *data)
typedef uint32_t STDCALL(* framebuffer_notification_cb) (DEVICE *device, void *data, uint32_t notification)
typedef uint32_t STDCALL(* framebuffer_device_allocate_proc) (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PROPERTIES *properties)
typedef uint32_t STDCALL(* framebuffer_device_release_proc) (FRAMEBUFFER_DEVICE *framebuffer)
typedef uint32_t STDCALL(* framebuffer_device_blank_proc) (FRAMEBUFFER_DEVICE *framebuffer, BOOL blank)
typedef uint32_t STDCALL(* framebuffer_device_read_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, void *buffer, uint32_t len, uint32_t flags)
typedef uint32_t STDCALL(* framebuffer_device_write_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, void *buffer, uint32_t len, uint32_t flags)
typedef uint32_t STDCALL(* framebuffer_device_mark_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, uint32_t width, uint32_t height, uint32_t flags)
typedef uint32_t STDCALL(* framebuffer_device_commit_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t address, uint32_t size, uint32_t flags)
typedef uint32_t STDCALL(* framebuffer_device_get_rect_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, void *buffer, uint32_t width, uint32_t height, uint32_t skip, uint32_t flags)
typedef uint32_t STDCALL(* framebuffer_device_put_rect_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, void *buffer, uint32_t width, uint32_t height, uint32_t skip, uint32_t flags)
typedef uint32_t STDCALL(* framebuffer_device_copy_rect_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x1, uint32_t y1, uint32_t x2, uint32_t y2, uint32_t width, uint32_t height, uint32_t flags)
typedef uint32_t STDCALL(* framebuffer_device_fill_rect_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, uint32_t width, uint32_t height, uint32_t color, uint32_t flags)
typedef void *STDCALL(* framebuffer_device_get_line_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t y)
typedef void *STDCALL(* framebuffer_device_get_point_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y)
typedef uint32_t STDCALL(* framebuffer_device_wait_sync_proc) (FRAMEBUFFER_DEVICE *framebuffer)
typedef uint32_t STDCALL(* framebuffer_device_get_offset_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t *x, uint32_t *y)
typedef uint32_t STDCALL(* framebuffer_device_set_offset_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, BOOL pan)
typedef uint32_t STDCALL(* framebuffer_device_set_offset_ex_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, BOOL pan, BOOL _switch)
typedef uint32_t STDCALL(* framebuffer_device_get_palette_proc) (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PALETTE *palette)
typedef uint32_t STDCALL(* framebuffer_device_set_palette_proc) (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PALETTE *palette)
typedef uint32_t STDCALL(* framebuffer_device_set_backlight_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t brightness)
typedef uint32_t STDCALL(* framebuffer_device_set_cursor_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t width, uint32_t height, uint32_t hotspotx, uint32_t hotspoty, void *image, uint32_t len)
typedef uint32_t STDCALL(* framebuffer_device_update_cursor_proc) (FRAMEBUFFER_DEVICE *framebuffer, BOOL enabled, int32_t x, int32_t y, BOOL relative)
typedef uint32_t STDCALL(* framebuffer_device_get_properties_proc) (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PROPERTIES *properties)
typedef uint32_t STDCALL(* framebuffer_device_set_properties_proc) (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PROPERTIES *properties)

Functions

uint32_t STDCALL framebuffer_device_allocate (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PROPERTIES *properties)
 Allocate and enable a framebuffer device using supplied properties or defaults.
uint32_t STDCALL framebuffer_device_release (FRAMEBUFFER_DEVICE *framebuffer)
 Disable and release a framebuffer device.
uint32_t STDCALL framebuffer_device_blank (FRAMEBUFFER_DEVICE *framebuffer, BOOL blank)
 Blank (Turn off) the display of a framebuffer device.
uint32_t STDCALL framebuffer_device_read (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, void *buffer, uint32_t len, uint32_t flags)
 Read one or more pixels from framebuffer device memory to a supplied buffer.
uint32_t STDCALL framebuffer_device_write (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, void *buffer, uint32_t len, uint32_t flags)
 Write one or more pixels to framebuffer device memory from a supplied buffer.
uint32_t STDCALL framebuffer_device_mark (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, uint32_t width, uint32_t height, uint32_t flags)
 Mark a region written to the framebuffer and signal the device to take any necessary actions.
uint32_t STDCALL framebuffer_device_commit (FRAMEBUFFER_DEVICE *framebuffer, size_t address, uint32_t size, uint32_t flags)
 Commit a region written to the framebuffer and signal the device to take any necessary actions.
uint32_t STDCALL framebuffer_device_get_rect (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, void *buffer, uint32_t width, uint32_t height, uint32_t skip, uint32_t flags)
 Get a rectangular area of pixels from framebuffer memory to a supplied buffer.
uint32_t STDCALL framebuffer_device_put_rect (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, void *buffer, uint32_t width, uint32_t height, uint32_t skip, uint32_t flags)
 Put a rectangular area of pixels from a supplied buffer to framebuffer memory.
uint32_t STDCALL framebuffer_device_copy_rect (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x1, uint32_t y1, uint32_t x2, uint32_t y2, uint32_t width, uint32_t height, uint32_t flags)
 Copy a rectangular area of pixels within framebuffer memory.
uint32_t STDCALL framebuffer_device_fill_rect (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, uint32_t width, uint32_t height, uint32_t color, uint32_t flags)
 Fill a rectangular area of pixels within framebuffer memory.
void *STDCALL framebuffer_device_get_line (FRAMEBUFFER_DEVICE *framebuffer, uint32_t y)
 Get the address of the start of a row in framebuffer memory.
void *STDCALL framebuffer_device_get_point (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y)
 Get the address of the specified row and column in framebuffer memory.
uint32_t STDCALL framebuffer_device_wait_sync (FRAMEBUFFER_DEVICE *framebuffer)
 Wait for the next vertical sync signal from the display hardware.
uint32_t STDCALL framebuffer_device_get_offset (FRAMEBUFFER_DEVICE *framebuffer, uint32_t *x, uint32_t *y)
 Get the virtual offset X and Y from a framebuffer device.
uint32_t STDCALL framebuffer_device_set_offset (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, BOOL pan)
 Set the virtual offset X and Y of a framebuffer device.
uint32_t STDCALL framebuffer_device_set_offset_ex (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, BOOL pan, BOOL _switch)
 Set the virtual offset X and Y of a framebuffer device.
uint32_t STDCALL framebuffer_device_get_palette (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PALETTE *palette)
 Get the 8 bit color palette from a framebuffer device.
uint32_t STDCALL framebuffer_device_set_palette (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PALETTE *palette)
 Set the 8 bit color palette of a framebuffer device.
uint32_t STDCALL framebuffer_device_set_backlight (FRAMEBUFFER_DEVICE *framebuffer, uint32_t brightness)
 Set the brightness of the backlight of a framebuffer device.
uint32_t STDCALL framebuffer_device_set_cursor (FRAMEBUFFER_DEVICE *framebuffer, uint32_t width, uint32_t height, uint32_t hotspotx, uint32_t hotspoty, void *image, uint32_t len)
 Set the mouse cursor image and properties of a framebuffer device.
uint32_t STDCALL framebuffer_device_update_cursor (FRAMEBUFFER_DEVICE *framebuffer, BOOL enabled, int32_t x, int32_t y, BOOL relative)
 Update the position and state for the mouse cursor of a framebuffer device.
uint32_t STDCALL framebuffer_device_get_properties (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PROPERTIES *properties)
 Get the current properties from a framebuffer device.
uint32_t STDCALL framebuffer_device_set_properties (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PROPERTIES *properties)
 Set the current properties for a framebuffer device.
BOOL STDCALL framebuffer_device_check_flag (FRAMEBUFFER_DEVICE *framebuffer, uint32_t flag)
 Check if a framebuffer device supports a flag value.
uint32_t STDCALL framebuffer_device_get_format (FRAMEBUFFER_DEVICE *framebuffer)
 Get the color format of a framebuffer device.
FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_create (void)
 Create a new Framebuffer entry.
FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_create_ex (uint32_t size)
 Create a new Framebuffer entry.
uint32_t STDCALL framebuffer_device_destroy (FRAMEBUFFER_DEVICE *framebuffer)
 Destroy an existing Framebuffer entry.
uint32_t STDCALL framebuffer_device_register (FRAMEBUFFER_DEVICE *framebuffer)
 Register a new Framebuffer in the Framebuffer table.
uint32_t STDCALL framebuffer_device_deregister (FRAMEBUFFER_DEVICE *framebuffer)
 Deregister a Framebuffer from the Framebuffer table.
FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_find (uint32_t framebufferid)
 Find a framebuffer device by ID in the framebuffer table.
FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_find_by_name (const char *name)
 Find a framebuffer device by name in the framebuffer table.
FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_find_by_description (const char *description)
 Find a framebuffer device by description in the framebuffer table.
uint32_t STDCALL framebuffer_device_enumerate (framebuffer_enumerate_cb callback, void *data)
 Enumerate all framebuffer devices in the framebuffer table.
uint32_t STDCALL framebuffer_device_notification (FRAMEBUFFER_DEVICE *framebuffer, framebuffer_notification_cb callback, void *data, uint32_t notification, uint32_t flags)
 Register a notification for framebuffer device changes.
uint32_t STDCALL framebuffer_device_get_count (void)
 Get the current framebuffer device count.
FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_get_default (void)
 Get the current default framebuffer device.
uint32_t STDCALL framebuffer_device_set_default (FRAMEBUFFER_DEVICE *framebuffer)
 Set the current default framebuffer device.
FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_check (FRAMEBUFFER_DEVICE *framebuffer)
 Check if the supplied Framebuffer device is in the Framebuffer table.
uint32_t STDCALL framebuffer_device_swap (uint32_t value)
 No longer required (See ColorDefaultToFormat and ColorFormatToDefault).
uint32_t STDCALL framebuffer_type_to_string (uint32_t framebuffertype, char *string, uint32_t len)
 Convert a Framebuffer type value to a string.
uint32_t STDCALL framebuffer_state_to_string (uint32_t framebufferstate, char *string, uint32_t len)
 Convert a Framebuffer state value to a string.
void STDCALL framebuffer_device_hide_cursor (FRAMEBUFFER_DEVICE *framebuffer)
 Restore the framebuffer area under the cursor from the cursor buffer.
void STDCALL framebuffer_device_show_cursor (FRAMEBUFFER_DEVICE *framebuffer)
 Save the framebuffer area under the cursor to the cursor buffer and merge the cursor input with it to create the cursor output. Put the output to the framebuffer.
uint32_t STDCALL framebuffer_cursor_to_string (uint32_t state, char *string, uint32_t len)
uint32_t STDCALL framebuffer_depth_to_string (uint32_t depth, char *string, uint32_t len)
uint32_t STDCALL framebuffer_order_to_string (uint32_t order, char *string, uint32_t len)
uint32_t STDCALL framebuffer_mode_to_string (uint32_t mode, char *string, uint32_t len)
uint32_t STDCALL framebuffer_rotation_to_string (uint32_t rotation, char *string, uint32_t len)

Macro Definition Documentation

◆ FRAMEBUFFER_NAME_PREFIX

#define FRAMEBUFFER_NAME_PREFIX   "Framebuffer"

Name prefix for Framebuffer Devices.

Framebuffer specific constants

◆ FRAMEBUFFER_TYPE_NONE

#define FRAMEBUFFER_TYPE_NONE   0

Framebuffer Device Types

◆ FRAMEBUFFER_TYPE_HARDWARE

#define FRAMEBUFFER_TYPE_HARDWARE   1

◆ FRAMEBUFFER_TYPE_VIRTUAL

#define FRAMEBUFFER_TYPE_VIRTUAL   2

◆ FRAMEBUFFER_TYPE_MAX

#define FRAMEBUFFER_TYPE_MAX   2

◆ FRAMEBUFFER_STATE_DISABLED

#define FRAMEBUFFER_STATE_DISABLED   0

Framebuffer Device States

◆ FRAMEBUFFER_STATE_ENABLED

#define FRAMEBUFFER_STATE_ENABLED   1

◆ FRAMEBUFFER_STATE_MAX

#define FRAMEBUFFER_STATE_MAX   1

◆ FRAMEBUFFER_CURSOR_DISABLED

#define FRAMEBUFFER_CURSOR_DISABLED   0

Framebuffer Cursor States

◆ FRAMEBUFFER_CURSOR_ENABLED

#define FRAMEBUFFER_CURSOR_ENABLED   1

◆ FRAMEBUFFER_FLAG_NONE

#define FRAMEBUFFER_FLAG_NONE   0x00000000

Framebuffer Device Flags

◆ FRAMEBUFFER_FLAG_DMA

#define FRAMEBUFFER_FLAG_DMA   0x00000001

If set the framebuffer supports DMA for read/write operations.

◆ FRAMEBUFFER_FLAG_MARK

#define FRAMEBUFFER_FLAG_MARK   0x00000002

If set the framebuffer requires mark after write operations.

◆ FRAMEBUFFER_FLAG_COMMIT

#define FRAMEBUFFER_FLAG_COMMIT   0x00000004

If set the framebuffer requires commit after write operations.

◆ FRAMEBUFFER_FLAG_BLANK

#define FRAMEBUFFER_FLAG_BLANK   0x00000008

If set the framebuffer supports blanking the screen.

◆ FRAMEBUFFER_FLAG_CACHED

#define FRAMEBUFFER_FLAG_CACHED   0x00000010

If set framebuffer is in cached memory and cache cleaning should be used.

◆ FRAMEBUFFER_FLAG_SWAP

#define FRAMEBUFFER_FLAG_SWAP   0x00000020

If set framebuffer requires byte order of colors to be reversed (BGR <-> RGB).

◆ FRAMEBUFFER_FLAG_BACKLIGHT

#define FRAMEBUFFER_FLAG_BACKLIGHT   0x00000040

If set the framebuffer supports setting the backlight brightness.

◆ FRAMEBUFFER_FLAG_VIRTUAL

#define FRAMEBUFFER_FLAG_VIRTUAL   0x00000080

If set the framebuffer supports virtual width and height.

◆ FRAMEBUFFER_FLAG_OFFSETX

#define FRAMEBUFFER_FLAG_OFFSETX   0x00000100

If set the framebuffer supports virtual offset X (Horizontal Pan/Flip etc).

◆ FRAMEBUFFER_FLAG_OFFSETY

#define FRAMEBUFFER_FLAG_OFFSETY   0x00000200

If set the framebuffer supports virtual offset Y (Vertical Pan/Flip etc).

◆ FRAMEBUFFER_FLAG_SYNC

#define FRAMEBUFFER_FLAG_SYNC   0x00000400

If set the framebuffer supports waiting for vertical sync.

◆ FRAMEBUFFER_FLAG_CURSOR

#define FRAMEBUFFER_FLAG_CURSOR   0x00000800

If set the framebuffer supports a hardware mouse cursor.

◆ FRAMEBUFFER_TRANSFER_NONE

#define FRAMEBUFFER_TRANSFER_NONE   0x00000000

Framebuffer Transfer Flags

◆ FRAMEBUFFER_TRANSFER_DMA

#define FRAMEBUFFER_TRANSFER_DMA   0x00000001

Use DMA for transfer operations (Note: Buffers must be DMA compatible).

Typedef Documentation

◆ FRAMEBUFFER_PALETTE

Framebuffer specific types

◆ FRAMEBUFFER_PROPERTIES

◆ FRAMEBUFFER_DEVICE

◆ framebuffer_enumerate_cb

typedef uint32_t STDCALL(* framebuffer_enumerate_cb) (FRAMEBUFFER_DEVICE *framebuffer, void *data)

Framebuffer Enumeration Callback

◆ framebuffer_notification_cb

typedef uint32_t STDCALL(* framebuffer_notification_cb) (DEVICE *device, void *data, uint32_t notification)

Framebuffer Notification Callback

◆ framebuffer_device_allocate_proc

typedef uint32_t STDCALL(* framebuffer_device_allocate_proc) (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PROPERTIES *properties)

Framebuffer Device Methods

◆ framebuffer_device_release_proc

typedef uint32_t STDCALL(* framebuffer_device_release_proc) (FRAMEBUFFER_DEVICE *framebuffer)

◆ framebuffer_device_blank_proc

typedef uint32_t STDCALL(* framebuffer_device_blank_proc) (FRAMEBUFFER_DEVICE *framebuffer, BOOL blank)

◆ framebuffer_device_read_proc

typedef uint32_t STDCALL(* framebuffer_device_read_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, void *buffer, uint32_t len, uint32_t flags)

◆ framebuffer_device_write_proc

typedef uint32_t STDCALL(* framebuffer_device_write_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, void *buffer, uint32_t len, uint32_t flags)

◆ framebuffer_device_mark_proc

typedef uint32_t STDCALL(* framebuffer_device_mark_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, uint32_t width, uint32_t height, uint32_t flags)

◆ framebuffer_device_commit_proc

typedef uint32_t STDCALL(* framebuffer_device_commit_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t address, uint32_t size, uint32_t flags)

◆ framebuffer_device_get_rect_proc

typedef uint32_t STDCALL(* framebuffer_device_get_rect_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, void *buffer, uint32_t width, uint32_t height, uint32_t skip, uint32_t flags)

◆ framebuffer_device_put_rect_proc

typedef uint32_t STDCALL(* framebuffer_device_put_rect_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, void *buffer, uint32_t width, uint32_t height, uint32_t skip, uint32_t flags)

◆ framebuffer_device_copy_rect_proc

typedef uint32_t STDCALL(* framebuffer_device_copy_rect_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x1, uint32_t y1, uint32_t x2, uint32_t y2, uint32_t width, uint32_t height, uint32_t flags)

◆ framebuffer_device_fill_rect_proc

typedef uint32_t STDCALL(* framebuffer_device_fill_rect_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, uint32_t width, uint32_t height, uint32_t color, uint32_t flags)

◆ framebuffer_device_get_line_proc

typedef void *STDCALL(* framebuffer_device_get_line_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t y)

◆ framebuffer_device_get_point_proc

typedef void *STDCALL(* framebuffer_device_get_point_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y)

◆ framebuffer_device_wait_sync_proc

typedef uint32_t STDCALL(* framebuffer_device_wait_sync_proc) (FRAMEBUFFER_DEVICE *framebuffer)

◆ framebuffer_device_get_offset_proc

typedef uint32_t STDCALL(* framebuffer_device_get_offset_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t *x, uint32_t *y)

◆ framebuffer_device_set_offset_proc

typedef uint32_t STDCALL(* framebuffer_device_set_offset_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, BOOL pan)

◆ framebuffer_device_set_offset_ex_proc

typedef uint32_t STDCALL(* framebuffer_device_set_offset_ex_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t x, uint32_t y, BOOL pan, BOOL _switch)

◆ framebuffer_device_get_palette_proc

typedef uint32_t STDCALL(* framebuffer_device_get_palette_proc) (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PALETTE *palette)

◆ framebuffer_device_set_palette_proc

typedef uint32_t STDCALL(* framebuffer_device_set_palette_proc) (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PALETTE *palette)

◆ framebuffer_device_set_backlight_proc

typedef uint32_t STDCALL(* framebuffer_device_set_backlight_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t brightness)

◆ framebuffer_device_set_cursor_proc

typedef uint32_t STDCALL(* framebuffer_device_set_cursor_proc) (FRAMEBUFFER_DEVICE *framebuffer, uint32_t width, uint32_t height, uint32_t hotspotx, uint32_t hotspoty, void *image, uint32_t len)

◆ framebuffer_device_update_cursor_proc

typedef uint32_t STDCALL(* framebuffer_device_update_cursor_proc) (FRAMEBUFFER_DEVICE *framebuffer, BOOL enabled, int32_t x, int32_t y, BOOL relative)

◆ framebuffer_device_get_properties_proc

typedef uint32_t STDCALL(* framebuffer_device_get_properties_proc) (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PROPERTIES *properties)

◆ framebuffer_device_set_properties_proc

typedef uint32_t STDCALL(* framebuffer_device_set_properties_proc) (FRAMEBUFFER_DEVICE *framebuffer, FRAMEBUFFER_PROPERTIES *properties)

Function Documentation

◆ framebuffer_device_allocate()

uint32_t STDCALL framebuffer_device_allocate ( FRAMEBUFFER_DEVICE * framebuffer,
FRAMEBUFFER_PROPERTIES * properties )

Allocate and enable a framebuffer device using supplied properties or defaults.

Framebuffer Functions

Parameters
FramebufferThe framebuffer device to allocate
PropertiesThe framebuffer properties (Width/Height/Depth etc) to use for allocation (Optional)
Returns
ERROR_SUCCESS if completed or another error code on failure

◆ framebuffer_device_release()

uint32_t STDCALL framebuffer_device_release ( FRAMEBUFFER_DEVICE * framebuffer)

Disable and release a framebuffer device.

Parameters
FramebufferThe framebuffer device to release
Returns
ERROR_SUCCESS if completed or another error code on failure

◆ framebuffer_device_blank()

uint32_t STDCALL framebuffer_device_blank ( FRAMEBUFFER_DEVICE * framebuffer,
BOOL blank )

Blank (Turn off) the display of a framebuffer device.

Parameters
FramebufferThe framebuffer device to blank
BlankTurn off the display if True / Turn on the display if False
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
Not all framebuffer devices support blank, returns ERROR_CALL_NOT_IMPLEMENTED if not supported Devices that support blank should set the flag FRAMEBUFFER_FLAG_BLANK

◆ framebuffer_device_read()

uint32_t STDCALL framebuffer_device_read ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t x,
uint32_t y,
void * buffer,
uint32_t len,
uint32_t flags )

Read one or more pixels from framebuffer device memory to a supplied buffer.

Parameters
FramebufferThe framebuffer device to read from
XThe column to start reading from
YThe row to start reading from
BufferPointer to a buffer to receive the read pixels
LenThe number of pixels to read starting at X,Y
FlagsThe flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
Pixel data will be returned in the color format of the framebuffer
X and Y are relative to the physical screen and will be translated to the virtual buffer (Where applicable)
The default method assumes that framebuffer memory is DMA coherent and does not require cache cleaning before a DMA read

◆ framebuffer_device_write()

uint32_t STDCALL framebuffer_device_write ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t x,
uint32_t y,
void * buffer,
uint32_t len,
uint32_t flags )

Write one or more pixels to framebuffer device memory from a supplied buffer.

Parameters
FramebufferThe framebuffer device to write to
XThe column to start writing from
YThe row to start writing from
BufferPointer to a buffer containing the pixels to write
LenThe number of pixels to write starting at X,Y
FlagsThe flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
Caller must ensure pixel data is in the correct color format for the framebuffer
X and Y are relative to the physical screen and will be translated to the virtual buffer (Where applicable)
The default method assumes that framebuffer memory is DMA coherent and does not require cache invalidation after a DMA write

◆ framebuffer_device_mark()

uint32_t STDCALL framebuffer_device_mark ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t x,
uint32_t y,
uint32_t width,
uint32_t height,
uint32_t flags )

Mark a region written to the framebuffer and signal the device to take any necessary actions.

Parameters
FramebufferThe framebuffer device to mark
XThe starting column of the mark
YThe starting row of the mark
WidthThe number of columns to mark
HeightThe number of rows to mark
FlagsThe flags used for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
X and Y are relative to the physical screen and will be translated to the virtual buffer (Where applicable)
Not all framebuffer devices support mark, returns ERROR_CALL_NOT_IMPLEMENTED if not supported Devices that support and require mark should set the flag FRAMEBUFFER_FLAG_MARK

◆ framebuffer_device_commit()

uint32_t STDCALL framebuffer_device_commit ( FRAMEBUFFER_DEVICE * framebuffer,
size_t address,
uint32_t size,
uint32_t flags )

Commit a region written to the framebuffer and signal the device to take any necessary actions.

Parameters
FramebufferThe framebuffer device to commit
AddressThe starting address of the commit
SizeThe size in bytes of the commit
FlagsThe flags used for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
Not all framebuffer devices support commit, returns ERROR_CALL_NOT_IMPLEMENTED if not supported Devices that support and require commit should set the flag FRAMEBUFFER_FLAG_COMMIT

◆ framebuffer_device_get_rect()

uint32_t STDCALL framebuffer_device_get_rect ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t x,
uint32_t y,
void * buffer,
uint32_t width,
uint32_t height,
uint32_t skip,
uint32_t flags )

Get a rectangular area of pixels from framebuffer memory to a supplied buffer.

Parameters
FramebufferThe framebuffer device to get from
XThe starting column of the get
YThe starting row of the get
BufferPointer to a block of memory large enough to hold the pixels in a contiguous block of rows
WidthThe number of columns to get
HeightThe number of rows to get
SkipThe number of pixels to skip in the buffer after each row (Optional)
FlagsThe flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
Pixel data will be returned in the color format of the framebuffer
X and Y are relative to the physical screen and will be translated to the virtual buffer (Where applicable)
The default method assumes that framebuffer memory is DMA coherent and does not require cache cleaning before a DMA read

◆ framebuffer_device_put_rect()

uint32_t STDCALL framebuffer_device_put_rect ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t x,
uint32_t y,
void * buffer,
uint32_t width,
uint32_t height,
uint32_t skip,
uint32_t flags )

Put a rectangular area of pixels from a supplied buffer to framebuffer memory.

Parameters
FramebufferThe framebuffer device to put to
XThe starting column of the put
YThe starting row of the put
BufferPointer to a block of memory containing the pixels in a contiguous block of rows
WidthThe number of columns to put
HeightThe number of rows to put
SkipThe number of pixels to skip in the buffer after each row (Optional)
FlagsThe flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
Caller must ensure pixel data is in the correct color format for the framebuffer
X and Y are relative to the physical screen and will be translated to the virtual buffer (Where applicable)
The default method assumes that framebuffer memory is DMA coherent and does not require cache invalidation after a DMA write

◆ framebuffer_device_copy_rect()

uint32_t STDCALL framebuffer_device_copy_rect ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t x1,
uint32_t y1,
uint32_t x2,
uint32_t y2,
uint32_t width,
uint32_t height,
uint32_t flags )

Copy a rectangular area of pixels within framebuffer memory.

Parameters
FramebufferThe framebuffer device to copy on
X1The starting column to copy from
Y1The starting row to copy from
X2The starting column to copy to
Y2The starting row to copy to
WidthThe number of columns to copy
HeightThe number of rows to copy
FlagsThe flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
X1, Y1, X2 and Y2 are relative to the physical screen and will be translated to the virtual buffer (Where applicable)
The default method assumes that framebuffer memory is DMA coherent and does not require cache clean/invalidate before or after a DMA read/write

◆ framebuffer_device_fill_rect()

uint32_t STDCALL framebuffer_device_fill_rect ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t x,
uint32_t y,
uint32_t width,
uint32_t height,
uint32_t color,
uint32_t flags )

Fill a rectangular area of pixels within framebuffer memory.

Parameters
FramebufferThe framebuffer device to fill on
XThe starting column of the fill
YThe starting row of the fill
WidthThe number of columns to fill
HeightThe number of rows to fill
ColorThe color to use for the fill
FlagsThe flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
Color must be specified in the correct format for the framebuffer
X and Y are relative to the physical screen and will be translated to the virtual buffer (Where applicable)
The default method assumes that framebuffer memory is DMA coherent and does not require cache invalidation after a DMA write

◆ framebuffer_device_get_line()

void *STDCALL framebuffer_device_get_line ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t y )

Get the address of the start of a row in framebuffer memory.

Parameters
FramebufferThe framebuffer device to get the start address from
YThe row to get the start address of
Returns
Pointer to the start address of the row or nil on failure
Note
Y is relative to the physical screen and will be translated to the virtual buffer (Where applicable)

◆ framebuffer_device_get_point()

void *STDCALL framebuffer_device_get_point ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t x,
uint32_t y )

Get the address of the specified row and column in framebuffer memory.

Parameters
FramebufferThe framebuffer device to get the address from
XThe column to get the start address of
YThe row to get the start address of
Returns
Pointer to the address of the row and column or nil on failure
Note
X and Y are relative to the physical screen and will be translated to the virtual buffer (Where applicable)

◆ framebuffer_device_wait_sync()

uint32_t STDCALL framebuffer_device_wait_sync ( FRAMEBUFFER_DEVICE * framebuffer)

Wait for the next vertical sync signal from the display hardware.

Parameters
FramebufferThe framebuffer device to wait for
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
Not all framebuffer devices support wait sync, returns ERROR_CALL_NOT_IMPLEMENTED if not supported Devices that support wait sync should set the flag FRAMEBUFFER_FLAG_SYNC

◆ framebuffer_device_get_offset()

uint32_t STDCALL framebuffer_device_get_offset ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t * x,
uint32_t * y )

Get the virtual offset X and Y from a framebuffer device.

Parameters
FramebufferThe framebuffer device to get the offset from
XThe X (Column) offset value in pixels returned from the device if successful
YThe Y (Row) offset value in pixels returned from the device if successful
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
X and Y are relative to the virtual buffer and NOT the physical screen (Where applicable)
Not all framebuffer devices support X and/or Y offset Devices that support offset X should set the flag FRAMEBUFFER_FLAG_OFFSETX Devices that support offset Y should set the flag FRAMEBUFFER_FLAG_OFFSETY

◆ framebuffer_device_set_offset()

uint32_t STDCALL framebuffer_device_set_offset ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t x,
uint32_t y,
BOOL pan )

Set the virtual offset X and Y of a framebuffer device.

Parameters
FramebufferThe framebuffer device to set the offset for
XThe X (Column) offset value in pixels to set
YThe Y (Row) offset value in pixels to set
PanIf True then pan the display without updating the Offset X and/or Y
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
X and Y are relative to the virtual buffer and NOT the physical screen (Where applicable)
Not all framebuffer devices support X and/or Y offset, returns ERROR_CALL_NOT_IMPLEMENTED if not supported Devices that support offset X should set the flag FRAMEBUFFER_FLAG_OFFSETX Devices that support offset Y should set the flag FRAMEBUFFER_FLAG_OFFSETY

◆ framebuffer_device_set_offset_ex()

uint32_t STDCALL framebuffer_device_set_offset_ex ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t x,
uint32_t y,
BOOL pan,
BOOL _switch )

Set the virtual offset X and Y of a framebuffer device.

Parameters
FramebufferThe framebuffer device to set the offset for
XThe X (Column) offset value in pixels to set
YThe Y (Row) offset value in pixels to set
PanIf True then pan the display without updating the Offset X and/or Y
SwitchIf False then update the Offset X and/or Y without moving the display
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
X and Y are relative to the virtual buffer and NOT the physical screen (Where applicable)
Not all framebuffer devices support X and/or Y offset, returns ERROR_CALL_NOT_IMPLEMENTED if not supported Devices that support offset X should set the flag FRAMEBUFFER_FLAG_OFFSETX Devices that support offset Y should set the flag FRAMEBUFFER_FLAG_OFFSETY

◆ framebuffer_device_get_palette()

uint32_t STDCALL framebuffer_device_get_palette ( FRAMEBUFFER_DEVICE * framebuffer,
FRAMEBUFFER_PALETTE * palette )

Get the 8 bit color palette from a framebuffer device.

Parameters
FramebufferThe framebuffer device to get the palette from
PalettePointer to a TFramebufferPalette structure for the palette data
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
Not all framebuffer devices support 8 bit palette, returns ERROR_CALL_NOT_IMPLEMENTED if not supported

◆ framebuffer_device_set_palette()

uint32_t STDCALL framebuffer_device_set_palette ( FRAMEBUFFER_DEVICE * framebuffer,
FRAMEBUFFER_PALETTE * palette )

Set the 8 bit color palette of a framebuffer device.

Parameters
FramebufferThe framebuffer device to set the palette for
PalettePointer to a TFramebufferPalette structure for the palette data
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
Not all framebuffer devices support 8 bit palette, returns ERROR_CALL_NOT_IMPLEMENTED if not supported

◆ framebuffer_device_set_backlight()

uint32_t STDCALL framebuffer_device_set_backlight ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t brightness )

Set the brightness of the backlight of a framebuffer device.

Parameters
FramebufferThe framebuffer device to set the backlight
BrightnessThe brightness value to set (Normally 0 to 100)
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
Not all framebuffer devices support set backlight, returns ERROR_CALL_NOT_IMPLEMENTED if not supported Devices that support set backlight should set the flag FRAMEBUFFER_FLAG_BACKLIGHT

◆ framebuffer_device_set_cursor()

uint32_t STDCALL framebuffer_device_set_cursor ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t width,
uint32_t height,
uint32_t hotspotx,
uint32_t hotspoty,
void * image,
uint32_t len )

Set the mouse cursor image and properties of a framebuffer device.

Parameters
FramebufferThe framebuffer device to set the cursor
WidthThe width of the cursor image in pixels
HeightThe height of the cursor image in pixels
HotspotXThe X hotspot of the cursor image, where the cursor X location will be (Normally 0)
HotspotYThe Y hotspot of the cursor image, where the cursor Y location will be (Normally 0)
ImageA buffer containing the cursor image pixels in COLOR_FORMAT_DEFAULT format
LenThe length of the image buffer in bytes
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
For devices that don't support hardware mouse cursor a software cursor will be implemented If image is nil then the default cursor image will be used

◆ framebuffer_device_update_cursor()

uint32_t STDCALL framebuffer_device_update_cursor ( FRAMEBUFFER_DEVICE * framebuffer,
BOOL enabled,
int32_t x,
int32_t y,
BOOL relative )

Update the position and state for the mouse cursor of a framebuffer device.

Parameters
FramebufferThe framebuffer device to update the cursor
EnabledIf true then show the cursor else hide it
XThe cursor X location in pixels
YThe cursor Y location in pixels
RelativeIf true then X and Y are considered relative to the current position
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
For devices that don't support hardware mouse cursor a software cursor will be implemented

◆ framebuffer_device_get_properties()

uint32_t STDCALL framebuffer_device_get_properties ( FRAMEBUFFER_DEVICE * framebuffer,
FRAMEBUFFER_PROPERTIES * properties )

Get the current properties from a framebuffer device.

Parameters
FramebufferThe framebuffer device to get properties from
PropertiesPointer to a TFramebufferProperties structure to return
Returns
ERROR_SUCCESS if completed or another error code on failure

◆ framebuffer_device_set_properties()

uint32_t STDCALL framebuffer_device_set_properties ( FRAMEBUFFER_DEVICE * framebuffer,
FRAMEBUFFER_PROPERTIES * properties )

Set the current properties for a framebuffer device.

Parameters
FramebufferThe framebuffer device to set properties for
PropertiesPointer to a TFramebufferProperties structure containing the properties
Returns
ERROR_SUCCESS if completed or another error code on failure
Note
Changing certain properties may cause the framebuffer to be reallocated

◆ framebuffer_device_check_flag()

BOOL STDCALL framebuffer_device_check_flag ( FRAMEBUFFER_DEVICE * framebuffer,
uint32_t flag )

Check if a framebuffer device supports a flag value.

Parameters
FramebufferThe framebuffer device to check
FlagThe framebuffer flag to check (eg FRAMEBUFFER_FLAG_BACKLIGHT)
Returns
True if flag is supported, False if not or on error

◆ framebuffer_device_get_format()

uint32_t STDCALL framebuffer_device_get_format ( FRAMEBUFFER_DEVICE * framebuffer)

Get the color format of a framebuffer device.

Parameters
FramebufferThe framebuffer device to get from
Returns
The color format of the framebuffer (eg COLOR_FORMAT_RGB24)

◆ framebuffer_device_create()

FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_create ( void )

Create a new Framebuffer entry.

Returns
Pointer to new Framebuffer entry or nil if Framebuffer could not be created

◆ framebuffer_device_create_ex()

FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_create_ex ( uint32_t size)

Create a new Framebuffer entry.

Parameters
SizeSize in bytes to allocate for new Framebuffer (Including the Framebuffer entry)
Returns
Pointer to new Framebuffer entry or nil if Framebuffer could not be created

◆ framebuffer_device_destroy()

uint32_t STDCALL framebuffer_device_destroy ( FRAMEBUFFER_DEVICE * framebuffer)

Destroy an existing Framebuffer entry.

Parameters
FramebufferThe framebuffer device to destroy
Returns
ERROR_SUCCESS if completed or another error code on failure

◆ framebuffer_device_register()

uint32_t STDCALL framebuffer_device_register ( FRAMEBUFFER_DEVICE * framebuffer)

Register a new Framebuffer in the Framebuffer table.

Parameters
FramebufferThe framebuffer device to register
Returns
ERROR_SUCCESS if completed or another error code on failure

◆ framebuffer_device_deregister()

uint32_t STDCALL framebuffer_device_deregister ( FRAMEBUFFER_DEVICE * framebuffer)

Deregister a Framebuffer from the Framebuffer table.

Parameters
FramebufferThe framebuffer device to deregister
Returns
ERROR_SUCCESS if completed or another error code on failure

◆ framebuffer_device_find()

FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_find ( uint32_t framebufferid)

Find a framebuffer device by ID in the framebuffer table.

Parameters
FramebufferIdThe ID number of the framebuffer to find
Returns
Pointer to framebuffer device entry or nil if not found

◆ framebuffer_device_find_by_name()

FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_find_by_name ( const char * name)

Find a framebuffer device by name in the framebuffer table.

Parameters
NameThe name of the framebuffer to find (eg Framebuffer0)
Returns
Pointer to framebuffer device entry or nil if not found

◆ framebuffer_device_find_by_description()

FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_find_by_description ( const char * description)

Find a framebuffer device by description in the framebuffer table.

Parameters
DescriptionThe description of the framebuffer to find (eg BCM2836 Framebuffer)
Returns
Pointer to framebuffer device entry or nil if not found

◆ framebuffer_device_enumerate()

uint32_t STDCALL framebuffer_device_enumerate ( framebuffer_enumerate_cb callback,
void * data )

Enumerate all framebuffer devices in the framebuffer table.

Parameters
CallbackThe callback function to call for each framebuffer in the table
DataA private data pointer to pass to callback for each framebuffer in the table
Returns
ERROR_SUCCESS if completed or another error code on failure

◆ framebuffer_device_notification()

uint32_t STDCALL framebuffer_device_notification ( FRAMEBUFFER_DEVICE * framebuffer,
framebuffer_notification_cb callback,
void * data,
uint32_t notification,
uint32_t flags )

Register a notification for framebuffer device changes.

Parameters
FramebufferThe framebuffer device to notify changes for (Optional, pass nil for all framebuffer devices)
CallbackThe function to call when a notification event occurs
DataA private data pointer to pass to callback when a notification event occurs
NotificationThe events to register for notification of (eg DEVICE_NOTIFICATION_REGISTER)
FlagsThe flags to control the notification (eg NOTIFIER_FLAG_WORKER)

◆ framebuffer_device_get_count()

uint32_t STDCALL framebuffer_device_get_count ( void )

Get the current framebuffer device count.

Framebuffer Helper Functions

◆ framebuffer_device_get_default()

FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_get_default ( void )

Get the current default framebuffer device.

◆ framebuffer_device_set_default()

uint32_t STDCALL framebuffer_device_set_default ( FRAMEBUFFER_DEVICE * framebuffer)

Set the current default framebuffer device.

◆ framebuffer_device_check()

FRAMEBUFFER_DEVICE *STDCALL framebuffer_device_check ( FRAMEBUFFER_DEVICE * framebuffer)

Check if the supplied Framebuffer device is in the Framebuffer table.

◆ framebuffer_device_swap()

uint32_t STDCALL framebuffer_device_swap ( uint32_t value)

No longer required (See ColorDefaultToFormat and ColorFormatToDefault).

◆ framebuffer_type_to_string()

uint32_t STDCALL framebuffer_type_to_string ( uint32_t framebuffertype,
char * string,
uint32_t len )

Convert a Framebuffer type value to a string.

◆ framebuffer_state_to_string()

uint32_t STDCALL framebuffer_state_to_string ( uint32_t framebufferstate,
char * string,
uint32_t len )

Convert a Framebuffer state value to a string.

◆ framebuffer_device_hide_cursor()

void STDCALL framebuffer_device_hide_cursor ( FRAMEBUFFER_DEVICE * framebuffer)

Restore the framebuffer area under the cursor from the cursor buffer.

Note
Caller must hold the framebuffer lock
Driver support function only, not intended for direct use by applications

◆ framebuffer_device_show_cursor()

void STDCALL framebuffer_device_show_cursor ( FRAMEBUFFER_DEVICE * framebuffer)

Save the framebuffer area under the cursor to the cursor buffer and merge the cursor input with it to create the cursor output. Put the output to the framebuffer.

Note
Caller must hold the framebuffer lock
Driver support function only, not intended for direct use by applications

◆ framebuffer_cursor_to_string()

uint32_t STDCALL framebuffer_cursor_to_string ( uint32_t state,
char * string,
uint32_t len )

◆ framebuffer_depth_to_string()

uint32_t STDCALL framebuffer_depth_to_string ( uint32_t depth,
char * string,
uint32_t len )

◆ framebuffer_order_to_string()

uint32_t STDCALL framebuffer_order_to_string ( uint32_t order,
char * string,
uint32_t len )

◆ framebuffer_mode_to_string()

uint32_t STDCALL framebuffer_mode_to_string ( uint32_t mode,
char * string,
uint32_t len )

◆ framebuffer_rotation_to_string()

uint32_t STDCALL framebuffer_rotation_to_string ( uint32_t rotation,
char * string,
uint32_t len )