Module interface:guifb - Graphics framebuffer infrastructure interface (low-level)
Graphics framebuffer infrastructure interface (low-level). The constants, protocols and types defined in gui_fb.inc provide the low-level framebuffer infrastructure for RMoX. This is exported by low-level framebuffer drivers, used by the graphics windowing system and others.
Index
-
Channel type
CT.GUI.FB- GUI framebuffer channel-type-
Variable
in?- Requests to framebuffer -
Variable
out!- Responses from framebuffer
-
Variable
-
Record
GUI.BUFFER- Individual framebuffer descriptor-
Variable
blit.xoff- X target offset when blitting -
Variable
blit.yoff- Y target offset when blitting -
Variable
bpl- Bytes per line -
Variable
bpp- Bits per pixel -
Variable
capabilities- Capabilties that we can do on this buffer (see ) -
Variable
id- identifier (0-15 are special) -
Variable
is.vram- True if this buffer is real video memory -
Variable
vroffset- If in video memory, byte offset in video-memory where it starts -
Variable
xres- X resolution (pixels) -
Variable
yres- Y resolution (pixels)
-
Variable
-
Data type
GUI.FB.ARGB- Standard alpha-red-green-blue framebuffer type -
Group
GUI.FB.CUR- Framebuffer cursor attributes-
Constant
GUI.FB.CUR.ENABLE- Enable cursor -
Constant
GUI.FB.CUR.SEL.MASK- Mask for cursor selection (0-31) -
Constant
GUI.FB.CUR.SEL.SHIFT- Bit-shift for cursor selection
-
Constant
-
Group
GUI.FB.FEAT- Framebuffer hardware-assist features-
Constant
GUI.FB.FEAT.BLIT- Hardware bit-blit support -
Constant
GUI.FB.FEAT.CIRCFILL- Hardware circle-fill support -
Constant
GUI.FB.FEAT.HWBUF- Hardware buffer support (relevant for higher levels) -
Constant
GUI.FB.FEAT.LINE- Hardware line-drawing support -
Constant
GUI.FB.FEAT.POINTER- Hardware cursor support -
Constant
GUI.FB.FEAT.RECTFILL- Hardware rectangle-fill support -
Constant
GUI.FB.FEAT.TEXT- Hardware text-drawing support
-
Constant
-
Record
GUI.FB.INFO- Generic framebuffer descriptor-
Variable
bpp- Bits per pixel -
Variable
features- Feature flags (see ) -
Variable
packed- If non-zero, specifies a packed mode -
Variable
palette- If non-zero, has a hardware palette -
Variable
xres- X resolution (pixels) -
Variable
yres- Y resolution (pixels)
-
Variable
-
Protocol
P.GUI.FB.IN- GUI framebuffer input protocol-
Tag
close- Close, pass client end back -
Tag
get.buf- Gets a buffer from identifier, responds with result} or [@text fb.buffer] -
Tag
get.capability- Get capabilities, responds with fb.info -
Tag
new.buf- Create a new buffer of ( width,height,bpp and fillcolour ), responds with or -
Tag
paint.buf- Paint buffer on screen ( target.x,target.y,buffer.id ) -
Tag
put.buf- Replace buffer (and paint)
-
Tag
-
Protocol
P.GUI.FB.OUT- GUI framebuffer output protocol-
Tag
fb.buffer- Returned framebuffer and descriptor -
Tag
fb.info- Returned framebuffer info -
Tag
result- Generic result
-
Tag
Declarations
gui_fb.inc:28Group GUI.FB.FEAT
Framebuffer hardware-assist features.
gui_fb.inc:30Constant GUI.FB.FEAT.LINE
VAL INT GUI.FB.FEAT.LINE
Hardware line-drawing support.
gui_fb.inc:31Constant GUI.FB.FEAT.RECTFILL
VAL INT GUI.FB.FEAT.RECTFILL
Hardware rectangle-fill support.
gui_fb.inc:32Constant GUI.FB.FEAT.CIRCFILL
VAL INT GUI.FB.FEAT.CIRCFILL
Hardware circle-fill support.
gui_fb.inc:33Constant GUI.FB.FEAT.BLIT
VAL INT GUI.FB.FEAT.BLIT
Hardware bit-blit support.
gui_fb.inc:34Constant GUI.FB.FEAT.POINTER
VAL INT GUI.FB.FEAT.POINTER
Hardware cursor support.
gui_fb.inc:35Constant GUI.FB.FEAT.HWBUF
VAL INT GUI.FB.FEAT.HWBUF
Hardware buffer support (relevant for higher levels).
gui_fb.inc:36Constant GUI.FB.FEAT.TEXT
VAL INT GUI.FB.FEAT.TEXT
Hardware text-drawing support.
gui_fb.inc:39Group GUI.FB.CUR
Framebuffer cursor attributes
gui_fb.inc:41Constant GUI.FB.CUR.SEL.MASK
VAL INT GUI.FB.CUR.SEL.MASK
Mask for cursor selection (0-31).
gui_fb.inc:42Constant GUI.FB.CUR.SEL.SHIFT
VAL INT GUI.FB.CUR.SEL.SHIFT
Bit-shift for cursor selection.
gui_fb.inc:43Constant GUI.FB.CUR.ENABLE
VAL INT GUI.FB.CUR.ENABLE
Enable cursor.
gui_fb.inc:48Record GUI.FB.INFO
DATA TYPE GUI.FB.INFO
Generic framebuffer descriptor.
gui_fb.inc:50Variable xres
INT
X resolution (pixels).
gui_fb.inc:51Variable yres
INT
Y resolution (pixels).
gui_fb.inc:52Variable bpp
INT
Bits per pixel.
gui_fb.inc:53Variable packed
INT
If non-zero, specifies a packed mode.
gui_fb.inc:54Variable palette
INT
If non-zero, has a hardware palette.
gui_fb.inc:59Record GUI.BUFFER
DATA TYPE GUI.BUFFER
Individual framebuffer descriptor.
gui_fb.inc:61Variable id
INT
identifier (0-15 are special).
gui_fb.inc:62Variable xres
INT
X resolution (pixels).
gui_fb.inc:63Variable yres
INT
Y resolution (pixels).
gui_fb.inc:64Variable bpp
INT
Bits per pixel.
gui_fb.inc:65Variable bpl
INT
Bytes per line.
gui_fb.inc:67Variable is.vram
BOOL
True if this buffer is real video memory.
gui_fb.inc:69Variable vroffset
INT
If in video memory, byte offset in video-memory where it starts.
gui_fb.inc:71Variable blit.xoff
INT
X target offset when blitting.
gui_fb.inc:72Variable blit.yoff
INT
Y target offset when blitting.
gui_fb.inc:76Data type GUI.FB.ARGB
DATA TYPE GUI.FB.ARGB
Standard alpha-red-green-blue framebuffer type.
gui_fb.inc:81Protocol P.GUI.FB.IN
PROTOCOL P.GUI.FB.IN
GUI framebuffer input protocol.
gui_fb.inc:83Tag close
close; CT.GUI.FB!
Close, pass client end back.
gui_fb.inc:84Tag get.capability
get.capability
Get capabilities, responds with fb.info.
gui_fb.inc:86Tag new.buf
new.buf; [3]INT; INT32
gui_fb.inc:87Tag get.buf
get.buf; INT
Gets a buffer from identifier, responds with result} or [@text fb.buffer].
gui_fb.inc:88Tag paint.buf
paint.buf; [2]INT; INT
Paint buffer on screen (target.x,target.y,buffer.id).
gui_fb.inc:89Tag put.buf
put.buf; GUI.BUFFER; GUI.FB.ARGB
Replace buffer (and paint).
gui_fb.inc:103Protocol P.GUI.FB.OUT
PROTOCOL P.GUI.FB.OUT
GUI framebuffer output protocol.
gui_fb.inc:105Tag fb.info
fb.info; GUI.FB.INFO
Returned framebuffer info.
gui_fb.inc:106Tag fb.buffer
fb.buffer; GUI.BUFFER; GUI.FB.ARGB
Returned framebuffer and descriptor.
gui_fb.inc:107Tag result
result; INT
Generic result.
gui_fb.inc:111Channel type CT.GUI.FB
CHAN TYPE CT.GUI.FB
GUI framebuffer channel-type.
gui_fb.inc:113Variable in?
CHAN P.GUI.FB.IN
Requests to framebuffer.
gui_fb.inc:114Variable out!
CHAN P.GUI.FB.OUT
Responses from framebuffer.