1
0
Fork 0
forked from wry/wry
wry/wire-xcon/render.txt
2022-03-23 14:35:09 +01:00

88 lines
1.9 KiB
Text

ext "RENDER"
struct RenderDirectFormat {
red_shift: u16,
red_mask: u16,
green_shift: u16,
green_mask: u16,
blue_shift: u16,
blue_mask: u16,
alpha_shift: u16,
alpha_mask: u16,
}
struct RenderPictFormInfo {
id: u32,
ty: u8,
depth: u8,
@pad 2,
direct: RenderDirectFormat,
colormap: u32,
}
struct RenderPictVisual {
visual: u32,
format: u32,
}
struct RenderPictDepth {
depth: u8,
@pad 1,
num_visuals: u16 = len(visuals),
@pad 4,
visuals: list(RenderPictVisual, field(num_visuals)),
}
struct RenderPictScreen {
num_depths: u32 = len(depths),
fallback: u32,
depths: list(RenderPictDepth, field(num_depths)),
}
request RenderQueryPictFormats = 1 () {
@pad 1,
num_formats: u32 = len(formats),
num_screens: u32 = len(screens),
num_depths: u32,
num_visuals: u32,
num_subpixel: u32 = len(subpixels),
@pad 4,
formats: list(RenderPictFormInfo, field(num_formats)),
screens: list(RenderPictScreen, field(num_screens)),
subpixels: list(u32, field(num_subpixel)),
}
bitmask RenderCreatePictureValues {
repeat: u32 = 0,
alphamap: u32 = 1,
alphaxorigin: u32 = 2,
alphayorigin: u32 = 3,
clipxorigin: u32 = 4,
clipyorigin: u32 = 5,
clipmask: u32 = 6,
graphicsexposure: u32 = 7,
subwindowmode: u32 = 8,
polyedge: u32 = 9,
polymode: u32 = 10,
dither: u32 = 11,
componentalpha: u32 = 12,
}
request RenderCreatePicture = 4 (
pid: u32,
drawable: u32,
format: u32,
value_mask: u32 = bitmask(values),
values: bitmask(RenderCreatePictureValues, field(value_mask)),
);
request RenderFreePicture = 7 (
picture: u32,
);
request RenderCreateCursor = 27 (
cid: u32,
source: u32,
x: u16,
y: u16,
);