Difference between revisions of "Unit Framebuffer"
Line 117: | Line 117: | ||
---- | ---- | ||
− | '' | + | |
+ | '''Framebuffer palette''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PFramebufferPalette = ^TFramebufferPalette;</code> | ||
+ | |||
+ | <code>TFramebufferPalette = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>Start:LongWord;</code> | ||
+ | | The number of the first valid entry in the palette | ||
+ | |- | ||
+ | | <code>Count:LongWord;</code> | ||
+ | | The total number of entries in the palette | ||
+ | |- | ||
+ | | <code>Entries:array[0..255] of LongWord;</code> | ||
+ | | The palette entries in COLOR_FORMAT_DEFAULT format | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''Framebuffer properties''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PFramebufferProperties = ^TFramebufferProperties;</code> | ||
+ | |||
+ | <code>TFramebufferProperties = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | | <code>Flags:LongWord;</code> | ||
+ | | Framebuffer device flags (eg FRAMEBUFFER_FLAG_COMMIT) (Ignored for Allocate / SetProperties) | ||
+ | |- | ||
+ | | <code>Address:LongWord;</code> | ||
+ | | Framebuffer address (Ignored for Allocate / SetProperties) | ||
+ | |- | ||
+ | | <code>Size:LongWord;</code> | ||
+ | | Framebuffer size (Bytes) (Ignored for Allocate / SetProperties) | ||
+ | |- | ||
+ | | <code>Pitch:LongWord;</code> | ||
+ | | Framebuffer pitch (Bytes per Line) (Ignored for Allocate / SetProperties) | ||
+ | |- | ||
+ | | <code>Depth:LongWord;</code> | ||
+ | | Framebuffer depth (Bits per Pixel)(8/16/24/32) | ||
+ | |- | ||
+ | | <code>Order:LongWord;</code> | ||
+ | | Framebuffer pixel order (BGR/RGB) | ||
+ | |- | ||
+ | | <code>Mode:LongWord;</code> | ||
+ | | Framebuffer alpha mode (Enabled/Reversed/Ignored) | ||
+ | |- | ||
+ | | <code>Format:LongWord;</code> | ||
+ | | Framebuffer color format (eg COLOR_FORMAT_ARGB32) (Ignored for Allocate / SetProperties) | ||
+ | |- | ||
+ | | <code>PhysicalWidth:LongWord;</code> | ||
+ | | Framebuffer Physical Width (Pixels) | ||
+ | |- | ||
+ | | <code>PhysicalHeight:LongWord;</code> | ||
+ | | Framebuffer Physical Height (Pixels) | ||
+ | |- | ||
+ | | <code>VirtualWidth:LongWord;</code> | ||
+ | | Framebuffer Virtual Width (Pixels) | ||
+ | |- | ||
+ | | <code>VirtualHeight:LongWord;</code> | ||
+ | | Framebuffer Virtual Height (Pixels) | ||
+ | |- | ||
+ | | <code>OffsetX:LongWord;</code> | ||
+ | | Framebuffer Virtual Offset X (Pixels) | ||
+ | |- | ||
+ | | <code>OffsetY:LongWord;</code> | ||
+ | | Framebuffer Virtual Offset Y (Pixels) | ||
+ | |- | ||
+ | | <code>OverscanTop:LongWord;</code> | ||
+ | | Framebuffer Overscan Top (Pixels) | ||
+ | |- | ||
+ | | <code>OverscanBottom:LongWord;</code> | ||
+ | | Framebuffer Overscan Bottom (Pixels) | ||
+ | |- | ||
+ | | <code>OverscanLeft:LongWord;</code> | ||
+ | | Framebuffer Overscan Left (Pixels) | ||
+ | |- | ||
+ | | <code>OverscanRight:LongWord;</code> | ||
+ | | Framebuffer Overscan Right (Pixels) | ||
+ | |- | ||
+ | | <code>Rotation:LongWord;</code> | ||
+ | | Framebuffer Rotation (eg FRAMEBUFFER_ROTATION_180) | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | |||
+ | '''Framebuffer enumeration callback''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferEnumerate = function(Framebuffer:PFramebufferDevice; Data:Pointer):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer notification callback''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferNotification = function(Device:PDevice; Data:Pointer; Notification:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device allocate''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceAllocate = function(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device release''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceRelease = function(Framebuffer:PFramebufferDevice):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device blank''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceBlank = function(Framebuffer:PFramebufferDevice; Blank:Boolean):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device read''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceRead = function(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Len,Flags:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device write''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceWrite = function(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Len,Flags:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device mark''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceMark = function(Framebuffer:PFramebufferDevice; X,Y,Width,Height,Flags:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device commit''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceCommit = function(Framebuffer:PFramebufferDevice; Address,Size,Flags:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device get rect''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceGetRect = function(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Width,Height,Skip,Flags:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Frambuffer device put rect''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDevicePutRect = function(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Width,Height,Skip,Flags:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Frambuffer device copy rect''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceCopyRect = function(Framebuffer:PFramebufferDevice; X1,Y1,X2,Y2,Width,Height,Flags:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device fill rect''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceFillRect = function(Framebuffer:PFramebufferDevice; X,Y,Width,Height,Color,Flags:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device get line''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceGetLine = function(Framebuffer:PFramebufferDevice; Y:LongWord):Pointer;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device get point''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceGetPoint = function(Framebuffer:PFramebufferDevice; X,Y:LongWord):Pointer;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device wait sync''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceWaitSync = function(Framebuffer:PFramebufferDevice):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device get offset''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceGetOffset = function(Framebuffer:PFramebufferDevice; var X,Y:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device set offset''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceSetOffset = function(Framebuffer:PFramebufferDevice; X,Y:LongWord;Pan:Boolean):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device get palette''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceGetPalette = function(Framebuffer:PFramebufferDevice; Palette:PFramebufferPalette):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device set palette''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceSetPalette = function(Framebuffer:PFramebufferDevice; Palette:PFramebufferPalette):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device set backlight''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceSetBacklight = function(Framebuffer:PFramebufferDevice; Brightness:LongWord):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device get properties''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceGetProperties = function(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device set properties''' | ||
+ | |||
+ | {| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;" | ||
+ | |- | ||
+ | | <code>TFramebufferDeviceSetProperties = function(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;</code> | ||
+ | | style="width: 40%;"| | ||
+ | |- | ||
+ | |} | ||
+ | |||
+ | '''Framebuffer device types''' | ||
+ | |||
+ | <div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial;"> | ||
+ | <code>PFramebufferDevice = ^TFramebufferDevice;</code> | ||
+ | |||
+ | <code>TFramebufferDevice = record</code> | ||
+ | <div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;"> | ||
+ | {| class="wikitable" style="font-size: 14px; background: white;" | ||
+ | |- | ||
+ | |colspan="2"|''Device Properties'' | ||
+ | |- | ||
+ | | <code>Device:TDevice;</code> | ||
+ | | The Device entry for this Framebuffer device | ||
+ | |- | ||
+ | |colspan="2"|''Framebuffer Properties'' | ||
+ | |- | ||
+ | | <code>FramebufferId:LongWord;</code> | ||
+ | | Unique Id of this Framebuffer device in the Framebuffer device table | ||
+ | |- | ||
+ | | <code>FramebufferState:LongWord;</code> | ||
+ | | Framebuffer device state (eg FRAMEBUFFER_STATE_ENABLED) | ||
+ | |- | ||
+ | | <code>DeviceAllocate:TFramebufferDeviceAllocate;</code> | ||
+ | | A device specific DeviceAllocate method implementing a standard framebuffer device interface (Mandatory) | ||
+ | |- | ||
+ | | <code>DeviceRelease:TFramebufferDeviceRelease;</code> | ||
+ | | A device specific DeviceRelease method implementing a standard framebuffer device interface (Mandatory) | ||
+ | |- | ||
+ | | <code>DeviceBlank:TFramebufferDeviceBlank;</code> | ||
+ | | A device specific DeviceBlank method implementing a standard framebuffer device interface (Optional) | ||
+ | |- | ||
+ | | <code>DeviceRead:TFramebufferDeviceRead;</code> | ||
+ | | A device specific DeviceRead method implementing a standard framebuffer device interface (Or nil if the default method is suitable) | ||
+ | |- | ||
+ | | <code>DeviceWrite:TFramebufferDeviceWrite;</code> | ||
+ | | A device specific DeviceWrite method implementing a standard framebuffer device interface (Or nil if the default method is suitable) | ||
+ | |- | ||
+ | | <code>DeviceMark:TFramebufferDeviceMark;</code> | ||
+ | | A device specific DeviceMark method implementing a standard framebuffer device interface (Optional) | ||
+ | |- | ||
+ | | <code>DeviceCommit:TFramebufferDeviceCommit;</code> | ||
+ | | A device specific DeviceCommit method implementing a standard framebuffer device interface (Optional) | ||
+ | |- | ||
+ | | <code>DeviceGetRect:TFramebufferDeviceGetRect;</code> | ||
+ | | A device specific DeviceGetRect method implementing a standard framebuffer device interface (Or nil if the default method is suitable) | ||
+ | |- | ||
+ | | <code>DevicePutRect:TFramebufferDevicePutRect;</code> | ||
+ | | A device specific DevicePutRect method implementing a standard framebuffer device interface (Or nil if the default method is suitable) | ||
+ | |- | ||
+ | | <code>DeviceCopyRect:TFramebufferDeviceCopyRect;</code> | ||
+ | | A device specific DeviceCopyRect method implementing a standard framebuffer device interface (Or nil if the default method is suitable) | ||
+ | |- | ||
+ | | <code>DeviceFillRect:TFramebufferDeviceFillRect;</code> | ||
+ | | A device specific DeviceFillRect method implementing a standard framebuffer device interface (Or nil if the default method is suitable) | ||
+ | |- | ||
+ | | <code>DeviceGetLine:TFramebufferDeviceGetLine;</code> | ||
+ | | A device specific DeviceGetLine method implementing a standard framebuffer device interface (Or nil if the default method is suitable) | ||
+ | |- | ||
+ | | <code>DeviceGetPoint:TFramebufferDeviceGetPoint;</code> | ||
+ | | A device specific DeviceGetPoint method implementing a standard framebuffer device interface (Or nil if the default method is suitable) | ||
+ | |- | ||
+ | | <code>DeviceWaitSync:TFramebufferDeviceWaitSync;</code> | ||
+ | | A device specific DeviceWaitSync method implementing a standard framebuffer device interface (Optional) | ||
+ | |- | ||
+ | | <code>DeviceGetOffset:TFramebufferDeviceGetOffset;</code> | ||
+ | | A device specific DeviceGetOffset method implementing a standard framebuffer device interface (Optional) | ||
+ | |- | ||
+ | | <code>DeviceSetOffset:TFramebufferDeviceSetOffset;</code> | ||
+ | | A device specific DeviceSetOffset method implementing a standard framebuffer device interface (Optional) | ||
+ | |- | ||
+ | | <code>DeviceGetPalette:TFramebufferDeviceGetPalette;</code> | ||
+ | | A device specific DeviceGetPalette method implementing a standard framebuffer device interface (Optional) | ||
+ | |- | ||
+ | | <code>DeviceSetPalette:TFramebufferDeviceSetPalette;</code> | ||
+ | | A device specific DeviceSetPalette method implementing a standard framebuffer device interface (Optional) | ||
+ | |- | ||
+ | | <code>DeviceSetBacklight:TFramebufferDeviceSetBacklight;</code> | ||
+ | | A device specific DeviceSetBacklight method implementing a standard framebuffer device interface (Optional) | ||
+ | |- | ||
+ | | <code>DeviceGetProperties:TFramebufferDeviceGetProperties;</code> | ||
+ | | A device specific DeviceGetProperties method implementing a standard framebuffer device interface (Or nil if the default method is suitable) | ||
+ | |- | ||
+ | | <code>DeviceSetProperties:TFramebufferDeviceSetProperties;</code> | ||
+ | | A device specific DeviceSetProperties method implementing a standard framebuffer device interface (Mandatory) | ||
+ | |- | ||
+ | |colspan="2"|''Statistics Properties'' | ||
+ | |- | ||
+ | | <code>AllocateCount:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ReleaseCount:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>ReadCount:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>WriteCount:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>GetCount:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>PutCount:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>CopyCount:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | | <code>FillCount:LongWord;</code> | ||
+ | | | ||
+ | |- | ||
+ | |colspan="2"|''Driver Properties'' | ||
+ | |- | ||
+ | | <code>Lock:TMutexHandle;</code> | ||
+ | | Device lock | ||
+ | |- | ||
+ | | <code>Address:LongWord;</code> | ||
+ | | Framebuffer address | ||
+ | |- | ||
+ | | <code>Size:LongWord;</code> | ||
+ | | Framebuffer size (Bytes) | ||
+ | |- | ||
+ | | <code>Pitch:LongWord;</code> | ||
+ | | Framebuffer pitch (Bytes per Line) | ||
+ | |- | ||
+ | | <code>Depth:LongWord;</code> | ||
+ | | Framebuffer depth (Bits per Pixel)(8/16/24/32) | ||
+ | |- | ||
+ | | <code>Order:LongWord;</code> | ||
+ | | Framebuffer pixel order (BGR/RGB) | ||
+ | |- | ||
+ | | <code>Mode:LongWord;</code> | ||
+ | | Framebuffer alpha mode (Enabled/Reversed/Ignored) | ||
+ | |- | ||
+ | | <code>Format:LongWord;</code> | ||
+ | | Framebuffer color format (eg COLOR_FORMAT_ARGB32) | ||
+ | |- | ||
+ | | <code>PhysicalWidth:LongWord;</code> | ||
+ | | Framebuffer Physical Width (Pixels) | ||
+ | |- | ||
+ | | <code>PhysicalHeight:LongWord;</code> | ||
+ | | Framebuffer Physical Height (Pixels) | ||
+ | |- | ||
+ | | <code>VirtualWidth:LongWord;</code> | ||
+ | | Framebuffer Virtual Width (Pixels) | ||
+ | |- | ||
+ | | <code>VirtualHeight:LongWord;</code> | ||
+ | | Framebuffer Virtual Height (Pixels) | ||
+ | |- | ||
+ | | <code>OffsetX:LongWord;</code> | ||
+ | | Framebuffer Virtual Offset X (Pixels) | ||
+ | |- | ||
+ | | <code>OffsetY:LongWord;</code> | ||
+ | | Framebuffer Virtual Offset Y (Pixels) | ||
+ | |- | ||
+ | | <code>OverscanTop:LongWord;</code> | ||
+ | | Framebuffer Overscan Top (Pixels) | ||
+ | |- | ||
+ | | <code>OverscanBottom:LongWord;</code> | ||
+ | | Framebuffer Overscan Bottom (Pixels) | ||
+ | |- | ||
+ | | <code>OverscanLeft:LongWord;</code> | ||
+ | | Framebuffer Overscan Left (Pixels) | ||
+ | |- | ||
+ | | <code>OverscanRight:LongWord;</code> | ||
+ | | Framebuffer Overscan Right (Pixels) | ||
+ | |- | ||
+ | | <code>Rotation:LongWord;</code> | ||
+ | | Framebuffer Rotation (eg FRAMEBUFFER_ROTATION_180) | ||
+ | |- | ||
+ | |colspan="2"|''Buffer Properties'' | ||
+ | |- | ||
+ | | <code>LineBuffer:Pointer;</code> | ||
+ | | Buffer for line fills | ||
+ | |- | ||
+ | | <code>CopyBuffer:Pointer;</code> | ||
+ | | Buffer for overlapped copy | ||
+ | |- | ||
+ | |colspan="2"|''Internal Properties'' | ||
+ | |- | ||
+ | | <code>Prev:PFramebufferDevice;</code> | ||
+ | | Previous entry in Framebuffer device table | ||
+ | |- | ||
+ | | <code>Next:PFramebufferDevice;</code> | ||
+ | | Next entry in Framebuffer device table | ||
+ | |- | ||
+ | |} | ||
+ | </div></div> | ||
+ | <br /> | ||
=== Public variables === | === Public variables === |
Revision as of 02:45, 19 January 2017
Return to Unit Reference
Contents
[hide]Description
Ultibo Framebuffer interface unit
To be documented
Constants
FRAMEBUFFER_*
FRAMEBUFFER_TYPE_*
FRAMEBUFFER_STATE_*
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;
|
Frambuffer device put rect
TFramebufferDevicePutRect = function(Framebuffer:PFramebufferDevice; X,Y:LongWord; Buffer:Pointer; Width,Height,Skip,Flags:LongWord):LongWord;
|
Frambuffer 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 get properties
TFramebufferDeviceGetProperties = function(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;
|
Framebuffer device set properties
TFramebufferDeviceSetProperties = function(Framebuffer:PFramebufferDevice; Properties:PFramebufferProperties):LongWord;
|
Framebuffer device types
Public variables
Init handlers
FramebufferInitHandler:TFramebufferInit;
|
Function declarations
Initialization functions
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 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;
function FramebufferRotationToString(Rotation:LongWord):String;
Return to Unit Reference