OS-independent pixel formats abstraction
parent
7857c0c939
commit
76d375b56b
|
@ -0,0 +1,58 @@
|
||||||
|
USING: destructors math ui.backend ;
|
||||||
|
IN: ui.pixel-formats
|
||||||
|
|
||||||
|
SINGLETONS:
|
||||||
|
double-buffered
|
||||||
|
stereo
|
||||||
|
offscreen
|
||||||
|
fullscreen
|
||||||
|
windowed
|
||||||
|
accelerated
|
||||||
|
software-rendered
|
||||||
|
robust
|
||||||
|
backing-store
|
||||||
|
multisampled
|
||||||
|
supersampled
|
||||||
|
sample-alpha
|
||||||
|
color-float ;
|
||||||
|
|
||||||
|
TUPLE: pixel-format-attribute { value integer } ;
|
||||||
|
|
||||||
|
TUPLE: color-bits < pixel-format-attribute ;
|
||||||
|
TUPLE: red-bits < pixel-format-attribute ;
|
||||||
|
TUPLE: green-bits < pixel-format-attribute ;
|
||||||
|
TUPLE: blue-bits < pixel-format-attribute ;
|
||||||
|
TUPLE: alpha-bits < pixel-format-attribute ;
|
||||||
|
|
||||||
|
TUPLE: accum-bits < pixel-format-attribute ;
|
||||||
|
TUPLE: accum-red-bits < pixel-format-attribute ;
|
||||||
|
TUPLE: accum-green-bits < pixel-format-attribute ;
|
||||||
|
TUPLE: accum-blue-bits < pixel-format-attribute ;
|
||||||
|
TUPLE: accum-alpha-bits < pixel-format-attribute ;
|
||||||
|
|
||||||
|
TUPLE: depth-bits < pixel-format-attribute ;
|
||||||
|
|
||||||
|
TUPLE: stencil-bits < pixel-format-attribute ;
|
||||||
|
|
||||||
|
TUPLE: aux-buffers < pixel-format-attribute ;
|
||||||
|
|
||||||
|
TUPLE: buffer-level < pixel-format-attribute ;
|
||||||
|
|
||||||
|
TUPLE: sample-buffers < pixel-format-attribute ;
|
||||||
|
TUPLE: samples < pixel-format-attribute ;
|
||||||
|
|
||||||
|
HOOK: (make-pixel-format) ui-backend ( attributes -- pixel-format-handle )
|
||||||
|
HOOK: (free-pixel-format) ui-backend ( pixel-format-handle -- )
|
||||||
|
HOOK: (pixel-format-attribute) ui-backend ( pixel-format-handle attribute-name -- value )
|
||||||
|
|
||||||
|
TUPLE: pixel-format { handle read-only } ;
|
||||||
|
|
||||||
|
: <pixel-format> ( attributes -- pixel-format )
|
||||||
|
(make-pixel-format) pixel-format boa ;
|
||||||
|
|
||||||
|
M: pixel-format dispose
|
||||||
|
[ [ (free-pixel-format) ] when* f ] change-handle drop ;
|
||||||
|
|
||||||
|
: pixel-format-attribute ( pixel-format attribute-name -- value )
|
||||||
|
[ handle>> ] dip (pixel-format-attribute) ;
|
||||||
|
|
Loading…
Reference in New Issue