Difference between revisions of "Unit Framebuffer"

From Ultibo.org
Jump to: navigation, search
Line 719: Line 719:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Called only during system startup
 
| Called only during system startup
 
|-
 
|-
Line 734: Line 734:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to allocate
 
| The framebuffer device to allocate
 
|-
 
|-
! '''Properties'''
+
! Properties
 
| The framebuffer properties (Width/Height/Depth etc) to use for allocation (Optional)
 
| The framebuffer properties (Width/Height/Depth etc) to use for allocation (Optional)
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
Line 752: Line 752:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to release
 
| The framebuffer device to release
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
Line 767: Line 767:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to blank
 
| The framebuffer device to blank
 
|-
 
|-
! '''Blank'''
+
! Blank
 
| Turn off the display if True/Turn on the display if False
 
| Turn off the display if True/Turn on the display if False
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! 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.
+
| 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
 
|-
 
|-
 
|}
 
|}
Line 788: Line 788:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to read from
 
| The framebuffer device to read from
 
|-
 
|-
! '''X'''
+
! X
 
| The column to start reading from
 
| The column to start reading from
 
|-
 
|-
! '''Y'''
+
! Y
 
| The row to start reading from
 
| The row to start reading from
 
|-
 
|-
! '''Buffer'''
+
! Buffer
 
| Pointer to a buffer to receive the read pixels
 
| Pointer to a buffer to receive the read pixels
 
|-
 
|-
! '''Len'''
+
! Len
 
| The number of pixels to read starting at X,Y
 
| The number of pixels to read starting at X,Y
 
|-
 
|-
! '''Flags'''
+
! Flags
 
| The flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
| The flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| Pixel data will be returned in the color format of the framebuffer. The default method assumes that framebuffer memory is DMA coherent and does not require cache cleaning before a DMA read.
 
| Pixel data will be returned in the color format of the framebuffer. The default method assumes that framebuffer memory is DMA coherent and does not require cache cleaning before a DMA read.
 
|-
 
|-
Line 821: Line 821:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to write to
 
| The framebuffer device to write to
 
|-
 
|-
! '''X'''
+
! X
 
| The column to start writing from
 
| The column to start writing from
 
|-
 
|-
! '''Y'''
+
! Y
 
| The row to start writing from
 
| The row to start writing from
 
|-
 
|-
! '''Buffer'''
+
! Buffer
 
| Pointer to a buffer containing the pixels to write
 
| Pointer to a buffer containing the pixels to write
 
|-
 
|-
! '''Len'''
+
! Len
 
| The number of pixels to write starting at X,Y
 
| The number of pixels to write starting at X,Y
 
|-
 
|-
! '''Flags'''
+
! Flags
 
| The flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
| The flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| Caller must ensure pixel data is in the correct color format for the framebuffer. The default method assumes that framebuffer memory is DMA coherent and does not require cache invalidation after a DMA write.
 
| Caller must ensure pixel data is in the correct color format for the framebuffer. The default method assumes that framebuffer memory is DMA coherent and does not require cache invalidation after a DMA write.
 
|-
 
|-
Line 854: Line 854:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to mark
 
| The framebuffer device to mark
 
|-
 
|-
! '''X'''
+
! X
 
| The starting column of the mark
 
| The starting column of the mark
 
|-
 
|-
! '''Y'''
+
! Y
 
| The starting row of the mark
 
| The starting row of the mark
 
|-
 
|-
! '''Width'''
+
! Width
 
| The number of columns to mark
 
| The number of columns to mark
 
|-
 
|-
! '''Height'''
+
! Height
 
| The number of rows to mark
 
| The number of rows to mark
 
|-
 
|-
! '''Flags'''
+
! Flags
 
| The flags used for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
| The flags used for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
| 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.
+
| 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
 
|-
 
|-
 
|}
 
|}
Line 887: Line 887:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to commit
 
| The framebuffer device to commit
 
|-
 
|-
! '''Address'''
+
! Address
 
| The starting address of the commit
 
| The starting address of the commit
 
|-
 
|-
! '''Size'''
+
! Size
 
| The size in bytes of the commit
 
| The size in bytes of the commit
 
|-
 
|-
! '''Flags'''
+
! Flags
 
| The flags used for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
| The flags used for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! 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.
+
| 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
 
|-
 
|-
 
|}
 
|}
Line 914: Line 914:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to get from
 
| The framebuffer device to get from
 
|-
 
|-
! '''X'''
+
! X
 
| The starting column of the get
 
| The starting column of the get
 
|-
 
|-
! '''Y'''
+
! Y
 
| The starting row of the get
 
| The starting row of the get
 
|-
 
|-
! '''Buffer'''
+
! Buffer
 
| Pointer to a block of memory large enough to hold the pixels in a contiguous block of rows
 
| Pointer to a block of memory large enough to hold the pixels in a contiguous block of rows
 
|-
 
|-
! '''Width'''
+
! Width
 
| The number of columns to get
 
| The number of columns to get
 
|-
 
|-
! '''Height'''
+
! Height
 
| The number of rows to get
 
| The number of rows to get
 
|-
 
|-
! '''Skip'''
+
! Skip
 
| The number of pixels to skip in the buffer after each row (Optional)
 
| The number of pixels to skip in the buffer after each row (Optional)
 
|-
 
|-
! '''Flags'''
+
! Flags
 
| The flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
| The flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| Pixel data will be returned in the color format of the framebuffer. The default method assumes that framebuffer memory is DMA coherent and does not require cache cleaning before a DMA read.
 
| Pixel data will be returned in the color format of the framebuffer. The default method assumes that framebuffer memory is DMA coherent and does not require cache cleaning before a DMA read.
 
|-
 
|-
Line 953: Line 953:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to put to
 
| The framebuffer device to put to
 
|-
 
|-
! '''X'''
+
! X
 
| The starting column of the put
 
| The starting column of the put
 
|-
 
|-
! '''Y'''
+
! Y
 
| The starting row of the put
 
| The starting row of the put
 
|-
 
|-
! '''Buffer'''
+
! Buffer
 
| Pointer to a block of memory containing the pixels in a contiguous block of rows
 
| Pointer to a block of memory containing the pixels in a contiguous block of rows
 
|-
 
|-
! '''Width'''
+
! Width
 
| The number of columns to put
 
| The number of columns to put
 
|-
 
|-
! '''Height'''
+
! Height
 
| The number of rows to put
 
| The number of rows to put
 
|-
 
|-
! '''Skip'''
+
! Skip
 
| The number of pixels to skip in the buffer after each row (Optional)
 
| The number of pixels to skip in the buffer after each row (Optional)
 
|-
 
|-
! '''Flags'''
+
! Flags
 
| The flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
| The flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| Caller must ensure pixel data is in the correct color format for the framebuffer. The default method assumes that framebuffer memory is DMA coherent and does not require cache invalidation after a DMA write.
 
| Caller must ensure pixel data is in the correct color format for the framebuffer. The default method assumes that framebuffer memory is DMA coherent and does not require cache invalidation after a DMA write.
 
|-
 
|-
Line 992: Line 992:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to copy on
 
| The framebuffer device to copy on
 
|-
 
|-
! '''X1'''
+
! X1
 
| The starting column to copy from
 
| The starting column to copy from
 
|-
 
|-
! '''Y1'''
+
! Y1
 
| The starting row to copy from
 
| The starting row to copy from
 
|-
 
|-
! '''X2'''
+
! X2
 
| The starting column to copy to
 
| The starting column to copy to
 
|-
 
|-
! '''Y2'''
+
! Y2
 
| The starting row to copy to
 
| The starting row to copy to
 
|-
 
|-
! '''Width'''
+
! Width
 
| The number of columns to copy
 
| The number of columns to copy
 
|-
 
|-
! '''Height'''
+
! Height
 
| The number of rows to copy  
 
| The number of rows to copy  
 
|-
 
|-
! '''Flags'''
+
! Flags
 
| The flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
| The flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| The default method assumes that framebuffer memory is DMA coherent and does not require cache clean/invalidate before or after a DMA read/write.
 
| The default method assumes that framebuffer memory is DMA coherent and does not require cache clean/invalidate before or after a DMA read/write.
 
|-
 
|-
Line 1,031: Line 1,031:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to fill on
 
| The framebuffer device to fill on
 
|-
 
|-
! '''X'''
+
! X
 
| The starting column of the fill
 
| The starting column of the fill
 
|-
 
|-
! '''Y'''
+
! Y
 
| The starting row of the fill
 
| The starting row of the fill
 
|-
 
|-
! '''Width'''
+
! Width
 
| The number of columns to fill
 
| The number of columns to fill
 
|-
 
|-
! '''Height'''
+
! Height
 
| The number of rows to fill
 
| The number of rows to fill
 
|-
 
|-
! '''Color'''
+
! Color
 
| The color to use for the fill
 
| The color to use for the fill
 
|-
 
|-
! '''Flags'''
+
! Flags
 
| The flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
| The flags for the transfer (eg FRAMEBUFFER_TRANSFER_DMA)
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| Color must be specified in the correct format for the framebuffer. The default method assumes that framebuffer memory is DMA coherent and does not require cache invalidation after a DMA write.
 
| Color must be specified in the correct format for the framebuffer. The default method assumes that framebuffer memory is DMA coherent and does not require cache invalidation after a DMA write.
 
|-
 
|-
Line 1,067: Line 1,067:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to get the start address from
 
| The framebuffer device to get the start address from
 
|-
 
|-
! '''Y'''
+
! Y
 
| The row to get the start address of
 
| The row to get the start address of
 
|-
 
|-
! '''Return'''
+
! Return
 
| Pointer to the start address of the row or nil on failure
 
| Pointer to the start address of the row or nil on failure
 
|-
 
|-
Line 1,085: Line 1,085:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to get the address from
 
| The framebuffer device to get the address from
 
|-
 
|-
! '''X'''
+
! X
 
| The column to get the start address of
 
| The column to get the start address of
 
|-
 
|-
! '''Y'''
+
! Y
 
| The row to get the start address of
 
| The row to get the start address of
 
|-
 
|-
! '''Return'''
+
! Return
 
| Pointer to the address of the row and column or nil on failure
 
| Pointer to the address of the row and column or nil on failure
 
|-
 
|-
Line 1,106: Line 1,106:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to wait for
 
| The framebuffer device to wait for
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| Not all framebuffer devices support wait sync, returns ERROR_CALL_NOT_IMPLEMENTED if not supported.
 
| 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
 
Devices that support wait sync should set the flag FRAMEBUFFER_FLAG_SYNC
Line 1,125: Line 1,125:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to get the offset from
 
| The framebuffer device to get the offset from
 
|-
 
|-
! '''X'''
+
! X
 
| The X (Column) offset value in pixels returned from the device if successful
 
| The X (Column) offset value in pixels returned from the device if successful
 
|-
 
|-
! '''Y'''
+
! Y
 
| The Y (Row) offset value in pixels returned from the device if successful
 
| The Y (Row) offset value in pixels returned from the device if successful
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| X and Y are relative to the virtual buffer and NOT the physical screen (Where applicable)
 
| 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
 
Not all framebuffer devices support X and/or Y offset
Line 1,152: Line 1,152:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to set the offset for
 
| The framebuffer device to set the offset for
 
|-
 
|-
! '''X'''
+
! X
 
| The X (Column) offset value in pixels to set
 
| The X (Column) offset value in pixels to set
 
|-
 
|-
! '''Y'''
+
! Y
 
| The Y (Row) offset value in pixels to set
 
| The Y (Row) offset value in pixels to set
 
|-
 
|-
! '''Pan'''
+
! Pan
 
| If True then pan the display without updating the Offset X and/or Y
 
| If True then pan the display without updating the Offset X and/or Y
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| X and Y are relative to the virtual buffer and NOT the physical screen (Where applicable)  
 
| 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
 
Not all framebuffer devices support X and/or Y offset, returns ERROR_CALL_NOT_IMPLEMENTED if not supported
Line 1,182: Line 1,182:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to get the palette from
 
| The framebuffer device to get the palette from
 
|-
 
|-
! '''Palette'''
+
! Palette
 
| Pointer to a TFramebufferPalette structure for the palette data
 
| Pointer to a TFramebufferPalette structure for the palette data
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| Not all framebuffer devices support 8 bit palette, returns ERROR_CALL_NOT_IMPLEMENTED if not supported.
 
| Not all framebuffer devices support 8 bit palette, returns ERROR_CALL_NOT_IMPLEMENTED if not supported.
 
|-
 
|-
Line 1,203: Line 1,203:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to set the palette for
 
| The framebuffer device to set the palette for
 
|-
 
|-
! '''Palette'''
+
! Palette
 
| Pointer to a TFramebufferPalette structure for the palette data
 
| Pointer to a TFramebufferPalette structure for the palette data
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| Not all framebuffer devices support 8 bit palette, returns ERROR_CALL_NOT_IMPLEMENTED if not supported.
 
| Not all framebuffer devices support 8 bit palette, returns ERROR_CALL_NOT_IMPLEMENTED if not supported.
 
|-
 
|-
Line 1,224: Line 1,224:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to set the backlight
 
| The framebuffer device to set the backlight
 
|-
 
|-
! '''Brightness'''
+
! Brightness
 
| The brightness value to set (Normally 0 to 100)
 
| The brightness value to set (Normally 0 to 100)
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! 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.
+
| 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
 
|-
 
|-
 
|}
 
|}
Line 1,245: Line 1,245:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to set the cursor
 
| The framebuffer device to set the cursor
 
|-
 
|-
! '''Width'''
+
! Width
 
| The width of the cursor image in pixels
 
| The width of the cursor image in pixels
 
|-
 
|-
! '''Height'''
+
! Height
 
| The height of the cursor image in pixels
 
| The height of the cursor image in pixels
 
|-
 
|-
! '''HotspotX'''
+
! HotspotX
| The X hotspot of the cursor image, where the cursor X location will be (Normally 0)
+
| The X hotspot of the cursor image, where the cursor X location will be (Normally 0).
 
|-
 
|-
! '''HotspotY'''
+
! HotspotY
| The Y hotspot of the cursor image, where the cursor Y location will be (Normally 0)
+
| The Y hotspot of the cursor image, where the cursor Y location will be (Normally 0).
 
|-
 
|-
! '''Image'''
+
! Image
 
| A buffer containing the cursor image pixels in COLOR_FORMAT_DEFAULT format
 
| A buffer containing the cursor image pixels in COLOR_FORMAT_DEFAULT format
 
|-
 
|-
! '''Len'''
+
! Len
 
| The length of the image buffer in bytes
 
| The length of the image buffer in bytes
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| For devices that don't support hardware mouse cursor a software cursor will be implemented
 
| 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
 
If image is nil then the default cursor image will be used
Line 1,282: Line 1,282:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to update the cursor
 
| The framebuffer device to update the cursor
 
|-
 
|-
! '''Enabled'''
+
! Enabled
 
| If true then show the cursor else hide it
 
| If true then show the cursor else hide it
 
|-
 
|-
! '''X'''
+
! X
 
| The cursor X location in pixels
 
| The cursor X location in pixels
 
|-
 
|-
! '''Y'''
+
! Y
 
| The cursor Y location in pixels
 
| The cursor Y location in pixels
 
|-
 
|-
! '''Relative'''
+
! Relative
 
| If true then X and Y are considered relative to the current position
 
| If true then X and Y are considered relative to the current position
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| For devices that don't support hardware mouse cursor a software cursor will be implemented
 
| For devices that don't support hardware mouse cursor a software cursor will be implemented
 
|-
 
|-
Line 1,312: Line 1,312:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to get properties from
 
| The framebuffer device to get properties from
 
|-
 
|-
! '''Properties'''
+
! Properties
 
| Pointer to a TFramebufferProperties structure to return
 
| Pointer to a TFramebufferProperties structure to return
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
Line 1,330: Line 1,330:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to set properties for
 
| The framebuffer device to set properties for
 
|-
 
|-
! '''Properties'''
+
! Properties
 
| Pointer to a TFramebufferProperties structure containing the properties
 
| Pointer to a TFramebufferProperties structure containing the properties
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
! '''Note'''
+
! Note
 
| Changing certain properties may cause the framebuffer to be reallocated
 
| Changing certain properties may cause the framebuffer to be reallocated
 
|-
 
|-
Line 1,351: Line 1,351:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to check
 
| The framebuffer device to check
 
|-
 
|-
! '''Flag'''
+
! Flag
 
| The framebuffer flag to check (eg FRAMEBUFFER_FLAG_BACKLIGHT)
 
| The framebuffer flag to check (eg FRAMEBUFFER_FLAG_BACKLIGHT)
 
|-
 
|-
! '''Return'''
+
! Return
| True if flag is supported, False if not or on error
+
| True if flag is supported, False if not or on error.
 
|-
 
|-
 
|}
 
|}
Line 1,369: Line 1,369:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to get from
 
| The framebuffer device to get from
 
|-
 
|-
! '''Return'''
+
! Return
 
| The color format of the framebuffer (eg COLOR_FORMAT_RGB24)
 
| The color format of the framebuffer (eg COLOR_FORMAT_RGB24)
 
|-
 
|-
Line 1,384: Line 1,384:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Return'''
+
! Return
 
| Pointer to new Framebuffer entry or nil if Framebuffer could not be created
 
| Pointer to new Framebuffer entry or nil if Framebuffer could not be created
 
|-
 
|-
Line 1,396: Line 1,396:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Size'''
+
! Size
 
| Size in bytes to allocate for new Framebuffer (Including the Framebuffer entry)
 
| Size in bytes to allocate for new Framebuffer (Including the Framebuffer entry)
 
|-
 
|-
! '''Return'''
+
! Return
 
| Pointer to new Framebuffer entry or nil if Framebuffer could not be created
 
| Pointer to new Framebuffer entry or nil if Framebuffer could not be created
 
|-
 
|-
Line 1,411: Line 1,411:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to destroy
 
| The framebuffer device to destroy
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
Line 1,426: Line 1,426:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to register
 
| The framebuffer device to register
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
Line 1,441: Line 1,441:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to deregister
 
| The framebuffer device to deregister
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
Line 1,456: Line 1,456:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''FramebufferId'''
+
! FramebufferId
 
| The ID number of the framebuffer to find
 
| The ID number of the framebuffer to find
 
|-
 
|-
! '''Return'''
+
! Return
 
| Pointer to framebuffer device entry or nil if not found
 
| Pointer to framebuffer device entry or nil if not found
 
|-
 
|-
Line 1,471: Line 1,471:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Name'''
+
! Name
 
| The name of the framebuffer to find (eg Framebuffer0)
 
| The name of the framebuffer to find (eg Framebuffer0)
 
|-
 
|-
! '''Return'''
+
! Return
 
| Pointer to framebuffer device entry or nil if not found
 
| Pointer to framebuffer device entry or nil if not found
 
|-
 
|-
Line 1,486: Line 1,486:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Description'''
+
! Description
 
| The description of the framebuffer to find (eg BCM2836 Framebuffer)
 
| The description of the framebuffer to find (eg BCM2836 Framebuffer)
 
|-
 
|-
! '''Return'''
+
! Return
 
| Pointer to framebuffer device entry or nil if not found
 
| Pointer to framebuffer device entry or nil if not found
 
|-
 
|-
Line 1,501: Line 1,501:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Callback'''
+
! Callback
 
| The callback function to call for each framebuffer in the table
 
| The callback function to call for each framebuffer in the table
 
|-
 
|-
! '''Data'''
+
! Data
 
| A private data pointer to pass to callback for each framebuffer in the table
 
| A private data pointer to pass to callback for each framebuffer in the table
 
|-
 
|-
! '''Return'''
+
! Return
 
| ERROR_SUCCESS if completed or another error code on failure
 
| ERROR_SUCCESS if completed or another error code on failure
 
|-
 
|-
Line 1,519: Line 1,519:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Framebuffer'''
+
! Framebuffer
 
| The framebuffer device to notify changes for (Optional, pass nil for all framebuffer devices)
 
| The framebuffer device to notify changes for (Optional, pass nil for all framebuffer devices)
 
|-
 
|-
! '''Callback'''
+
! Callback
 
| The function to call when a notification event occurs
 
| The function to call when a notification event occurs
 
|-
 
|-
! '''Data'''
+
! Data
 
| A private data pointer to pass to callback when a notification event occurs
 
| A private data pointer to pass to callback when a notification event occurs
 
|-
 
|-
! '''Notification'''
+
! Notification
 
| The events to register for notification of (eg DEVICE_NOTIFICATION_REGISTER)
 
| The events to register for notification of (eg DEVICE_NOTIFICATION_REGISTER)
 
|-
 
|-
! '''Flags'''
+
! Flags
 
| The flags to control the notification (eg NOTIFIER_FLAG_WORKER)
 
| The flags to control the notification (eg NOTIFIER_FLAG_WORKER)
 
|-
 
|-
Line 1,546: Line 1,546:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,561: Line 1,561:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,573: Line 1,573:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,585: Line 1,585:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,597: Line 1,597:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,609: Line 1,609:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,621: Line 1,621:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Caller must hold the framebuffer lock
 
| Caller must hold the framebuffer lock
 
Driver support function only, not intended for direct use by applications
 
Driver support function only, not intended for direct use by applications
Line 1,634: Line 1,634:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| Caller must hold the framebuffer lock
 
| Caller must hold the framebuffer lock
Driver support function only, not intended for direct use by applications
+
Driver support function only, not intended for direct use by applications.
 
|-
 
|-
 
|}
 
|}
Line 1,647: Line 1,647:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,659: Line 1,659:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,671: Line 1,671:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,683: Line 1,683:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-
Line 1,695: Line 1,695:
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
{| class="wikitable" style="font-size: 14px; background: white;"
 
|-
 
|-
! '''Note'''
+
! Note
 
| None documented
 
| None documented
 
|-
 
|-

Revision as of 02:22, 20 April 2018

Return to Unit Reference


Description


Ultibo Framebuffer interface unit

To be documented

Constants



[Expand]
Framebuffer specific constants FRAMEBUFFER_*


[Expand]
Framebuffer device type FRAMEBUFFER_TYPE_*


[Expand]
Framebuffer device state FRAMEBUFFER_STATE_*


[Expand]
Framebuffer cursor state FRAMEBUFFER_CURSOR_*


[Expand]
Framebuffer device flag FRAMEBUFFER_FLAG_*


[Expand]
Framebuffer transfer flag FRAMEBUFFER_TRANSFER_*


Type definitions



Framebuffer palette

[Expand]

PFramebufferPalette = ^TFramebufferPalette;

TFramebufferPalette = record

Framebuffer properties

[Expand]

PFramebufferProperties = ^TFramebufferProperties;

TFramebufferProperties = record

Framebuffer enumeration callback

TFramebufferEnumerate = function(Framebuffer:PFramebufferDevice; Data:Pointer):LongWord;

Framebuffer notification callback

TFramebufferNotification = function(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;

Framebuffer device allocate

TFramebufferDeviceAllocate = function(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;

Framebuffer device release

TFramebufferDeviceRelease = function(Framebuffer:PFramebufferDevice):LongWord;

Framebuffer device blank

TFramebufferDeviceBlank = function(Framebuffer:PFramebufferDevice; Blank:Boolean):LongWord;

Framebuffer device read

TFramebufferDeviceRead = function(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Len,Flags:LongWord):LongWord;

Framebuffer device write

TFramebufferDeviceWrite = function(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Len,Flags:LongWord):LongWord;

Framebuffer device mark

TFramebufferDeviceMark = function(Framebuffer:PFramebufferDevice; X,Y,Width,Height,Flags:LongWord):LongWord;

Framebuffer device commit

TFramebufferDeviceCommit = function(Framebuffer:PFramebufferDevice; Address,Size,Flags:LongWord):LongWord;

Framebuffer device get rect

TFramebufferDeviceGetRect = function(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Width,Height,Skip,Flags:LongWord):LongWord;

Framebuffer device put rect

TFramebufferDevicePutRect = function(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Width,Height,Skip,Flags:LongWord):LongWord;

Framebuffer device copy rect

TFramebufferDeviceCopyRect = function(Framebuffer:PFramebufferDevice; X1,Y1,X2,Y2,Width,Height,Flags:LongWord):LongWord;

Framebuffer device fill rect

TFramebufferDeviceFillRect = function(Framebuffer:PFramebufferDevice; X,Y,Width,Height,Color,Flags:LongWord):LongWord;

Framebuffer device get line

TFramebufferDeviceGetLine = function(Framebuffer:PFramebufferDevice; Y:LongWord):Pointer;

Framebuffer device get point

TFramebufferDeviceGetPoint = function(Framebuffer:PFramebufferDevice; X,Y:LongWord):Pointer;

Framebuffer device wait sync

TFramebufferDeviceWaitSync = function(Framebuffer:PFramebufferDevice):LongWord;

Framebuffer device get offset

TFramebufferDeviceGetOffset = function(Framebuffer:PFramebufferDevice; var X,Y:LongWord):LongWord;

Framebuffer device set offset

TFramebufferDeviceSetOffset = function(Framebuffer:PFramebufferDevice; X,Y:LongWord;Pan:Boolean):LongWord;

Framebuffer device get palette

TFramebufferDeviceGetPalette = function(Framebuffer:PFramebufferDevice; Palette:PFramebufferPalette):LongWord;

Framebuffer device set palette

TFramebufferDeviceSetPalette = function(Framebuffer:PFramebufferDevice; Palette:PFramebufferPalette):LongWord;

Framebuffer device set backlight

TFramebufferDeviceSetBacklight = function(Framebuffer:PFramebufferDevice; Brightness:LongWord):LongWord;

Framebuffer device set cursor

TFramebufferDeviceSetCursor = function(Framebuffer:PFramebufferDevice; Width,Height,HotspotX,HotspotY:LongWord; Image:Pointer; Len:LongWord):LongWord;

Framebuffer device update cursor

TFramebufferDeviceUpdateCursor = function(Framebuffer:PFramebufferDevice; Enabled:Boolean; X,Y:LongInt; Relative:Boolean):LongWord;

Framebuffer device get properties

TFramebufferDeviceGetProperties = function(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;

Framebuffer device set properties

TFramebufferDeviceSetProperties = function(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;

Framebuffer device

[Expand]

PFramebufferDevice = ^TFramebufferDevice;

TFramebufferDevice = record


Public variables



Initialization handlers

FramebufferInitHandler:TFramebufferInit;


Function declarations



Initialization functions

[Expand]
procedure FramebufferInit;
Description: Initialize the Framebuffer unit and Framebuffer device table


Framebuffer functions

[Expand]
function FramebufferDeviceAllocate(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;
Description: Allocate and enable a framebuffer device using supplied properties or defaults


[Expand]
function FramebufferDeviceRelease(Framebuffer:PFramebufferDevice):LongWord;
Description: Disable and release a framebuffer device


[Expand]
function FramebufferDeviceBlank(Framebuffer:PFramebufferDevice; Blank:Boolean):LongWord;
Description: Blank (Turn off) the display of a framebuffer device


[Expand]
function FramebufferDeviceRead(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Len,Flags:LongWord):LongWord;
Description: Read one or more pixels from framebuffer device memory to a supplied buffer


[Expand]
function FramebufferDeviceWrite(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Len,Flags:LongWord):LongWord;
Description: Write one or more pixels to framebuffer device memory from a supplied buffer


[Expand]
function FramebufferDeviceMark(Framebuffer:PFramebufferDevice; X,Y,Width,Height,Flags:LongWord):LongWord;
Description: Mark a region written to the framebuffer and signal the device to take any neccessary actions


[Expand]
function FramebufferDeviceCommit(Framebuffer:PFramebufferDevice; Address,Size,Flags:LongWord):LongWord;
Description: Commit a region written to the framebuffer and signal the device to take any neccessary actions


[Expand]
function FramebufferDeviceGetRect(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Width,Height,Skip,Flags:LongWord):LongWord;
Description: Get a rectangular area of pixels from framebuffer memory to a supplied buffer


[Expand]
function FramebufferDevicePutRect(Framebuffer:PFramebufferDevice; X,Y:LongWord;Buffer:Pointer; Width,Height,Skip,Flags:LongWord):LongWord;
Description: Put a rectangular area of pixels from a supplied buffer to framebuffer memory


[Expand]
function FramebufferDeviceCopyRect(Framebuffer:PFramebufferDevice; X1,Y1,X2,Y2,Width,Height,Flags:LongWord):LongWord;
Description: Copy a rectangular area of pixels within framebuffer memory


[Expand]
function FramebufferDeviceFillRect(Framebuffer:PFramebufferDevice; X,Y,Width,Height,Color,Flags:LongWord):LongWord;
Description: Fill a rectangular area of pixels within framebuffer memory


[Expand]
function FramebufferDeviceGetLine(Framebuffer:PFramebufferDevice; Y:LongWord):Pointer;
Description: Get the address of the start of a row in framebuffer memory


[Expand]
function FramebufferDeviceGetPoint(Framebuffer:PFramebufferDevice; X,Y:LongWord):Pointer;
Description: Get the address of the specified row and column in framebuffer memory


[Expand]
function FramebufferDeviceWaitSync(Framebuffer:PFramebufferDevice):LongWord;
Description: Wait for the next vertical sync signal from the display hardware


[Expand]
function FramebufferDeviceGetOffset(Framebuffer:PFramebufferDevice; var X,Y:LongWord):LongWord;
Description: Get the virtual offset X and Y from a framebuffer device


[Expand]
function FramebufferDeviceSetOffset(Framebuffer:PFramebufferDevice; X,Y:LongWord; Pan:Boolean):LongWord;
Description: Set the virtual offset X and Y of a framebuffer device


[Expand]
function FramebufferDeviceGetPalette(Framebuffer:PFramebufferDevice; Palette:PFramebufferPalette):LongWord;
Description: Get the 8 bit color palette from a framebuffer device


[Expand]
function FramebufferDeviceSetPalette(Framebuffer:PFramebufferDevice; Palette:PFramebufferPalette):LongWord;
Description: Set the 8 bit color palette of a framebuffer device


[Expand]
function FramebufferDeviceSetBacklight(Framebuffer:PFramebufferDevice; Brightness:LongWord):LongWord;
Description: Set the brightness of the backlight of a framebuffer device


[Expand]
function FramebufferDeviceSetCursor(Framebuffer:PFramebufferDevice; Width,Height,HotspotX,HotspotY:LongWord; Image:Pointer; Len:LongWord):LongWord;
Description: Set the mouse cursor image and properties of a framebuffer device


[Expand]
function FramebufferDeviceUpdateCursor(Framebuffer:PFramebufferDevice; Enabled:Boolean; X,Y:LongInt; Relative:Boolean):LongWord;
Description: Update the position and state for the mouse cursor of a framebuffer device


[Expand]
function FramebufferDeviceGetProperties(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;
Description: Get the current properties from a framebuffer device


[Expand]
function FramebufferDeviceSetProperties(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;
Description: Set the current properties for a framebuffer device


[Expand]
function FramebufferDeviceCheckFlag(Framebuffer:PFramebufferDevice; Flag:LongWord):Boolean;
Description: Check if a framebuffer device supports a flag value


[Expand]
function FramebufferDeviceGetFormat(Framebuffer:PFramebufferDevice):LongWord;
Description: Get the color format of a framebuffer device


[Expand]
function FramebufferDeviceCreate:PFramebufferDevice;
Description: Create a new Framebuffer entry


[Expand]
function FramebufferDeviceCreateEx(Size:LongWord):PFramebufferDevice;
Description: Create a new Framebuffer entry


[Expand]
function FramebufferDeviceDestroy(Framebuffer:PFramebufferDevice):LongWord;
Description: Destroy an existing Framebuffer entry


[Expand]
function FramebufferDeviceRegister(Framebuffer:PFramebufferDevice):LongWord;
Description: Register a new Framebuffer in the Framebuffer table


[Expand]
function FramebufferDeviceDeregister(Framebuffer:PFramebufferDevice):LongWord;
Description: Deregister a Framebuffer from the Framebuffer table


[Expand]
function FramebufferDeviceFind(FramebufferId:LongWord):PFramebufferDevice;
Description: Find a framebuffer device by ID in the framebuffer table


[Expand]
function FramebufferDeviceFindByName(const Name:String):PFramebufferDevice; inline;
Description: Find a framebuffer device by name in the framebuffer table


[Expand]
function FramebufferDeviceFindByDescription(const Description:String):PFramebufferDevice; inline;
Description: Find a framebuffer device by description in the framebuffer table


[Expand]
function FramebufferDeviceEnumerate(Callback:TFramebufferEnumerate; Data:Pointer):LongWord;
Description: Enumerate all framebuffer devices in the framebuffer table


[Expand]
function FramebufferDeviceNotification(Framebuffer:PFramebufferDevice; Callback:TFramebufferNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
Description: Register a notification for framebuffer device changes


RTL framebuffer functions

[Expand]
function SysFramebufferAvailable:Boolean;
Description: Check if a framebuffer device is available


Framebuffer helper functions

[Expand]
function FramebufferDeviceGetCount:LongWord; inline;
Description: Get the current framebuffer device count


[Expand]
function FramebufferDeviceGetDefault:PFramebufferDevice; inline;
Description: Get the current default framebuffer device


[Expand]
function FramebufferDeviceSetDefault(Framebuffer:PFramebufferDevice):LongWord;
Description: Set the current default framebuffer device


[Expand]
function FramebufferDeviceCheck(Framebuffer:PFramebufferDevice):PFramebufferDevice;
Description: Check if the supplied Framebuffer device is in the Framebuffer table


[Expand]
function FramebufferDeviceSwap(Value:LongWord):LongWord; inline;
Description: No longer required (See ColorDefaultToFormat and ColorFormatToDefault)


[Expand]
procedure FramebufferDeviceHideCursor(Framebuffer:PFramebufferDevice);
Description: Restore the framebuffer area under the cursor from the cursor buffer


[Expand]
procedure FramebufferDeviceShowCursor(Framebuffer:PFramebufferDevice);
Description: 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


[Expand]
function FramebufferCursorToString(State:LongWord):String;
Description: To be documented


[Expand]
function FramebufferDepthToString(Depth:LongWord):String;
Description: To be documented


[Expand]
function FramebufferOrderToString(Order:LongWord):String;
Description: To be documented


[Expand]
function FramebufferModeToString(Mode:LongWord):String;
Description: To be documented


[Expand]
function FramebufferRotationToString(Rotation:LongWord):String;
Description: To be documented


Return to Unit Reference