Difference between revisions of "Unit Framebuffer"
Line 715: | Line 715: | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
<pre style="border: 0; padding-bottom:0px;">procedure FramebufferInit;</pre> | <pre style="border: 0; padding-bottom:0px;">procedure FramebufferInit;</pre> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' | + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Initialize the Framebuffer unit and Framebuffer device table</div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
! '''Note''' | ! '''Note''' | ||
− | | | + | | Called only during system startup |
|- | |- | ||
|} | |} | ||
Line 1,235: | Line 1,235: | ||
! '''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. | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceSetCursor(Framebuffer:PFramebufferDevice; Width,Height,HotspotX,HotspotY:LongWord; Image:Pointer; Len:LongWord):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Set the mouse cursor image and properties of a framebuffer device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Framebuffer''' | ||
+ | | The framebuffer device to set the cursor | ||
+ | |- | ||
+ | ! '''Width''' | ||
+ | | The width of the cursor image in pixels | ||
+ | |- | ||
+ | ! '''Height''' | ||
+ | | The height of the cursor image in pixels | ||
+ | |- | ||
+ | ! '''HotspotX''' | ||
+ | | The X hotspot of the cursor image, where the cursor X location will be (Normally 0) | ||
+ | |- | ||
+ | ! '''HotspotY''' | ||
+ | | The Y hotspot of the cursor image, where the cursor Y location will be (Normally 0) | ||
+ | |- | ||
+ | ! '''Image''' | ||
+ | | A buffer containing the cursor image pixels in COLOR_FORMAT_DEFAULT format | ||
+ | |- | ||
+ | ! '''Len''' | ||
+ | | The length of the image buffer in bytes | ||
+ | |- | ||
+ | ! '''Return''' | ||
+ | | 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 | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceUpdateCursor(Framebuffer:PFramebufferDevice; Enabled:Boolean; X,Y:LongInt; Relative:Boolean):LongWord;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Update the position and state for the mouse cursor of a framebuffer device</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Framebuffer''' | ||
+ | | The framebuffer device to update the cursor | ||
+ | |- | ||
+ | ! '''Enabled''' | ||
+ | | If true then show the cursor else hide it | ||
+ | |- | ||
+ | ! '''X''' | ||
+ | | The cursor X location in pixels | ||
+ | |- | ||
+ | ! '''Y''' | ||
+ | | The cursor Y location in pixels | ||
+ | |- | ||
+ | ! '''Relative''' | ||
+ | | If true then X and Y are considered relative to the current position | ||
+ | |- | ||
+ | ! '''Return''' | ||
+ | | 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 | ||
|- | |- | ||
|} | |} | ||
Line 1,280: | Line 1,347: | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
<pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceCheckFlag(Framebuffer:PFramebufferDevice; Flag:LongWord):Boolean;</pre> | <pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceCheckFlag(Framebuffer:PFramebufferDevice; Flag:LongWord):Boolean;</pre> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' | + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Check if a framebuffer device supports a flag value</div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! ''' | + | ! '''Framebuffer''' |
− | | | + | | The framebuffer device to check |
+ | |- | ||
+ | ! '''Flag''' | ||
+ | | The framebuffer flag to check (eg FRAMEBUFFER_FLAG_BACKLIGHT) | ||
+ | |- | ||
+ | ! '''Return''' | ||
+ | | True if flag is supported, False if not or on error | ||
|- | |- | ||
|} | |} | ||
Line 1,292: | Line 1,365: | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
<pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceGetFormat(Framebuffer:PFramebufferDevice):LongWord;</pre> | <pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceGetFormat(Framebuffer:PFramebufferDevice):LongWord;</pre> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' | + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Get the color format of a framebuffer device</div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! ''' | + | ! '''Framebuffer''' |
− | | | + | | The framebuffer device to get from |
+ | |- | ||
+ | ! '''Return''' | ||
+ | | The color format of the framebuffer (eg COLOR_FORMAT_RGB24) | ||
|- | |- | ||
|} | |} | ||
Line 1,335: | Line 1,411: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! ''' | + | ! '''Framebuffer''' |
− | | | + | | The framebuffer device to destroy |
+ | |- | ||
+ | ! '''Return''' | ||
+ | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
|} | |} | ||
Line 1,347: | Line 1,426: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! ''' | + | ! '''Framebuffer''' |
− | | | + | | The framebuffer device to register |
+ | |- | ||
+ | ! '''Return''' | ||
+ | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
|} | |} | ||
Line 1,359: | Line 1,441: | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! ''' | + | ! '''Framebuffer''' |
− | | | + | | The framebuffer device to deregister |
+ | |- | ||
+ | ! '''Return''' | ||
+ | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
|} | |} | ||
Line 1,367: | Line 1,452: | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
<pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceFind(FramebufferId:LongWord):PFramebufferDevice;</pre> | <pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceFind(FramebufferId:LongWord):PFramebufferDevice;</pre> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' | + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Find a framebuffer device by ID in the framebuffer table</div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! ''' | + | ! '''FramebufferId''' |
− | | | + | | The ID number of the framebuffer to find |
+ | |- | ||
+ | ! '''Return''' | ||
+ | | Pointer to framebuffer device entry or nil if not found | ||
|- | |- | ||
|} | |} | ||
Line 1,379: | Line 1,467: | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
<pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceFindByName(const Name:String):PFramebufferDevice; inline;</pre> | <pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceFindByName(const Name:String):PFramebufferDevice; inline;</pre> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' | + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Find a framebuffer device by name in the framebuffer table</div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! ''' | + | ! '''Name''' |
− | | | + | | The name of the framebuffer to find (eg Framebuffer0) |
+ | |- | ||
+ | ! '''Return''' | ||
+ | | Pointer to framebuffer device entry or nil if not found | ||
|- | |- | ||
|} | |} | ||
Line 1,391: | Line 1,482: | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
<pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceFindByDescription(const Description:String):PFramebufferDevice; inline;</pre> | <pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceFindByDescription(const Description:String):PFramebufferDevice; inline;</pre> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' | + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Find a framebuffer device by description in the framebuffer table</div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! ''' | + | ! '''Description''' |
− | | | + | | The description of the framebuffer to find (eg BCM2836 Framebuffer) |
+ | |- | ||
+ | ! '''Return''' | ||
+ | | Pointer to framebuffer device entry or nil if not found | ||
|- | |- | ||
|} | |} | ||
Line 1,403: | Line 1,497: | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
<pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceEnumerate(Callback:TFramebufferEnumerate; Data:Pointer):LongWord;</pre> | <pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceEnumerate(Callback:TFramebufferEnumerate; Data:Pointer):LongWord;</pre> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' | + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Enumerate all framebuffer devices in the framebuffer table</div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! ''' | + | ! '''Callback''' |
− | | | + | | The callback function to call for each framebuffer in the table |
+ | |- | ||
+ | ! '''Data''' | ||
+ | | A private data pointer to pass to callback for each framebuffer in the table | ||
+ | |- | ||
+ | ! '''Return''' | ||
+ | | ERROR_SUCCESS if completed or another error code on failure | ||
|- | |- | ||
|} | |} | ||
Line 1,415: | Line 1,515: | ||
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
<pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceNotification(Framebuffer:PFramebufferDevice; Callback:TFramebufferNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;</pre> | <pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceNotification(Framebuffer:PFramebufferDevice; Callback:TFramebufferNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;</pre> | ||
− | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' | + | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Register a notification for framebuffer device changes</div> |
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" | ||
|- | |- | ||
− | ! ''' | + | ! '''Framebuffer''' |
− | | | + | | The framebuffer device to notify changes for (Optional, pass nil for all framebuffer devices) |
+ | |- | ||
+ | ! '''Callback''' | ||
+ | | The function to call when a notification event occurs | ||
+ | |- | ||
+ | ! '''Data''' | ||
+ | | A private data pointer to pass to callback when a notification event occurs | ||
+ | |- | ||
+ | ! '''Notification''' | ||
+ | | The events to register for notification of (eg DEVICE_NOTIFICATION_REGISTER) | ||
+ | |- | ||
+ | ! '''Flags''' | ||
+ | | The flags to control the notification (eg NOTIFIER_FLAG_WORKER) | ||
|- | |- | ||
|} | |} | ||
Line 1,494: | Line 1,606: | ||
<pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceSwap(Value:LongWord):LongWord; inline;</pre> | <pre style="border: 0; padding-bottom:0px;">function FramebufferDeviceSwap(Value:LongWord):LongWord; inline;</pre> | ||
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' No longer required (See ColorDefaultToFormat and ColorFormatToDefault)</div> | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' No longer required (See ColorDefaultToFormat and ColorFormatToDefault)</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | None documented | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">procedure FramebufferDeviceHideCursor(Framebuffer:PFramebufferDevice);</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' Restore the framebuffer area under the cursor from the cursor buffer</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | Caller must hold the framebuffer lock | ||
+ | Driver support function only, not intended for direct use by applications | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">procedure FramebufferDeviceShowCursor(Framebuffer:PFramebufferDevice);</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''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</div> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | ! '''Note''' | ||
+ | | Caller must hold the framebuffer lock | ||
+ | Driver support function only, not intended for direct use by applications | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;"> | ||
+ | <pre style="border: 0; padding-bottom:0px;">function FramebufferCursorToString(State:LongWord):String;</pre> | ||
+ | <div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div> | ||
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
{| class="wikitable" style="font-size: 14px; background: white;" | {| class="wikitable" style="font-size: 14px; background: white;" |
Revision as of 03:44, 23 March 2018
Return to Unit Reference
Contents
[hide]Description
Ultibo Framebuffer interface unit
To be documented
Constants
FRAMEBUFFER_*
FRAMEBUFFER_TYPE_*
FRAMEBUFFER_STATE_*
FRAMEBUFFER_CURSOR_*
FRAMEBUFFER_FLAG_*
FRAMEBUFFER_TRANSFER_*
Type definitions
Framebuffer palette
Framebuffer properties
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
Public variables
Initialization handlers
FramebufferInitHandler:TFramebufferInit;
|
Function declarations
Initialization functions
procedure FramebufferInit;
Framebuffer functions
function FramebufferDeviceAllocate(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;
function FramebufferDeviceRelease(Framebuffer:PFramebufferDevice):LongWord;
function FramebufferDeviceBlank(Framebuffer:PFramebufferDevice; Blank:Boolean):LongWord;
function FramebufferDeviceRead(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Len,Flags:LongWord):LongWord;
function FramebufferDeviceWrite(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Len,Flags:LongWord):LongWord;
function FramebufferDeviceMark(Framebuffer:PFramebufferDevice; X,Y,Width,Height,Flags:LongWord):LongWord;
function FramebufferDeviceCommit(Framebuffer:PFramebufferDevice; Address,Size,Flags:LongWord):LongWord;
function FramebufferDeviceGetRect(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Width,Height,Skip,Flags:LongWord):LongWord;
function FramebufferDevicePutRect(Framebuffer:PFramebufferDevice; X,Y:LongWord;Buffer:Pointer; Width,Height,Skip,Flags:LongWord):LongWord;
function FramebufferDeviceCopyRect(Framebuffer:PFramebufferDevice; X1,Y1,X2,Y2,Width,Height,Flags:LongWord):LongWord;
function FramebufferDeviceFillRect(Framebuffer:PFramebufferDevice; X,Y,Width,Height,Color,Flags:LongWord):LongWord;
function FramebufferDeviceGetLine(Framebuffer:PFramebufferDevice; Y:LongWord):Pointer;
function FramebufferDeviceGetPoint(Framebuffer:PFramebufferDevice; X,Y:LongWord):Pointer;
function FramebufferDeviceWaitSync(Framebuffer:PFramebufferDevice):LongWord;
function FramebufferDeviceGetOffset(Framebuffer:PFramebufferDevice; var X,Y:LongWord):LongWord;
function FramebufferDeviceSetOffset(Framebuffer:PFramebufferDevice; X,Y:LongWord; Pan:Boolean):LongWord;
function FramebufferDeviceGetPalette(Framebuffer:PFramebufferDevice; Palette:PFramebufferPalette):LongWord;
function FramebufferDeviceSetPalette(Framebuffer:PFramebufferDevice; Palette:PFramebufferPalette):LongWord;
function FramebufferDeviceSetBacklight(Framebuffer:PFramebufferDevice; Brightness:LongWord):LongWord;
function FramebufferDeviceSetCursor(Framebuffer:PFramebufferDevice; Width,Height,HotspotX,HotspotY:LongWord; Image:Pointer; Len:LongWord):LongWord;
function FramebufferDeviceUpdateCursor(Framebuffer:PFramebufferDevice; Enabled:Boolean; X,Y:LongInt; Relative:Boolean):LongWord;
function FramebufferDeviceGetProperties(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;
function FramebufferDeviceSetProperties(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;
function FramebufferDeviceCheckFlag(Framebuffer:PFramebufferDevice; Flag:LongWord):Boolean;
function FramebufferDeviceGetFormat(Framebuffer:PFramebufferDevice):LongWord;
function FramebufferDeviceCreate:PFramebufferDevice;
function FramebufferDeviceCreateEx(Size:LongWord):PFramebufferDevice;
function FramebufferDeviceDestroy(Framebuffer:PFramebufferDevice):LongWord;
function FramebufferDeviceRegister(Framebuffer:PFramebufferDevice):LongWord;
function FramebufferDeviceDeregister(Framebuffer:PFramebufferDevice):LongWord;
function FramebufferDeviceFind(FramebufferId:LongWord):PFramebufferDevice;
function FramebufferDeviceFindByName(const Name:String):PFramebufferDevice; inline;
function FramebufferDeviceFindByDescription(const Description:String):PFramebufferDevice; inline;
function FramebufferDeviceEnumerate(Callback:TFramebufferEnumerate; Data:Pointer):LongWord;
function FramebufferDeviceNotification(Framebuffer:PFramebufferDevice; Callback:TFramebufferNotification; Data:Pointer; Notification,Flags:LongWord):LongWord;
RTL framebuffer functions
function SysFramebufferAvailable:Boolean;
Framebuffer helper functions
function FramebufferDeviceGetCount:LongWord; inline;
function FramebufferDeviceGetDefault:PFramebufferDevice; inline;
function FramebufferDeviceSetDefault(Framebuffer:PFramebufferDevice):LongWord;
function FramebufferDeviceCheck(Framebuffer:PFramebufferDevice):PFramebufferDevice;
function FramebufferDeviceSwap(Value:LongWord):LongWord; inline;
procedure FramebufferDeviceHideCursor(Framebuffer:PFramebufferDevice);
procedure FramebufferDeviceShowCursor(Framebuffer:PFramebufferDevice);
function FramebufferRotationToString(Rotation:LongWord):String;
Return to Unit Reference