aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeroen van Rijn <Kelimion@users.noreply.github.com>2024-06-04 10:53:57 +0200
committerGitHub <noreply@github.com>2024-06-04 10:53:57 +0200
commitdfffc57536ecbcffce4f42e8b11f5939d3587264 (patch)
tree8d46b4b2aecfb41125e23918773f9d822281ba88
parent36627d7d29c32653374ff17d119d739e97ec24e0 (diff)
parente46e22e21ba61e0bceb2e96084c1e1772bb7ed11 (diff)
Merge pull request #3668 from colrdavidson/x11-tweaks
add a few more x11 funcs, fix egl bug
-rw-r--r--vendor/egl/egl.odin2
-rw-r--r--vendor/x11/xlib/xlib_procs.odin1392
2 files changed, 701 insertions, 693 deletions
diff --git a/vendor/egl/egl.odin b/vendor/egl/egl.odin
index 3174fa60b..82181b1c5 100644
--- a/vendor/egl/egl.odin
+++ b/vendor/egl/egl.odin
@@ -47,7 +47,7 @@ foreign egl {
GetDisplay :: proc(display: NativeDisplayType) -> Display ---
Initialize :: proc(display: Display, major: ^i32, minor: ^i32) -> i32 ---
BindAPI :: proc(api: u32) -> i32 ---
- ChooseConfig :: proc(display: Display, attrib_list: ^i32, configs: ^Context, config_size: i32, num_config: ^i32) -> i32 ---
+ ChooseConfig :: proc(display: Display, attrib_list: ^i32, configs: ^Config, config_size: i32, num_config: ^i32) -> i32 ---
CreateWindowSurface :: proc(display: Display, config: Config, native_window: NativeWindowType, attrib_list: ^i32) -> Surface ---
CreateContext :: proc(display: Display, config: Config, share_context: Context, attrib_list: ^i32) -> Context ---
MakeCurrent :: proc(display: Display, draw: Surface, read: Surface, ctx: Context) -> i32 ---
diff --git a/vendor/x11/xlib/xlib_procs.odin b/vendor/x11/xlib/xlib_procs.odin
index 5e999519b..5465cd71b 100644
--- a/vendor/x11/xlib/xlib_procs.odin
+++ b/vendor/x11/xlib/xlib_procs.odin
@@ -8,108 +8,108 @@ foreign xlib {
/* ---- X11/Xlib.h ---------------------------------------------------------*/
-@(default_calling_convention="c")
+@(default_calling_convention="c", link_prefix="X")
foreign xlib {
// Free data allocated by Xlib
- XFree :: proc(ptr: rawptr) ---
+ Free :: proc(ptr: rawptr) ---
// Opening/closing a display
- XOpenDisplay :: proc(name: cstring) -> ^Display ---
- XCloseDisplay :: proc(display: ^Display) ---
- XSetCloseDownMode :: proc(display: ^Display, mode: CloseMode) ---
+ OpenDisplay :: proc(name: cstring) -> ^Display ---
+ CloseDisplay :: proc(display: ^Display) ---
+ SetCloseDownMode :: proc(display: ^Display, mode: CloseMode) ---
// Generate a no-op request
- XNoOp :: proc(display: ^Display) ---
+ NoOp :: proc(display: ^Display) ---
// Display macros (connection)
- XConnectionNumber :: proc(display: ^Display) -> i32 ---
- XExtendedMaxRequestSize ::
+ ConnectionNumber :: proc(display: ^Display) -> i32 ---
+ ExtendedMaxRequestSize ::
proc(display: ^Display) -> int ---
- XMaxRequestSize :: proc(display: ^Display) -> int ---
- XLastKnownRequestProcessed ::
+ MaxRequestSize :: proc(display: ^Display) -> int ---
+ LastKnownRequestProcessed ::
proc(display: ^Display) -> uint ---
- XNextRequest :: proc(display: ^Display) -> uint ---
- XProtocolVersion :: proc(display: ^Display) -> i32 ---
- XProtocolRevision :: proc(display: ^Display) -> i32 ---
- XQLength :: proc(display: ^Display) -> i32 ---
- XServerVendor :: proc(display: ^Display) -> cstring ---
- XVendorRelease :: proc(display: ^Display) -> i32 ---
+ NextRequest :: proc(display: ^Display) -> uint ---
+ ProtocolVersion :: proc(display: ^Display) -> i32 ---
+ ProtocolRevision :: proc(display: ^Display) -> i32 ---
+ QLength :: proc(display: ^Display) -> i32 ---
+ ServerVendor :: proc(display: ^Display) -> cstring ---
+ VendorRelease :: proc(display: ^Display) -> i32 ---
// Display macros (display properties)
- XBlackPixel :: proc(display: ^Display, screen_no: i32) -> uint ---
- XWhitePixel :: proc(display: ^Display, screen_no: i32) -> uint ---
- XListDepths :: proc(display: ^Display, screen_no: i32, count: ^i32) -> [^]i32 ---
- XDisplayCells :: proc(display: ^Display, screen_no: i32) -> i32 ---
- XDisplayPlanes :: proc(display: ^Display, screen_no: i32) -> i32 ---
- XScreenOfDisplay :: proc(display: ^Display, screen_no: i32) -> ^Screen ---
- XDisplayString :: proc(display: ^Display) -> cstring ---
+ BlackPixel :: proc(display: ^Display, screen_no: i32) -> uint ---
+ WhitePixel :: proc(display: ^Display, screen_no: i32) -> uint ---
+ ListDepths :: proc(display: ^Display, screen_no: i32, count: ^i32) -> [^]i32 ---
+ DisplayCells :: proc(display: ^Display, screen_no: i32) -> i32 ---
+ DisplayPlanes :: proc(display: ^Display, screen_no: i32) -> i32 ---
+ ScreenOfDisplay :: proc(display: ^Display, screen_no: i32) -> ^Screen ---
+ DisplayString :: proc(display: ^Display) -> cstring ---
// Display macros (defaults)
- XDefaultColormap :: proc(display: ^Display, screen_no: i32) -> Colormap ---
- XDefaultDepth :: proc(display: ^Display) -> i32 ---
- XDefaultGC :: proc(display: ^Display, screen_no: i32) -> GC ---
- XDefaultRootWindow :: proc(display: ^Display) -> Window ---
- XDefaultScreen :: proc(display: ^Display) -> i32 ---
- XDefaultVisual :: proc(display: ^Display, screen_no: i32) -> ^Visual ---
- XDefaultScreenOfDisplay ::
+ DefaultColormap :: proc(display: ^Display, screen_no: i32) -> Colormap ---
+ DefaultDepth :: proc(display: ^Display) -> i32 ---
+ DefaultGC :: proc(display: ^Display, screen_no: i32) -> GC ---
+ DefaultRootWindow :: proc(display: ^Display) -> Window ---
+ DefaultScreen :: proc(display: ^Display) -> i32 ---
+ DefaultVisual :: proc(display: ^Display, screen_no: i32) -> ^Visual ---
+ DefaultScreenOfDisplay ::
proc(display: ^Display) -> ^Screen ---
// Display macros (other)
- XRootWindow :: proc(display: ^Display, screen_no: i32) -> Window ---
- XScreenCount :: proc(display: ^Display) -> i32 ---
+ RootWindow :: proc(display: ^Display, screen_no: i32) -> Window ---
+ ScreenCount :: proc(display: ^Display) -> i32 ---
// Display image format macros
- XListPixmapFormats :: proc(display: ^Display, count: ^i32) -> [^]XPixmapFormatValues ---
- XImageByteOrder :: proc(display: ^Display) -> ByteOrder ---
- XBitmapUnit :: proc(display: ^Display) -> i32 ---
- XBitmapBitOrder :: proc(display: ^Display) -> ByteOrder ---
- XBitmapPad :: proc(display: ^Display) -> i32 ---
- XDisplayHeight :: proc(display: ^Display, screen_no: i32) -> i32 ---
- XDisplayHeightMM :: proc(display: ^Display, screen_no: i32) -> i32 ---
- XDisplayWidth :: proc(display: ^Display, screen_no: i32) -> i32 ---
- XDisplayWidthMM :: proc(display: ^Display, screen_no: i32) -> i32 ---
+ ListPixmapFormats :: proc(display: ^Display, count: ^i32) -> [^]XPixmapFormatValues ---
+ ImageByteOrder :: proc(display: ^Display) -> ByteOrder ---
+ BitmapUnit :: proc(display: ^Display) -> i32 ---
+ BitmapBitOrder :: proc(display: ^Display) -> ByteOrder ---
+ BitmapPad :: proc(display: ^Display) -> i32 ---
+ DisplayHeight :: proc(display: ^Display, screen_no: i32) -> i32 ---
+ DisplayHeightMM :: proc(display: ^Display, screen_no: i32) -> i32 ---
+ DisplayWidth :: proc(display: ^Display, screen_no: i32) -> i32 ---
+ DisplayWidthMM :: proc(display: ^Display, screen_no: i32) -> i32 ---
// Screen macros
- XBlackPixelsOfScreen :: proc(screen: ^Screen) -> uint ---
- XWhitePixelsOfScreen :: proc(screen: ^Screen) -> uint ---
- XCellsOfScreen :: proc(screen: ^Screen) -> i32 ---
- XDefaultColormapOfScreen :: proc(screen: ^Screen) -> Colormap ---
- XDefaultDepthOfScreen :: proc(screen: ^Screen) -> i32 ---
- XDefaultGCOfScreen :: proc(screen: ^Screen) -> GC ---
- XDefaultVisualOfScreen :: proc(screen: ^Screen) -> ^Visual ---
- XDoesBackingStore :: proc(screen: ^Screen) -> BackingStore ---
- XDoesSaveUnders :: proc(screen: ^Screen) -> b32 ---
- XDisplayOfScreen :: proc(screen: ^Screen) -> ^Display ---
- XScreenNumberOfScreens :: proc(screen: ^Screen) -> i32 ---
- XEventMaskOfScreen :: proc(screen: ^Screen) -> EventMask ---
- XWidthOfScreen :: proc(screen: ^Screen) -> i32 ---
- XHeightOfScreen :: proc(screen: ^Screen) -> i32 ---
- XWidthMMOfScreen :: proc(screen: ^Screen) -> i32 ---
- XHeightMMOfScreen :: proc(screen: ^Screen) -> i32 ---
- XMaxCmapsOfScreen :: proc(screen: ^Screen) -> i32 ---
- XMinCmapsOfScreen :: proc(screen: ^Screen) -> i32 ---
- XPlanesOfScreen :: proc(screen: ^Screen) -> i32 ---
- XRootWindowOfScreen :: proc(screen: ^Screen) -> Window ---
+ BlackPixelsOfScreen :: proc(screen: ^Screen) -> uint ---
+ WhitePixelsOfScreen :: proc(screen: ^Screen) -> uint ---
+ CellsOfScreen :: proc(screen: ^Screen) -> i32 ---
+ DefaultColormapOfScreen :: proc(screen: ^Screen) -> Colormap ---
+ DefaultDepthOfScreen :: proc(screen: ^Screen) -> i32 ---
+ DefaultGCOfScreen :: proc(screen: ^Screen) -> GC ---
+ DefaultVisualOfScreen :: proc(screen: ^Screen) -> ^Visual ---
+ DoesBackingStore :: proc(screen: ^Screen) -> BackingStore ---
+ DoesSaveUnders :: proc(screen: ^Screen) -> b32 ---
+ DisplayOfScreen :: proc(screen: ^Screen) -> ^Display ---
+ ScreenNumberOfScreens :: proc(screen: ^Screen) -> i32 ---
+ EventMaskOfScreen :: proc(screen: ^Screen) -> EventMask ---
+ WidthOfScreen :: proc(screen: ^Screen) -> i32 ---
+ HeightOfScreen :: proc(screen: ^Screen) -> i32 ---
+ WidthMMOfScreen :: proc(screen: ^Screen) -> i32 ---
+ HeightMMOfScreen :: proc(screen: ^Screen) -> i32 ---
+ MaxCmapsOfScreen :: proc(screen: ^Screen) -> i32 ---
+ MinCmapsOfScreen :: proc(screen: ^Screen) -> i32 ---
+ PlanesOfScreen :: proc(screen: ^Screen) -> i32 ---
+ RootWindowOfScreen :: proc(screen: ^Screen) -> Window ---
// Threading functions
- XInitThreads :: proc() -> Status ---
- XLockDisplay :: proc(display: ^Display) ---
- XUnlockDisplay :: proc(display: ^Display) ---
+ InitThreads :: proc() -> Status ---
+ LockDisplay :: proc(display: ^Display) ---
+ UnlockDisplay :: proc(display: ^Display) ---
// Internal connections
- XAddConnectionWatch :: proc(
+ AddConnectionWatch :: proc(
display: ^Display,
procedure: XConnectionWatchProc,
data: rawptr,
) -> Status ---
- XRemoveConnectionWatch :: proc(
+ RemoveConnectionWatch :: proc(
display: ^Display,
procedure: XConnectionWatchProc,
data: rawptr,
) -> Status ---
- XProcessInternalConnections :: proc(
+ ProcessInternalConnections :: proc(
display: ^Display,
fd: i32,
) ---
- XInternalConnectionNumbers :: proc(
+ InternalConnectionNumbers :: proc(
display: ^Display,
fds: ^[^]i32,
count: ^i32,
) -> Status ---
// Windows functions
- XVisualIDFromVisual :: proc(visual: ^Visual) -> VisualID ---
+ VisualIDFromVisual :: proc(visual: ^Visual) -> VisualID ---
// Windows: creation/destruction
- XCreateWindow :: proc(
+ CreateWindow :: proc(
display: ^Display,
parent: Window,
x: i32,
@@ -123,7 +123,7 @@ foreign xlib {
attr_mask: WindowAttributeMask,
attr: ^XSetWindowAttributes,
) -> Window ---
- XCreateSimpleWindow :: proc(
+ CreateSimpleWindow :: proc(
display: ^Display,
parent: Window,
x: i32,
@@ -134,34 +134,34 @@ foreign xlib {
border: int,
bg: int,
) -> Window ---
- XDestroyWindow :: proc(display: ^Display, window: Window) ---
- XDestroySubwindows :: proc(display: ^Display, window: Window) ---
+ DestroyWindow :: proc(display: ^Display, window: Window) ---
+ DestroySubwindows :: proc(display: ^Display, window: Window) ---
// Windows: mapping/unmapping
- XMapWindow :: proc(display: ^Display, window: Window) ---
- XMapRaised :: proc(display: ^Display, window: Window) ---
- XMapSubwindows :: proc(display: ^Display, window: Window) ---
- XUnmapWindow :: proc(display: ^Display, window: Window) ---
- XUnmapSubwindows :: proc(display: ^Display, window: Window) ---
+ MapWindow :: proc(display: ^Display, window: Window) ---
+ MapRaised :: proc(display: ^Display, window: Window) ---
+ MapSubwindows :: proc(display: ^Display, window: Window) ---
+ UnmapWindow :: proc(display: ^Display, window: Window) ---
+ UnmapSubwindows :: proc(display: ^Display, window: Window) ---
// Windows: configuring
- XConfigureWindow :: proc(
+ ConfigureWindow :: proc(
display: ^Display,
window: Window,
mask: WindowChangesMask,
values: XWindowChanges,
) ---
- XMoveWindow :: proc(
+ MoveWindow :: proc(
display: ^Display,
window: Window,
x: i32,
y: i32,
) ---
- XResizeWindow :: proc(
+ ResizeWindow :: proc(
display: ^Display,
window: Window,
width: u32,
height: u32,
) ---
- XMoveResizeWindow :: proc(
+ MoveResizeWindow :: proc(
display: ^Display,
window: Window,
x: i32,
@@ -169,51 +169,51 @@ foreign xlib {
width: u32,
height: u32,
) ---
- XSetWindowBorderWidth :: proc(
+ SetWindowBorderWidth :: proc(
display: ^Display,
window: Window,
width: u32,
) ---
// Window: changing stacking order
- XRaiseWindow :: proc(display: ^Display, window: Window) ---
- XLowerWindow :: proc(display: ^Display, window: Window) ---
- XCirculateSubwindows :: proc(display: ^Display, window: Window, direction: CirculationDirection) ---
- XCirculateSubwindowsUp :: proc(display: ^Display, window: Window) ---
- XCirculateSubwindowsDown :: proc(display: ^Display, window: Window) ---
- XRestackWindows :: proc(display: ^Display, windows: [^]Window, nwindows: i32) ---
+ RaiseWindow :: proc(display: ^Display, window: Window) ---
+ LowerWindow :: proc(display: ^Display, window: Window) ---
+ CirculateSubwindows :: proc(display: ^Display, window: Window, direction: CirculationDirection) ---
+ CirculateSubwindowsUp :: proc(display: ^Display, window: Window) ---
+ CirculateSubwindowsDown :: proc(display: ^Display, window: Window) ---
+ RestackWindows :: proc(display: ^Display, windows: [^]Window, nwindows: i32) ---
// Window: changing attributes
- XChangeWindowAttributes :: proc(
+ ChangeWindowAttributes :: proc(
display: ^Display,
window: Window,
attr_mask: WindowAttributeMask,
attr: XWindowAttributes,
) ---
- XSetWindowBackground :: proc(
+ SetWindowBackground :: proc(
display: ^Display,
window: Window,
pixel: uint,
) ---
- XSetWindowBackgroundMap :: proc(
+ SetWindowBackgroundMap :: proc(
display: ^Display,
window: Window,
pixmap: Pixmap,
) ---
- XSetWindowColormap :: proc(
+ SetWindowColormap :: proc(
display: ^Display,
window: Window,
colormap: Colormap,
) ---
- XDefineCursor :: proc(
+ DefineCursor :: proc(
display: ^Display,
window: Window,
cursor: Cursor,
) ---
- XUndefineCursor :: proc(
+ UndefineCursor :: proc(
display: ^Display,
window: Window,
) ---
// Windows: querying information
- XQueryTree :: proc(
+ QueryTree :: proc(
display: ^Display,
window: Window,
root: ^Window,
@@ -221,12 +221,12 @@ foreign xlib {
children: ^[^]Window,
nchildren: ^u32,
) -> Status ---
- XGetWindowAttributes :: proc(
+ GetWindowAttributes :: proc(
display: ^Display,
window: Window,
attr: ^XWindowAttributes,
) ---
- XGetGeometry :: proc(
+ GetGeometry :: proc(
display: ^Display,
drawable: Drawable,
root: ^Window,
@@ -238,7 +238,7 @@ foreign xlib {
depth: ^u32,
) -> Status ---
// Windows: translating screen coordinates
- XTranslateCoordinates :: proc(
+ TranslateCoordinates :: proc(
display: ^Display,
src_window: Window,
dst_window: Window,
@@ -247,7 +247,7 @@ foreign xlib {
dst_x: ^i32,
dst_y: ^i32,
) -> b32 ---
- XQueryPointer :: proc(
+ QueryPointer :: proc(
display: ^Display,
window: Window,
root: ^Window,
@@ -259,29 +259,29 @@ foreign xlib {
mask: ^KeyMask,
) -> b32 ---
// Atoms
- XInternAtom :: proc(
+ InternAtom :: proc(
display: ^Display,
name: cstring,
existing: b32,
) -> Atom ---
- XInternAtoms :: proc(
+ InternAtoms :: proc(
display: ^Display,
names: [^]cstring,
count: i32,
atoms: [^]Atom,
) -> Status ---
- XGetAtomName :: proc(
+ GetAtomName :: proc(
display: ^Display,
atom: Atom,
) -> cstring ---
- XGetAtomNames :: proc(
+ GetAtomNames :: proc(
display: ^Display,
atoms: [^]Atom,
count: i32,
names: [^]cstring,
) -> Status ---
// Windows: Obtaining and changing properties
- XGetWindowProperty :: proc(
+ GetWindowProperty :: proc(
display: ^Display,
window: Window,
property: Atom,
@@ -295,12 +295,12 @@ foreign xlib {
bytes_after: [^]uint,
props: ^rawptr,
) -> i32 ---
- XListProperties :: proc(
+ ListProperties :: proc(
display: ^Display,
window: Window,
num: ^i32,
) -> [^]Atom ---
- XChangeProperty :: proc(
+ ChangeProperty :: proc(
display: ^Display,
window: Window,
property: Atom,
@@ -310,30 +310,30 @@ foreign xlib {
data: rawptr,
count: i32,
) ---
- XRotateWindowProperties :: proc(
+ RotateWindowProperties :: proc(
display: ^Display,
window: Window,
props: [^]Atom,
nprops: i32,
npos: i32,
) ---
- XDeleteProperty :: proc(
+ DeleteProperty :: proc(
display: ^Display,
window: Window,
prop: Atom,
) ---
// Selections
- XSetSelectionOwner :: proc(
+ SetSelectionOwner :: proc(
display: ^Display,
selection: Atom,
owber: Window,
time: Time,
) ---
- XGetSelectionOwner :: proc(
+ GetSelectionOwner :: proc(
display: ^Display,
selection: Atom,
) -> Window ---
- XConvertSelection :: proc(
+ ConvertSelection :: proc(
display: ^Display,
selection: Atom,
target: Atom,
@@ -342,23 +342,23 @@ foreign xlib {
time: Time,
) ---
// Creating and freeing pixmaps
- XCreatePixmap :: proc(
+ CreatePixmap :: proc(
display: ^Display,
drawable: Drawable,
width: u32,
height: u32,
depth: u32,
) -> Pixmap ---
- XFreePixmap :: proc(
+ FreePixmap :: proc(
display: ^Display,
pixmap: Pixmap,
) ---
// Creating recoloring and freeing cursors
- XCreateFontCursor :: proc(
+ CreateFontCursor :: proc(
display: ^Display,
shape: CursorShape,
) -> Cursor ---
- XCreateGlyphCursor :: proc(
+ CreateGlyphCursor :: proc(
display: ^Display,
src_font: Font,
mask_font: Font,
@@ -367,7 +367,7 @@ foreign xlib {
fg: ^XColor,
bg: ^XColor,
) -> Cursor ---
- XCreatePixmapCursor :: proc(
+ CreatePixmapCursor :: proc(
display: ^Display,
source: Pixmap,
mask: Pixmap,
@@ -376,7 +376,7 @@ foreign xlib {
x: u32,
y: u32,
) -> Cursor ---
- XQueryBestCursor :: proc(
+ QueryBestCursor :: proc(
display: ^Display,
drawable: Drawable,
width: u32,
@@ -384,72 +384,50 @@ foreign xlib {
out_width: ^u32,
out_height: ^u32,
) -> Status ---
- XRecolorCursor :: proc(
+ RecolorCursor :: proc(
display: ^Display,
cursor: Cursor,
fg: ^XColor,
bg: ^XColor,
) ---
- XFreeCursor :: proc(display: ^Display, cursor: Cursor) ---
+ FreeCursor :: proc(display: ^Display, cursor: Cursor) ---
// Creation/destruction of colormaps
- XCreateColormap :: proc(
+ CreateColormap :: proc(
display: ^Display,
window: Window,
visual: ^Visual,
alloc: ColormapAlloc,
) -> Colormap ---
- XCopyColormapAndFree :: proc(
+ CopyColormapAndFree :: proc(
display: ^Display,
colormap: Colormap,
) -> Colormap ---
- XFreeColormap :: proc(
+ FreeColormap :: proc(
display: ^Display,
colormap: Colormap,
) ---
// Mapping color names to values
- XLookupColor :: proc(
+ LookupColor :: proc(
display: ^Display,
colomap: Colormap,
name: cstring,
exact: ^XColor,
screen: ^XColor,
) -> Status ---
- XcmsLookupColor :: proc(
- display: ^Display,
- colormap: Colormap,
- name: cstring,
- exact: XcmsColor,
- screen: XcmsColor,
- format: XcmsColorFormat,
- ) -> Status ---
// Allocating and freeing color cells
- XAllocColor :: proc(
+ AllocColor :: proc(
display: ^Display,
colormap: Colormap,
screen: ^XColor,
) -> Status ---
- XcmsAllocColor :: proc(
- display: ^Display,
- colormap: Colormap,
- color: ^XcmsColor,
- format: XcmsColorFormat,
- ) -> Status ---
- XAllocNamedColor :: proc(
+ AllocNamedColor :: proc(
display: ^Display,
colormap: Colormap,
name: cstring,
screen: ^XColor,
exact: ^XColor,
) -> Status ---
- XcmsAllocNamedColor :: proc(
- display: ^Display,
- colormap: Colormap,
- name: cstring,
- screen: ^XcmsColor,
- exact: ^XcmsColor,
- format: XcmsColorFormat,
- ) -> Status ---
- XAllocColorCells :: proc(
+ AllocColorCells :: proc(
display: ^Display,
colormap: Colormap,
contig: b32,
@@ -458,7 +436,7 @@ foreign xlib {
pixels: [^]uint,
npixels: u32,
) -> Status ---
- XAllocColorPlanes :: proc(
+ AllocColorPlanes :: proc(
display: ^Display,
colormap: Colormap,
contig: b32,
@@ -471,7 +449,7 @@ foreign xlib {
gmask: [^]uint,
bmask: [^]uint,
) -> Status ---
- XFreeColors :: proc(
+ FreeColors :: proc(
display: ^Display,
colormap: Colormap,
pixels: [^]uint,
@@ -479,347 +457,47 @@ foreign xlib {
planes: uint,
) ---
// Modifying and querying colormap cells
- XStoreColor :: proc(
+ StoreColor :: proc(
display: ^Display,
colormap: Colormap,
color: ^XColor,
) ---
- XStoreColors :: proc(
+ StoreColors :: proc(
display: ^Display,
colormap: Colormap,
color: [^]XColor,
ncolors: i32,
) ---
- XcmsStoreColor :: proc(
- display: ^Display,
- colormap: Colormap,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsStoreColors :: proc(
- display: ^Display,
- colormap: Colormap,
- colors: [^]XcmsColor,
- ncolors: XcmsColor,
- cflags: [^]b32,
- ) -> Status ---
- XStoreNamedColor :: proc(
- display: ^Display,
- colormap: Colormap,
- name: cstring,
- pixel: uint,
- flags: ColorFlags,
- ) ---
- XQueryColor :: proc(
- display: ^Display,
- colormap: Colormap,
- color: ^XColor,
- ) ---
- XQueryColors :: proc(
- display: ^Display,
- colormap: Colormap,
- colors: [^]XColor,
- ncolors: i32,
- ) ---
- XQueryExtension :: proc(
- display: ^Display,
- name: cstring,
- major_opcode_return: ^i32,
- first_event_return: ^i32,
- first_error_return: ^i32,
- ) -> b32 ---
- XcmsQueryColor :: proc(
- display: ^Display,
- colormap: Colormap,
- color: ^XcmsColor,
- format: XcmsColorFormat,
- ) -> Status ---
- XcmsQueryColors :: proc(
- display: ^Display,
- colormap: Colormap,
- color: [^]XcmsColor,
- ncolors: i32,
- format: XcmsColorFormat,
- ) -> Status ---
- // Getting and setting the color conversion context (CCC) of a colormap
- XcmsCCCOfColormap :: proc(
- display: ^Display,
- colormap: Colormap,
- ) -> XcmsCCC ---
- XcmsSetCCCOfColormap :: proc(
- display: ^Display,
- colormap: Colormap,
- ccc: XcmsCCC) -> XcmsCCC ---
- XcmsDefaultCCC :: proc(display: ^Display, screen_no: i32) -> XcmsCCC ---
- // Color conversion context macros
- XcmsDisplayOfCCC :: proc(ccc: XcmsCCC) -> ^Display ---
- XcmsVisualOfCCC :: proc(ccc: XcmsCCC) -> ^Visual ---
- XcmsScreenNumberOfCCC ::
- proc(ccc: XcmsCCC) -> i32 ---
- XcmsScreenWhitePointOfCCC ::
- proc(ccc: XcmsCCC) -> XcmsColor ---
- XcmsClientWhitePointOfCCC ::
- proc(ccc: XcmsCCC) -> XcmsColor ---
- // Modifying the attributes of color conversion context
- XcmsSetWhitePoint :: proc(
- ccc: XcmsCCC,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsSetCompressionProc :: proc(
- ccc: XcmsCCC,
- cproc: XcmsCompressionProc,
- data: rawptr,
- ) -> XcmsCompressionProc ---
- XcmsSetWhiteAdjustProc :: proc(
- ccc: XcmsCCC,
- aproc: XcmsWhiteAdjustProc,
- data: rawptr,
- ) -> XcmsWhiteAdjustProc ---
- // Creating and freeing the color conversion context
- XcmsCreateCCC :: proc(
- display: ^Display,
- screen_no: i32,
- visual: ^Visual,
- white_point: ^XcmsColor,
- cproc: XcmsCompressionProc,
- cdata: rawptr,
- aproc: XcmsWhiteAdjustProc,
- adata: rawptr,
- ) -> XcmsCCC ---
- XcmsFreeCCC :: proc(ccc: XcmsCCC) ---
- // Converting between colorspaces
- XcmsConvertColors :: proc(
- ccc: XcmsCCC,
- colors: [^]XcmsColor,
- ncolors: u32,
- format: XcmsColorFormat,
- cflags: [^]b32,
- ) -> Status ---
- // Pre-defined gamut compression callbacks
- XcmsCIELabClipL :: proc(
- ctx: XcmsCCC,
- colors: [^]XcmsColor,
- ncolors: u32,
- index: u32,
- flags: [^]b32,
- ) -> Status ---
- XcmsCIELabClipab :: proc(
- ctx: XcmsCCC,
- colors: [^]XcmsColor,
- ncolors: u32,
- index: u32,
- flags: [^]b32,
- ) -> Status ---
- XcmsCIELabClipLab :: proc(
- ctx: XcmsCCC,
- colors: [^]XcmsColor,
- ncolors: u32,
- index: u32,
- flags: [^]b32,
- ) -> Status ---
- XcmsCIELuvClipL :: proc(
- ctx: XcmsCCC,
- colors: [^]XcmsColor,
- ncolors: u32,
- index: u32,
- flags: [^]b32,
- ) -> Status ---
- XcmsCIELuvClipuv :: proc(
- ctx: XcmsCCC,
- colors: [^]XcmsColor,
- ncolors: u32,
- index: u32,
- flags: [^]b32,
- ) -> Status ---
- XcmsCIELuvClipLuv :: proc(
- ctx: XcmsCCC,
- colors: [^]XcmsColor,
- ncolors: u32,
- index: u32,
- flags: [^]b32,
- ) -> Status ---
- XcmsTekHVCClipV :: proc(
- ctx: XcmsCCC,
- colors: [^]XcmsColor,
- ncolors: u32,
- index: u32,
- flags: [^]b32,
- ) -> Status ---
- XcmsTekHVCClipC :: proc(
- ctx: XcmsCCC,
- colors: [^]XcmsColor,
- ncolors: u32,
- index: u32,
- flags: [^]b32,
- ) -> Status ---
- XcmsTekHVCClipVC :: proc(
- ctx: XcmsCCC,
- colors: [^]XcmsColor,
- ncolors: u32,
- index: u32,
- flags: [^]b32,
- ) -> Status ---
- // Pre-defined white-point adjustment procedures
- XcmsCIELabWhiteShiftColors :: proc(
- ctx: XcmsCCC,
- initial_white_point: ^XcmsColor,
- target_white_point: ^XcmsColor,
- target_format: XcmsColorFormat,
- colors: [^]XcmsColor,
- ncolors: u32,
- compression: [^]b32,
- ) -> Status ---
- XcmsCIELuvWhiteShiftColors :: proc(
- ctx: XcmsCCC,
- initial_white_point: ^XcmsColor,
- target_white_point: ^XcmsColor,
- target_format: XcmsColorFormat,
- colors: [^]XcmsColor,
- ncolors: u32,
- compression: [^]b32,
- ) -> Status ---
- XcmsTekHVCWhiteShiftColors :: proc(
- ctx: XcmsCCC,
- initial_white_point: ^XcmsColor,
- target_white_point: ^XcmsColor,
- target_format: XcmsColorFormat,
- colors: [^]XcmsColor,
- ncolors: u32,
- compression: [^]b32,
- ) -> Status ---
- // Color querying
- XcmsQueryBlack :: proc(
- ccc: XcmsCCC,
- format: XcmsColorFormat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsQueryBlue :: proc(
- ccc: XcmsCCC,
- format: XcmsColorFormat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsQueryGreen :: proc(
- ccc: XcmsCCC,
- format: XcmsColorFormat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsQueryRed :: proc(
- ccc: XcmsCCC,
- format: XcmsColorFormat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsQueryWhite :: proc(
- ccc: XcmsCCC,
- format: XcmsColorFormat,
- color: ^XcmsColor,
- ) -> Status ---
- // CIELab queries
- XcmsCIELabQueryMaxC :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- lstar: XcmsFloat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsCIELabQueryMaxL :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- chroma: XcmsFloat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsCIELabQueryMaxLC :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsCIELabQueryMinL :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- chroma: XcmsFloat,
- color: ^XcmsColor,
- ) -> Status ---
- // CIEluv queries
- XcmsCIELuvQueryMaxC :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- lstar: XcmsFloat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsCIELuvQueryMaxL :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- chroma: XcmsFloat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsCIELuvQueryMaxLC :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsCIELuvQueryMinL :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- chroma: XcmsFloat,
- color: ^XcmsColor,
- ) -> Status ---
- // TexHVX queries
- XcmsTekHVCQueryMaxC :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- value: XcmsFloat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsTekHVCQueryMaxV :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- chroma: XcmsFloat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsTekHVCQueryMaxVC :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- color: ^XcmsColor,
- ) -> Status ---
- XcmsTekHVCQueryMaxVSamples :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- colors: [^]XcmsColor,
- nsamples: u32,
- ) -> Status ---
- XcmsTekHVCQueryMinV :: proc(
- ccc: XcmsCCC,
- hue: XcmsFloat,
- chroma: XcmsFloat,
- color: ^XcmsColor,
- ) -> Status ---
// Graphics context functions
- XCreateGC :: proc(
+ CreateGC :: proc(
display: ^Display,
drawable: Drawable,
mask: GCAttributeMask,
attr: ^XGCValues,
) -> GC ---
- XCopyGC :: proc(
+ CopyGC :: proc(
display: ^Display,
src: GC,
dst: GC,
mask: GCAttributeMask,
) ---
- XChangeGC :: proc(
+ ChangeGC :: proc(
display: ^Display,
gc: GC,
mask: GCAttributeMask,
values: ^XGCValues,
) ---
- XGetGCValues :: proc(
+ GetGCValues :: proc(
display: ^Display,
gc: GC,
mask: GCAttributeMask,
values: ^XGCValues,
) -> Status ---
- XFreeGC :: proc(display: ^Display, gc: GC) ---
- XGCContextFromGC :: proc(gc: GC) -> GContext ---
- XFlushGC :: proc(display: ^Display, gc: GC) ---
+ FreeGC :: proc(display: ^Display, gc: GC) ---
+ GCContextFromGC :: proc(gc: GC) -> GContext ---
+ FlushGC :: proc(display: ^Display, gc: GC) ---
// Convenience routines for GC
- XSetState :: proc(
+ SetState :: proc(
display: ^Display,
gc: GC,
fg: uint,
@@ -827,27 +505,27 @@ foreign xlib {
fn: GCFunction,
pmask: uint,
) ---
- XSetForeground :: proc(
+ SetForeground :: proc(
display: ^Display,
gc: GC,
fg: uint,
) ---
- XSetBackground :: proc(
+ SetBackground :: proc(
display: ^Display,
gc: GC,
bg: uint,
) ---
- XSetFunction :: proc(
+ SetFunction :: proc(
display: ^Display,
gc: GC,
fn: GCFunction,
) ---
- XSetPlaneMask :: proc(
+ SetPlaneMask :: proc(
display: ^Display,
gc: GC,
pmask: uint,
) ---
- XSetLineAttributes :: proc(
+ SetLineAttributes :: proc(
display: ^Display,
gc: GC,
width: u32,
@@ -855,24 +533,24 @@ foreign xlib {
cap_style: CapStyle,
join_style: JoinStyle,
) ---
- XSetDashes :: proc(
+ SetDashes :: proc(
display: ^Display,
gc: GC,
dash_offs: i32,
dash_list: [^]i8,
n: i32,
) ---
- XSetFillStyle :: proc(
+ SetFillStyle :: proc(
display: ^Display,
gc: GC,
style: FillStyle,
) ---
- XSetFillRule :: proc(
+ SetFillRule :: proc(
display: ^Display,
gc: GC,
rule: FillRule,
) ---
- XQueryBestSize :: proc(
+ QueryBestSize :: proc(
display: ^Display,
class: i32,
which: Drawable,
@@ -881,7 +559,7 @@ foreign xlib {
out_width: ^u32,
out_height: ^u32,
) -> Status ---
- XQueryBestTile :: proc(
+ QueryBestTile :: proc(
display: ^Display,
which: Drawable,
width: u32,
@@ -889,7 +567,7 @@ foreign xlib {
out_width: ^u32,
out_height: ^u32,
) -> Status ---
- XQueryBestStripple :: proc(
+ QueryBestStripple :: proc(
display: ^Display,
which: Drawable,
width: u32,
@@ -897,13 +575,13 @@ foreign xlib {
out_width: u32,
out_height: u32,
) -> Status ---
- XSetTile :: proc(display: ^Display, gc: GC, tile: Pixmap) ---
- XSetStripple :: proc(display: ^Display, gc: GC, stripple: Pixmap) ---
- XSetTSOrigin :: proc(display: ^Display, gc: GC, x: i32, y: i32) ---
- XSetFont :: proc(display: ^Display, gc: GC, font: Font) ---
- XSetClipOrigin :: proc(display: ^Display, gc: GC, x: i32, y: i32) ---
- XSetClipMask :: proc(display: ^Display, gc: GC, pixmap: Pixmap) ---
- XSetClipRectangles :: proc(
+ SetTile :: proc(display: ^Display, gc: GC, tile: Pixmap) ---
+ SetStripple :: proc(display: ^Display, gc: GC, stripple: Pixmap) ---
+ SetTSOrigin :: proc(display: ^Display, gc: GC, x: i32, y: i32) ---
+ SetFont :: proc(display: ^Display, gc: GC, font: Font) ---
+ SetClipOrigin :: proc(display: ^Display, gc: GC, x: i32, y: i32) ---
+ SetClipMask :: proc(display: ^Display, gc: GC, pixmap: Pixmap) ---
+ SetClipRectangles :: proc(
display: ^Display,
gc: GC,
x: i32,
@@ -912,11 +590,11 @@ foreign xlib {
n: i32,
ordering: i32,
) ---
- XSetArcMode :: proc(display: ^Display, gc: GC, mode: ArcMode) ---
- XSetSubwindowMode :: proc(display: ^Display, gc: GC, mode: SubwindowMode) ---
- XSetGraphicsExposures :: proc(display: ^Display, gc: GC, exp: b32) ---
+ SetArcMode :: proc(display: ^Display, gc: GC, mode: ArcMode) ---
+ SetSubwindowMode :: proc(display: ^Display, gc: GC, mode: SubwindowMode) ---
+ SetGraphicsExposures :: proc(display: ^Display, gc: GC, exp: b32) ---
// Graphics functions
- XClearArea :: proc(
+ ClearArea :: proc(
display: ^Display,
window: Window,
x: i32,
@@ -925,11 +603,11 @@ foreign xlib {
height: u32,
exp: b32,
) ---
- XClearWindow :: proc(
+ ClearWindow :: proc(
display: ^Display,
window: Window,
) ---
- XCopyArea :: proc(
+ CopyArea :: proc(
display: ^Display,
src: Drawable,
dst: Drawable,
@@ -941,7 +619,7 @@ foreign xlib {
dst_x: i32,
dst_y: i32,
) ---
- XCopyPlane :: proc(
+ CopyPlane :: proc(
display: ^Display,
src: Drawable,
dst: Drawable,
@@ -955,14 +633,14 @@ foreign xlib {
plane: uint,
) ---
// Drawing lines, points, rectangles and arc
- XDrawPoint :: proc(
+ DrawPoint :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
x: i32,
y: i32,
) ---
- XDrawPoints :: proc(
+ DrawPoints :: proc(
display: Display,
drawable: Drawable,
gc: GC,
@@ -970,7 +648,7 @@ foreign xlib {
npoints: i32,
mode: CoordMode,
) ---
- XDrawLine :: proc(
+ DrawLine :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -979,21 +657,21 @@ foreign xlib {
x2: i32,
y2: i32,
) ---
- XDrawLines :: proc(
+ DrawLines :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
points: [^]XPoint,
npoints: i32,
) ---
- XDrawSegments :: proc(
+ DrawSegments :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
segs: [^]XSegment,
nsegs: i32,
) ---
- XDrawRectangle :: proc(
+ DrawRectangle :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1002,14 +680,14 @@ foreign xlib {
width: u32,
height: u32,
) ---
- XDrawRectangles :: proc(
+ DrawRectangles :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
rects: [^]XRectangle,
nrects: i32,
) ---
- XDrawArc :: proc(
+ DrawArc :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1020,7 +698,7 @@ foreign xlib {
angle1: i32,
angle2: i32,
) ---
- XDrawArcs :: proc(
+ DrawArcs :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1028,7 +706,7 @@ foreign xlib {
narcs: i32,
) ---
// Filling areas
- XFillRectangle :: proc(
+ FillRectangle :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1037,14 +715,14 @@ foreign xlib {
width: u32,
height: u32,
) ---
- XFillRectangles :: proc(
+ FillRectangles :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
rects: [^]XRectangle,
nrects: i32,
) ---
- XFillPolygon :: proc(
+ FillPolygon :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1053,7 +731,7 @@ foreign xlib {
shape: Shape,
mode: CoordMode,
) ---
- XFillArc :: proc(
+ FillArc :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1064,7 +742,7 @@ foreign xlib {
angle1: i32,
angle2: i32,
) ---
- XFillArcs :: proc(
+ FillArcs :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1072,26 +750,26 @@ foreign xlib {
narcs: i32,
) ---
// Font metrics
- XLoadFont :: proc(display: ^Display, name: cstring) -> Font ---
- XQueryFont :: proc(display: ^Display, id: XID) -> ^XFontStruct ---
- XLoadQueryFont :: proc(display: ^Display, name: cstring) -> ^XFontStruct ---
- XFreeFont :: proc(display: ^Display, font_struct: ^XFontStruct) ---
- XGetFontProperty :: proc(font_struct: ^XFontStruct, atom: Atom, ret: ^uint) -> b32 ---
- XUnloadFont :: proc(display: ^Display, font: Font) ---
- XListFonts :: proc(display: ^Display, pat: cstring, max: i32, count: ^i32) -> [^]cstring ---
- XFreeFontNames :: proc(display: ^Display, list: [^]cstring) ---
- XListFontsWithInfo :: proc(
+ LoadFont :: proc(display: ^Display, name: cstring) -> Font ---
+ QueryFont :: proc(display: ^Display, id: XID) -> ^XFontStruct ---
+ LoadQueryFont :: proc(display: ^Display, name: cstring) -> ^XFontStruct ---
+ FreeFont :: proc(display: ^Display, font_struct: ^XFontStruct) ---
+ GetFontProperty :: proc(font_struct: ^XFontStruct, atom: Atom, ret: ^uint) -> b32 ---
+ UnloadFont :: proc(display: ^Display, font: Font) ---
+ ListFonts :: proc(display: ^Display, pat: cstring, max: i32, count: ^i32) -> [^]cstring ---
+ FreeFontNames :: proc(display: ^Display, list: [^]cstring) ---
+ ListFontsWithInfo :: proc(
display: ^Display,
pat: cstring,
max: i32,
count: ^i32,
info: ^[^]XFontStruct,
) -> [^]cstring ---
- XFreeFontInfo :: proc(names: [^]cstring, info: [^]XFontStruct, count: i32) ---
+ FreeFontInfo :: proc(names: [^]cstring, info: [^]XFontStruct, count: i32) ---
// Computing character string sizes
- XTextWidth :: proc(font_struct: ^XFontStruct, string: [^]u8, count: i32) -> i32 ---
- XTextWidth16 :: proc(font_struct: ^XFontStruct, string: [^]XChar2b, count: i32) -> i32 ---
- XTextExtents :: proc(
+ TextWidth :: proc(font_struct: ^XFontStruct, string: [^]u8, count: i32) -> i32 ---
+ TextWidth16 :: proc(font_struct: ^XFontStruct, string: [^]XChar2b, count: i32) -> i32 ---
+ TextExtents :: proc(
font_struct: ^XFontStruct,
string: [^]u8,
nchars: i32,
@@ -1100,7 +778,7 @@ foreign xlib {
descent: ^i32,
ret: ^XCharStruct,
) ---
- XTextExtents16 :: proc(
+ TextExtents16 :: proc(
font_struct: ^XFontStruct,
string: [^]XChar2b,
nchars: i32,
@@ -1109,7 +787,7 @@ foreign xlib {
descent: ^i32,
ret: ^XCharStruct,
) ---
- XQueryTextExtents :: proc(
+ QueryTextExtents :: proc(
display: ^Display,
font_id: XID,
string: [^]u8,
@@ -1119,7 +797,7 @@ foreign xlib {
descent: ^i32,
ret: ^XCharStruct,
) ---
- XQueryTextExtents16 :: proc(
+ QueryTextExtents16 :: proc(
display: ^Display,
font_id: XID,
string: [^]XChar2b,
@@ -1130,7 +808,7 @@ foreign xlib {
ret: ^XCharStruct,
) ---
// Drawing complex text
- XDrawText :: proc(
+ DrawText :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1139,7 +817,7 @@ foreign xlib {
items: XTextItem,
nitems: i32,
) ---
- XDrawText16 :: proc(
+ DrawText16 :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1149,7 +827,7 @@ foreign xlib {
nitems: i32,
) ---
// Drawing text characters
- XDrawString :: proc(
+ DrawString :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1158,7 +836,7 @@ foreign xlib {
string: [^]u8,
length: i32,
) ---
- XDrawString16 :: proc(
+ DrawString16 :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1167,7 +845,7 @@ foreign xlib {
string: [^]XChar2b,
length: i32,
) ---
- XDrawImageString :: proc(
+ DrawImageString :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1176,7 +854,7 @@ foreign xlib {
string: [^]u8,
length: i32,
) ---
- XDrawImageString16 :: proc(
+ DrawImageString16 :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1186,8 +864,8 @@ foreign xlib {
length: i32,
) ---
// Transferring images between client and server
- XInitImage :: proc(image: ^XImage) -> Status ---
- XPutImage :: proc(
+ InitImage :: proc(image: ^XImage) -> Status ---
+ PutImage :: proc(
display: ^Display,
drawable: Drawable,
gc: GC,
@@ -1199,7 +877,7 @@ foreign xlib {
width: u32,
height: u32,
) ---
- XGetImage :: proc(
+ GetImage :: proc(
display: ^Display,
drawable: Drawable,
x: i32,
@@ -1209,7 +887,7 @@ foreign xlib {
mask: uint,
format: ImageFormat,
) -> ^XImage ---
- XGetSubImage :: proc(
+ GetSubImage :: proc(
display: ^Display,
drawable: Drawable,
src_x: i32,
@@ -1223,51 +901,51 @@ foreign xlib {
dst_y: i32,
) -> ^XImage ---
// Window and session manager functions
- XReparentWindow :: proc(
+ ReparentWindow :: proc(
display: ^Display,
window: Window,
parent: Window,
x: i32,
y: i32,
) ---
- XChangeSaveSet :: proc(
+ ChangeSaveSet :: proc(
display: ^Display,
window: Window,
mode: SaveSetChangeMode,
) ---
- XAddToSaveSet :: proc(
+ AddToSaveSet :: proc(
display: ^Display,
window: Window,
) ---
- XRemoveFromSaveSet :: proc(
+ RemoveFromSaveSet :: proc(
display: ^Display,
window: Window,
) ---
// Managing installed colormaps
- XInstallColormap :: proc(display: ^Display, colormap: Colormap) ---
- XUninstallColormap :: proc(display: ^Display, colormap: Colormap) ---
- XListInstalledColormaps :: proc(display: ^Display, window: Window, n: ^i32) -> [^]Colormap ---
+ InstallColormap :: proc(display: ^Display, colormap: Colormap) ---
+ UninstallColormap :: proc(display: ^Display, colormap: Colormap) ---
+ ListInstalledColormaps :: proc(display: ^Display, window: Window, n: ^i32) -> [^]Colormap ---
// Setting and retrieving font search paths
- XSetFontPath :: proc(display: ^Display, dirs: [^]cstring, ndirs: i32) ---
- XGetFontPath :: proc(display: ^Display, npaths: ^i32) -> [^]cstring ---
- XFreeFontPath :: proc(list: [^]cstring) ---
+ SetFontPath :: proc(display: ^Display, dirs: [^]cstring, ndirs: i32) ---
+ GetFontPath :: proc(display: ^Display, npaths: ^i32) -> [^]cstring ---
+ FreeFontPath :: proc(list: [^]cstring) ---
// Grabbing the server
- XGrabServer :: proc(display: ^Display) ---
- XUngrabServer :: proc(display: ^Display) ---
+ GrabServer :: proc(display: ^Display) ---
+ UngrabServer :: proc(display: ^Display) ---
// Killing clients
- XKillClient :: proc(display: ^Display, resource: XID) ---
+ KillClient :: proc(display: ^Display, resource: XID) ---
// Controlling the screen saver
- XSetScreenSaver :: proc(
+ SetScreenSaver :: proc(
display: ^Display,
timeout: i32,
interval: i32,
blanking: ScreenSaverBlanking,
exposures: ScreenSavingExposures,
) ---
- XForceScreenSaver :: proc(display: ^Display, mode: ScreenSaverForceMode) ---
- XActivateScreenSaver :: proc(display: ^Display) ---
- XResetScreenSaver :: proc(display: ^Display) ---
- XGetScreenSaver :: proc(
+ ForceScreenSaver :: proc(display: ^Display, mode: ScreenSaverForceMode) ---
+ ActivateScreenSaver :: proc(display: ^Display) ---
+ ResetScreenSaver :: proc(display: ^Display) ---
+ GetScreenSaver :: proc(
display: ^Display,
timeout: ^i32,
interval: ^i32,
@@ -1275,85 +953,85 @@ foreign xlib {
exposures: ^ScreenSavingExposures,
) ---
// Controlling host address
- XAddHost :: proc(display: ^Display, addr: ^XHostAddress) ---
- XAddHosts :: proc(display: ^Display, hosts: [^]XHostAddress, nhosts: i32) ---
- XListHosts :: proc(display: ^Display, nhosts: ^i32, state: [^]b32) -> [^]XHostAddress ---
- XRemoveHost :: proc(display: ^Display, host: XHostAddress) ---
- XRemoveHosts :: proc(display: ^Display, hosts: [^]XHostAddress, nhosts: i32) ---
+ AddHost :: proc(display: ^Display, addr: ^XHostAddress) ---
+ AddHosts :: proc(display: ^Display, hosts: [^]XHostAddress, nhosts: i32) ---
+ ListHosts :: proc(display: ^Display, nhosts: ^i32, state: [^]b32) -> [^]XHostAddress ---
+ RemoveHost :: proc(display: ^Display, host: XHostAddress) ---
+ RemoveHosts :: proc(display: ^Display, hosts: [^]XHostAddress, nhosts: i32) ---
// Access control list
- XSetAccessControl :: proc(display: ^Display, mode: AccessControlMode) ---
- XEnableAccessControl :: proc(display: ^Display) ---
- XDisableAccessControl :: proc(display: ^Display) ---
+ SetAccessControl :: proc(display: ^Display, mode: AccessControlMode) ---
+ EnableAccessControl :: proc(display: ^Display) ---
+ DisableAccessControl :: proc(display: ^Display) ---
// Events
- XSelectInput :: proc(display: ^Display, window: Window, mask: EventMask) ---
- XFlush :: proc(display: ^Display) ---
- XSync :: proc(display: ^Display) ---
- XEventsQueued :: proc(display: ^Display, mode: EventQueueMode) -> i32 ---
- XPending :: proc(display: ^Display) -> i32 ---
- XNextEvent :: proc(display: ^Display, event: ^XEvent) ---
- XPeekEvent :: proc(display: ^Display, event: ^XEvent) ---
- XGetEventData :: proc(display: ^Display, cookie: ^XGenericEventCookie) -> b32 ---
- XFreeEventData :: proc(display: ^Display, cookie: ^XGenericEventCookie) ---
+ SelectInput :: proc(display: ^Display, window: Window, mask: EventMask) ---
+ Flush :: proc(display: ^Display) ---
+ Sync :: proc(display: ^Display) ---
+ EventsQueued :: proc(display: ^Display, mode: EventQueueMode) -> i32 ---
+ Pending :: proc(display: ^Display) -> i32 ---
+ NextEvent :: proc(display: ^Display, event: ^XEvent) ---
+ PeekEvent :: proc(display: ^Display, event: ^XEvent) ---
+ GetEventData :: proc(display: ^Display, cookie: ^XGenericEventCookie) -> b32 ---
+ FreeEventData :: proc(display: ^Display, cookie: ^XGenericEventCookie) ---
// Selecting events using a predicate procedure
- XIfEvent :: proc(
+ IfEvent :: proc(
display: ^Display,
event: ^XEvent,
predicate: #type proc "c" (display: ^Display, event: ^XEvent, ctx: rawptr) -> b32,
ctx: rawptr,
) ---
- XCheckIfEvent :: proc(
+ CheckIfEvent :: proc(
display: ^Display,
event: ^XEvent,
predicate: #type proc "c" (display: ^Display, event: ^XEvent, ctx: rawptr) -> b32,
arg: rawptr,
) -> b32 ---
- XPeekIfEvent :: proc(
+ PeekIfEvent :: proc(
display: ^Display,
event: ^XEvent,
predicate: #type proc "c" (display: ^Display, event: ^XEvent, ctx: rawptr) -> b32,
ctx: rawptr,
) ---
// Selecting events using a window or event mask
- XWindowEvent :: proc(
+ WindowEvent :: proc(
display: ^Display,
window: Window,
mask: EventMask,
event: ^XEvent,
) ---
- XCheckWindowEvent :: proc(
+ CheckWindowEvent :: proc(
display: ^Display,
window: Window,
mask: EventMask,
event: ^XEvent,
) -> b32 ---
- XMaskEvent :: proc(
+ MaskEvent :: proc(
display: ^Display,
mask: EventMask,
event: ^XEvent,
) ---
- XCheckMaskEvent :: proc(
+ CheckMaskEvent :: proc(
display: ^Display,
mask: EventMask,
event: ^XEvent,
) -> b32 ---
- XCheckTypedEvent :: proc(
+ CheckTypedEvent :: proc(
display: ^Display,
type: EventType,
event: ^XEvent,
) -> b32 ---
- XCheckTypedWindowEvent :: proc(
+ CheckTypedWindowEvent :: proc(
display: ^Display,
window: Window,
type: EventType,
event: ^XEvent,
) -> b32 ---
// Putting events back
- XPutBackEvent :: proc(
+ PutBackEvent :: proc(
display: ^Display,
event: ^XEvent,
) ---
// Sending events to other applications
- XSendEvent :: proc(
+ SendEvent :: proc(
display: ^Display,
window: Window,
propagate: b32,
@@ -1361,8 +1039,8 @@ foreign xlib {
event: ^XEvent,
) -> Status ---
// Getting the history of pointer motion
- XDisplayMotionBufferSize :: proc(display: ^Display) -> uint ---
- XGetMotionEvents :: proc(
+ DisplayMotionBufferSize :: proc(display: ^Display) -> uint ---
+ GetMotionEvents :: proc(
display: ^Display,
window: Window,
start: Time,
@@ -1370,25 +1048,25 @@ foreign xlib {
nevents: ^i32,
) -> [^]XTimeCoord ---
// Enabling or disabling synchronization
- XSetAfterFunction :: proc(
+ SetAfterFunction :: proc(
display: ^Display,
procedure: #type proc "c" (display: ^Display) -> i32,
) -> i32 ---
- XSynchronize :: proc(
+ Synchronize :: proc(
display: ^Display,
onoff: b32,
) -> i32 ---
// Error handling
- XSetErrorHandler :: proc(
+ SetErrorHandler :: proc(
handler: #type proc "c" (display: ^Display, event: ^XErrorEvent) -> i32,
) -> i32 ---
- XGetErrorText :: proc(
+ GetErrorText :: proc(
display: ^Display,
code: i32,
buffer: [^]u8,
size: i32,
) ---
- XGetErrorDatabaseText :: proc(
+ GetErrorDatabaseText :: proc(
display: ^Display,
name: cstring,
message: cstring,
@@ -1396,12 +1074,12 @@ foreign xlib {
buffer: [^]u8,
size: i32,
) ---
- XDisplayName :: proc(string: cstring) -> cstring ---
- XSetIOErrorHandler :: proc(
+ DisplayName :: proc(string: cstring) -> cstring ---
+ SetIOErrorHandler :: proc(
handler: #type proc "c" (display: ^Display) -> i32,
) -> i32 ---
// Pointer grabbing
- XGrabPointer :: proc(
+ GrabPointer :: proc(
display: ^Display,
grab_window: Window,
owner_events: b32,
@@ -1412,17 +1090,17 @@ foreign xlib {
cursor: Cursor,
time: Time,
) -> i32 ---
- XUngrabPointer :: proc(
+ UngrabPointer :: proc(
display: ^Display,
time: Time,
) -> i32 ---
- XChangeActivePointerGrab :: proc(
+ ChangeActivePointerGrab :: proc(
display: ^Display,
event_mask: EventMask,
cursor: Cursor,
time: Time,
) ---
- XGrabButton :: proc(
+ GrabButton :: proc(
display: ^Display,
button: u32,
modifiers: InputMask,
@@ -1434,13 +1112,13 @@ foreign xlib {
confine_to: Window,
cursor: Cursor,
) ---
- XUngrabButton :: proc(
+ UngrabButton :: proc(
display: ^Display,
button: u32,
modifiers: InputMask,
grab_window: Window,
) ---
- XGrabKeyboard :: proc(
+ GrabKeyboard :: proc(
display: ^Display,
grab_window: Window,
owner_events: b32,
@@ -1448,11 +1126,11 @@ foreign xlib {
keyboard_mode: GrabMode,
time: Time,
) -> i32 ---
- XUngrabKeyboard :: proc(
+ UngrabKeyboard :: proc(
display: ^Display,
time: Time,
) ---
- XGrabKey :: proc(
+ GrabKey :: proc(
display: ^Display,
keycode: i32,
modifiers: InputMask,
@@ -1461,16 +1139,16 @@ foreign xlib {
pointer_mode: GrabMode,
keyboard_mode: GrabMode,
) ---
- XUngrabKey :: proc(
+ UngrabKey :: proc(
display: ^Display,
keycode: i32,
modifiers: InputMask,
grab_window: Window,
) ---
// Resuming event processing
- XAllowEvents :: proc(display: ^Display, evend_mode: AllowEventsMode, time: Time) ---
+ AllowEvents :: proc(display: ^Display, evend_mode: AllowEventsMode, time: Time) ---
// Moving the pointer
- XWarpPointer :: proc(
+ WarpPointer :: proc(
display: ^Display,
src_window: Window,
dst_window: Window,
@@ -1482,34 +1160,34 @@ foreign xlib {
dst_y: i32,
) ---
// Controlling input focus
- XSetInputFocus :: proc(
+ SetInputFocus :: proc(
display: ^Display,
focus: Window,
revert_to: FocusRevert,
time: Time,
) ---
- XGetInputFocus :: proc(
+ GetInputFocus :: proc(
display: ^Display,
focus: ^Window,
revert_to: ^FocusRevert,
) ---
// Manipulating the keyboard and pointer settings
- XChangeKeyboardControl :: proc(
+ ChangeKeyboardControl :: proc(
display: ^Display,
mask: KeyboardControlMask,
values: ^XKeyboardControl,
) ---
- XGetKeyboardControl :: proc(
+ GetKeyboardControl :: proc(
display: ^Display,
values: ^XKeyboardState,
) ---
- XAutoRepeatOn :: proc(display: ^Display) ---
- XAutoRepeatOff :: proc(display: ^Display) ---
- XBell :: proc(display: ^Display, percent: i32) ---
- XQueryKeymap :: proc(display: ^Display, keys: [^]u32) ---
- XSetPointerMapping :: proc(display: ^Display, map_should_not_be_a_keyword: [^]u8, nmap: i32) -> i32 ---
- XGetPointerMapping :: proc(display: ^Display, map_should_not_be_a_keyword: [^]u8, nmap: i32) -> i32 ---
- XChangePointerControl :: proc(
+ AutoRepeatOn :: proc(display: ^Display) ---
+ AutoRepeatOff :: proc(display: ^Display) ---
+ Bell :: proc(display: ^Display, percent: i32) ---
+ QueryKeymap :: proc(display: ^Display, keys: [^]u32) ---
+ SetPointerMapping :: proc(display: ^Display, map_should_not_be_a_keyword: [^]u8, nmap: i32) -> i32 ---
+ GetPointerMapping :: proc(display: ^Display, map_should_not_be_a_keyword: [^]u8, nmap: i32) -> i32 ---
+ ChangePointerControl :: proc(
display: ^Display,
do_accel: b32,
do_threshold: b32,
@@ -1517,57 +1195,57 @@ foreign xlib {
accel_denominator: i32,
threshold: i32,
) ---
- XGetPointerControl :: proc(
+ GetPointerControl :: proc(
display: ^Display,
accel_numerator: ^i32,
accel_denominator: ^i32,
threshold: ^i32,
) ---
// Manipulating the keyboard encoding
- XDisplayKeycodes :: proc(
+ DisplayKeycodes :: proc(
display: ^Display,
min_keycodes: ^i32,
max_keycodes: ^i32,
) ---
- XGetKeyboardMapping :: proc(
+ GetKeyboardMapping :: proc(
display: ^Display,
first: KeyCode,
count: i32,
keysyms_per: ^i32,
) -> ^KeySym ---
- XChangeKeyboardMapping :: proc(
+ ChangeKeyboardMapping :: proc(
display: ^Display,
first: KeyCode,
keysyms_per: i32,
keysyms: [^]KeySym,
num_codes: i32,
) ---
- XNewModifiermap :: proc(max_keys_per_mode: i32) -> ^XModifierKeymap ---
- XInsertModifiermapEntry :: proc(
+ NewModifiermap :: proc(max_keys_per_mode: i32) -> ^XModifierKeymap ---
+ InsertModifiermapEntry :: proc(
modmap: ^XModifierKeymap,
keycode_entry: KeyCode,
modifier: i32,
) -> ^XModifierKeymap ---
- XDeleteModifiermapEntry :: proc(
+ DeleteModifiermapEntry :: proc(
modmap: ^XModifierKeymap,
keycode_entry: KeyCode,
modifier: i32,
) -> ^XModifierKeymap ---
- XFreeModifiermap :: proc(modmap: ^XModifierKeymap) ---
- XSetModifierMapping :: proc(display: ^Display, modmap: ^XModifierKeymap) -> i32 ---
- XGetModifierMapping :: proc(display: ^Display) -> ^XModifierKeymap ---
+ FreeModifiermap :: proc(modmap: ^XModifierKeymap) ---
+ SetModifierMapping :: proc(display: ^Display, modmap: ^XModifierKeymap) -> i32 ---
+ GetModifierMapping :: proc(display: ^Display) -> ^XModifierKeymap ---
// Manipulating top-level windows
- XIconifyWindow :: proc(
+ IconifyWindow :: proc(
dipslay: ^Display,
window: Window,
screen_no: i32,
) -> Status ---
- XWithdrawWindow :: proc(
+ WithdrawWindow :: proc(
dipslay: ^Display,
window: Window,
screen_no: i32,
) -> Status ---
- XReconfigureWMWindow :: proc(
+ ReconfigureWMWindow :: proc(
dipslay: ^Display,
window: Window,
screen_no: i32,
@@ -1575,77 +1253,77 @@ foreign xlib {
changes: ^XWindowChanges,
) -> Status ---
// Getting and setting the WM_NAME property
- XSetWMName :: proc(
+ SetWMName :: proc(
display: ^Display,
window: Window,
prop: ^XTextProperty,
) ---
- XGetWMName :: proc(
+ GetWMName :: proc(
display: ^Display,
window: Window,
prop: ^XTextProperty,
) -> Status ---
- XStoreName :: proc(
+ StoreName :: proc(
display: ^Display,
window: Window,
name: cstring,
) ---
- XFetchName :: proc(
+ FetchName :: proc(
display: ^Display,
window: Window,
name: ^cstring,
) -> Status ---
- XSetWMIconName :: proc(
+ SetWMIconName :: proc(
display: ^Display,
window: Window,
prop: ^XTextProperty,
) ---
- XGetWMIconName :: proc(
+ GetWMIconName :: proc(
display: ^Display,
window: Window,
prop: ^XTextProperty,
) -> Status ---
- XSetIconName :: proc(
+ SetIconName :: proc(
display: ^Display,
window: Window,
name: cstring,
) ---
- XGetIconName :: proc(
+ GetIconName :: proc(
display: ^Display,
window: Window,
prop: ^cstring,
) -> Status ---
// Setting and reading WM_HINTS property
- XAllocWMHints :: proc() -> ^XWMHints ---
- XSetWMHints :: proc(
+ AllocWMHints :: proc() -> ^XWMHints ---
+ SetWMHints :: proc(
display: ^Display,
window: Window,
hints: ^XWMHints,
) ---
- XGetWMHints :: proc(
+ GetWMHints :: proc(
display: ^Display,
window: Window,
) -> ^XWMHints ---
// Setting and reading MW_NORMAL_HINTS property
- XAllocSizeHints :: proc() -> ^XSizeHints ---
- XSetWMNormalHints :: proc(
+ AllocSizeHints :: proc() -> ^XSizeHints ---
+ SetWMNormalHints :: proc(
display: ^Display,
window: Window,
hints: ^XSizeHints,
) ---
- XGetWMNormalHints :: proc(
+ GetWMNormalHints :: proc(
display: ^Display,
window: Window,
hints: ^XSizeHints,
flags: ^SizeHints,
) -> Status ---
- XSetWMSizeHints :: proc(
+ SetWMSizeHints :: proc(
display: ^Display,
window: Window,
hints: ^XSizeHints,
prop: Atom,
) ---
- XGetWMSizeHints :: proc(
+ GetWMSizeHints :: proc(
display: ^Display,
window: Window,
hints: ^XSizeHints,
@@ -1653,70 +1331,70 @@ foreign xlib {
prop: Atom,
) -> Status ---
// Setting and reading the WM_CLASS property
- XAllocClassHint :: proc() -> ^XClassHint ---
- XSetClassHint :: proc(
+ AllocClassHint :: proc() -> ^XClassHint ---
+ SetClassHint :: proc(
display: ^Display,
window: Window,
hint: ^XClassHint,
) ---
- XGetClassHint :: proc(
+ GetClassHint :: proc(
display: ^Display,
window: Window,
hint: ^XClassHint,
) -> Status ---
// Setting and reading WM_TRANSIENT_FOR property
- XSetTransientForHint :: proc(
+ SetTransientForHint :: proc(
display: ^Display,
window: Window,
prop_window: Window,
) ---
- XGetTransientForHint :: proc(
+ GetTransientForHint :: proc(
display: ^Display,
window: Window,
prop_window: ^Window,
) -> Status ---
// Setting and reading the WM_PROTOCOLS property
- XSetWMProtocols :: proc(
+ SetWMProtocols :: proc(
display: ^Display,
window: Window,
protocols: [^]Atom,
count: i32,
) -> Status ---
- XGetWMProtocols :: proc(
+ GetWMProtocols :: proc(
display: ^Display,
window: Window,
protocols: ^[^]Atom,
count: ^i32,
) -> Status ---
// Setting and reading the WM_COLORMAP_WINDOWS property
- XSetWMColormapWindows :: proc(
+ SetWMColormapWindows :: proc(
display: ^Display,
window: Window,
colormap_windows: [^]Window,
count: i32,
) -> Status ---
- XGetWMColormapWindows :: proc(
+ GetWMColormapWindows :: proc(
display: ^Display,
window: Window,
colormap_windows: ^[^]Window,
count: ^i32,
) -> Status ---
// Setting and reading the WM_ICON_SIZE_PROPERTY
- XAllocIconSize :: proc() -> ^XIconSize ---
- XSetIconSizes :: proc(
+ AllocIconSize :: proc() -> ^XIconSize ---
+ SetIconSizes :: proc(
display: ^Display,
window: Window,
size_list: [^]XIconSize,
count: i32,
) ---
- XGetIconSizes :: proc(
+ GetIconSizes :: proc(
display: ^Display,
window: Window,
size_list: ^[^]XIconSize,
count: ^i32,
) -> Status ---
// Using window manager convenience functions
- XmbSetWMProperties :: proc(
+ mbSetWMProperties :: proc(
display: ^Display,
window: Window,
window_name: cstring,
@@ -1727,7 +1405,7 @@ foreign xlib {
wm_hints: ^XWMHints,
class_hints: ^XClassHint,
) ---
- XSetWMProperties :: proc(
+ SetWMProperties :: proc(
display: ^Display,
window: Window,
window_name: ^XTextProperty,
@@ -1738,35 +1416,35 @@ foreign xlib {
class_hints: ^XWMHints,
) ---
// Client to session manager communication
- XSetCommand :: proc(
+ SetCommand :: proc(
display: ^Display,
window: Window,
argv: [^]cstring,
argc: i32,
) ---
- XGetCommand :: proc(
+ GetCommand :: proc(
display: ^Display,
window: Window,
argv: ^[^]cstring,
argc: ^i32,
) -> Status ---
- XSetWMClientMachine :: proc(
+ SetWMClientMachine :: proc(
display: ^Display,
window: Window,
prop: ^XTextProperty,
) ---
- XGetWMClientMachine :: proc(
+ GetWMClientMachine :: proc(
display: ^Display,
window: Window,
prop: ^XTextProperty,
) -> Status ---
- XSetRGBColormaps :: proc(
+ SetRGBColormaps :: proc(
display: ^Display,
window: Window,
colormap: ^XStandardColormap,
prop: Atom,
) ---
- XGetRGBColormaps :: proc(
+ GetRGBColormaps :: proc(
display: ^Display,
window: Window,
colormap: ^[^]XStandardColormap,
@@ -1774,35 +1452,35 @@ foreign xlib {
prop: Atom,
) -> Status ---
// Keyboard utility functions
- XLookupKeysym :: proc(
+ LookupKeysym :: proc(
event: ^XKeyEvent,
index: i32,
) -> KeySym ---
- XKeycodeToKeysym :: proc(
+ KeycodeToKeysym :: proc(
display: ^Display,
keycode: KeyCode,
index: i32,
) -> KeySym ---
- XKeysymToKeycode :: proc(
+ KeysymToKeycode :: proc(
display: ^Display,
keysym: KeySym,
) -> KeyCode ---
- XRefreshKeyboardMapping :: proc(event_map: ^XMappingEvent) ---
- XConvertCase :: proc(
+ RefreshKeyboardMapping :: proc(event_map: ^XMappingEvent) ---
+ ConvertCase :: proc(
keysym: KeySym,
lower: ^KeySym,
upper: ^KeySym,
) ---
- XStringToKeysym :: proc(str: cstring) -> KeySym ---
- XKeysymToString :: proc(keysym: KeySym) -> cstring ---
- XLookupString :: proc(
+ StringToKeysym :: proc(str: cstring) -> KeySym ---
+ KeysymToString :: proc(keysym: KeySym) -> cstring ---
+ LookupString :: proc(
event: ^XKeyEvent,
buffer: [^]u8,
count: i32,
keysym: ^KeySym,
status: ^XComposeStatus,
) -> i32 ---
- XRebindKeysym :: proc(
+ RebindKeysym :: proc(
display: ^Display,
keysym: KeySym,
list: [^]KeySym,
@@ -1811,16 +1489,16 @@ foreign xlib {
num_bytes: i32,
) ---
// Allocating permanent storage
- XPermalloc :: proc(size: u32) -> rawptr ---
+ Permalloc :: proc(size: u32) -> rawptr ---
// Parsing the window geometry
- XParseGeometry :: proc(
+ ParseGeometry :: proc(
parsestring: cstring,
x_ret: ^i32,
y_ret: ^i32,
width: ^u32,
height: ^u32,
) -> i32 ---
- XWMGeometry :: proc(
+ WMGeometry :: proc(
display: ^Display,
screen_no: i32,
user_geom: cstring,
@@ -1834,45 +1512,45 @@ foreign xlib {
grav: ^Gravity,
) -> i32 ---
// Creating, copying and destroying regions
- XCreateRegion :: proc() -> Region ---
- XPolygonRegion :: proc(
+ CreateRegion :: proc() -> Region ---
+ PolygonRegion :: proc(
points: [^]XPoint,
n: i32,
fill: FillRule,
) -> Region ---
- XSetRegion :: proc(
+ SetRegion :: proc(
display: ^Display,
gc: GC,
region: Region,
) ---
- XDestroyRegion :: proc(r: Region) ---
+ DestroyRegion :: proc(r: Region) ---
// Moving or shrinking regions
- XOffsetRegion :: proc(region: Region, dx, dy: i32) ---
- XShrinkRegion :: proc(region: Region, dx, dy: i32) ---
+ OffsetRegion :: proc(region: Region, dx, dy: i32) ---
+ ShrinkRegion :: proc(region: Region, dx, dy: i32) ---
// Computing with regions
- XClipBox :: proc(region: Region, rect: ^XRectangle) ---
- XIntersectRegion :: proc(sra, srb, ret: Region) ---
- XUnionRegion :: proc(sra, srb, ret: Region) ---
- XUnionRectWithRegion :: proc(rect: ^XRectangle, src, dst: Region) ---
- XSubtractRegion :: proc(sra, srb, ret: Region) ---
- XXorRegion :: proc(sra, srb, ret: Region) ---
- XEmptyRegion :: proc(reg: Region) -> b32 ---
- XEqualRegion :: proc(a,b: Region) -> b32 ---
- XPointInRegion :: proc(reg: Region, x,y: i32) -> b32 ---
- XRectInRegion :: proc(reg: Region, x,y: i32, w,h: u32) -> b32 ---
+ ClipBox :: proc(region: Region, rect: ^XRectangle) ---
+ IntersectRegion :: proc(sra, srb, ret: Region) ---
+ UnionRegion :: proc(sra, srb, ret: Region) ---
+ UnionRectWithRegion :: proc(rect: ^XRectangle, src, dst: Region) ---
+ SubtractRegion :: proc(sra, srb, ret: Region) ---
+ XorRegion :: proc(sra, srb, ret: Region) ---
+ EmptyRegion :: proc(reg: Region) -> b32 ---
+ EqualRegion :: proc(a,b: Region) -> b32 ---
+ PointInRegion :: proc(reg: Region, x,y: i32) -> b32 ---
+ RectInRegion :: proc(reg: Region, x,y: i32, w,h: u32) -> b32 ---
// Using cut buffers
- XStoreBytes :: proc(display: ^Display, bytes: [^]u8, nbytes: i32) ---
- XStoreBuffer :: proc(display: ^Display, bytes: [^]u8, nbytes: i32, buffer: i32) ---
- XFetchBytes :: proc(display: ^Display, nbytes: ^i32) -> [^]u8 ---
- XFetchBuffer :: proc(display: ^Display, nbytes: ^i32, buffer: i32) -> [^]u8 ---
+ StoreBytes :: proc(display: ^Display, bytes: [^]u8, nbytes: i32) ---
+ StoreBuffer :: proc(display: ^Display, bytes: [^]u8, nbytes: i32, buffer: i32) ---
+ FetchBytes :: proc(display: ^Display, nbytes: ^i32) -> [^]u8 ---
+ FetchBuffer :: proc(display: ^Display, nbytes: ^i32, buffer: i32) -> [^]u8 ---
// Determining the appropriate visual types
- XGetVisualInfo :: proc(
+ GetVisualInfo :: proc(
display: ^Display,
mask: VisualInfoMask,
info: ^XVisualInfo,
nret: ^i32,
) -> [^]XVisualInfo ---
- XMatchVisualInfo :: proc(
+ MatchVisualInfo :: proc(
display: ^Display,
screen_no: i32,
depth: i32,
@@ -1880,7 +1558,7 @@ foreign xlib {
ret: ^XVisualInfo,
) -> Status ---
// Manipulating images
- XCreateImage :: proc(
+ CreateImage :: proc(
display: ^Display,
visual: ^Visual,
depth: u32,
@@ -1892,27 +1570,357 @@ foreign xlib {
pad: i32,
stride: i32,
) -> ^XImage ---
- XGetPixel :: proc(
+ GetPixel :: proc(
image: ^XImage,
x: i32,
y: i32,
) -> uint ---
- XPutPixel :: proc(
+ PutPixel :: proc(
image: ^XImage,
x: i32,
y: i32,
pixel: uint,
) ---
- XSubImage :: proc(
+ SubImage :: proc(
image: ^XImage,
x: i32,
y: i32,
w: u32,
h: u32,
) -> ^XImage ---
- XAddPixel :: proc(
+ AddPixel :: proc(
image: ^XImage,
value: int,
) ---
- XDestroyImage :: proc(image: ^XImage) ---
+ DestroyImage :: proc(image: ^XImage) ---
+ ResourceManagerString :: proc(display: ^Display) -> cstring ---
+}
+
+@(default_calling_convention="c")
+foreign xlib {
+ XcmsLookupColor :: proc(
+ display: ^Display,
+ colormap: Colormap,
+ name: cstring,
+ exact: XcmsColor,
+ screen: XcmsColor,
+ format: XcmsColorFormat,
+ ) -> Status ---
+ XcmsStoreColor :: proc(
+ display: ^Display,
+ colormap: Colormap,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsStoreColors :: proc(
+ display: ^Display,
+ colormap: Colormap,
+ colors: [^]XcmsColor,
+ ncolors: XcmsColor,
+ cflags: [^]b32,
+ ) -> Status ---
+ StoreNamedColor :: proc(
+ display: ^Display,
+ colormap: Colormap,
+ name: cstring,
+ pixel: uint,
+ flags: ColorFlags,
+ ) ---
+ QueryColor :: proc(
+ display: ^Display,
+ colormap: Colormap,
+ color: ^XColor,
+ ) ---
+ QueryColors :: proc(
+ display: ^Display,
+ colormap: Colormap,
+ colors: [^]XColor,
+ ncolors: i32,
+ ) ---
+ QueryExtension :: proc(
+ display: ^Display,
+ name: cstring,
+ major_opcode_return: ^i32,
+ first_event_return: ^i32,
+ first_error_return: ^i32,
+ ) -> b32 ---
+ XcmsQueryColor :: proc(
+ display: ^Display,
+ colormap: Colormap,
+ color: ^XcmsColor,
+ format: XcmsColorFormat,
+ ) -> Status ---
+ XcmsQueryColors :: proc(
+ display: ^Display,
+ colormap: Colormap,
+ color: [^]XcmsColor,
+ ncolors: i32,
+ format: XcmsColorFormat,
+ ) -> Status ---
+ // Getting and setting the color conversion context (CCC) of a colormap
+ XcmsCCCOfColormap :: proc(
+ display: ^Display,
+ colormap: Colormap,
+ ) -> XcmsCCC ---
+ XcmsSetCCCOfColormap :: proc(
+ display: ^Display,
+ colormap: Colormap,
+ ccc: XcmsCCC) -> XcmsCCC ---
+ XcmsDefaultCCC :: proc(display: ^Display, screen_no: i32) -> XcmsCCC ---
+ // Color conversion context macros
+ XcmsDisplayOfCCC :: proc(ccc: XcmsCCC) -> ^Display ---
+ XcmsVisualOfCCC :: proc(ccc: XcmsCCC) -> ^Visual ---
+ XcmsScreenNumberOfCCC ::
+ proc(ccc: XcmsCCC) -> i32 ---
+ XcmsScreenWhitePointOfCCC ::
+ proc(ccc: XcmsCCC) -> XcmsColor ---
+ XcmsClientWhitePointOfCCC ::
+ proc(ccc: XcmsCCC) -> XcmsColor ---
+ // Modifying the attributes of color conversion context
+ XcmsSetWhitePoint :: proc(
+ ccc: XcmsCCC,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsSetCompressionProc :: proc(
+ ccc: XcmsCCC,
+ cproc: XcmsCompressionProc,
+ data: rawptr,
+ ) -> XcmsCompressionProc ---
+ XcmsSetWhiteAdjustProc :: proc(
+ ccc: XcmsCCC,
+ aproc: XcmsWhiteAdjustProc,
+ data: rawptr,
+ ) -> XcmsWhiteAdjustProc ---
+ // Creating and freeing the color conversion context
+ XcmsCreateCCC :: proc(
+ display: ^Display,
+ screen_no: i32,
+ visual: ^Visual,
+ white_point: ^XcmsColor,
+ cproc: XcmsCompressionProc,
+ cdata: rawptr,
+ aproc: XcmsWhiteAdjustProc,
+ adata: rawptr,
+ ) -> XcmsCCC ---
+ XcmsFreeCCC :: proc(ccc: XcmsCCC) ---
+ // Converting between colorspaces
+ XcmsConvertColors :: proc(
+ ccc: XcmsCCC,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ format: XcmsColorFormat,
+ cflags: [^]b32,
+ ) -> Status ---
+ // Pre-defined gamut compression callbacks
+ XcmsCIELabClipL :: proc(
+ ctx: XcmsCCC,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ index: u32,
+ flags: [^]b32,
+ ) -> Status ---
+ XcmsCIELabClipab :: proc(
+ ctx: XcmsCCC,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ index: u32,
+ flags: [^]b32,
+ ) -> Status ---
+ XcmsCIELabClipLab :: proc(
+ ctx: XcmsCCC,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ index: u32,
+ flags: [^]b32,
+ ) -> Status ---
+ XcmsCIELuvClipL :: proc(
+ ctx: XcmsCCC,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ index: u32,
+ flags: [^]b32,
+ ) -> Status ---
+ XcmsCIELuvClipuv :: proc(
+ ctx: XcmsCCC,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ index: u32,
+ flags: [^]b32,
+ ) -> Status ---
+ XcmsCIELuvClipLuv :: proc(
+ ctx: XcmsCCC,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ index: u32,
+ flags: [^]b32,
+ ) -> Status ---
+ XcmsTekHVCClipV :: proc(
+ ctx: XcmsCCC,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ index: u32,
+ flags: [^]b32,
+ ) -> Status ---
+ XcmsTekHVCClipC :: proc(
+ ctx: XcmsCCC,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ index: u32,
+ flags: [^]b32,
+ ) -> Status ---
+ XcmsTekHVCClipVC :: proc(
+ ctx: XcmsCCC,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ index: u32,
+ flags: [^]b32,
+ ) -> Status ---
+ // Pre-defined white-point adjustment procedures
+ XcmsCIELabWhiteShiftColors :: proc(
+ ctx: XcmsCCC,
+ initial_white_point: ^XcmsColor,
+ target_white_point: ^XcmsColor,
+ target_format: XcmsColorFormat,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ compression: [^]b32,
+ ) -> Status ---
+ XcmsCIELuvWhiteShiftColors :: proc(
+ ctx: XcmsCCC,
+ initial_white_point: ^XcmsColor,
+ target_white_point: ^XcmsColor,
+ target_format: XcmsColorFormat,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ compression: [^]b32,
+ ) -> Status ---
+ XcmsTekHVCWhiteShiftColors :: proc(
+ ctx: XcmsCCC,
+ initial_white_point: ^XcmsColor,
+ target_white_point: ^XcmsColor,
+ target_format: XcmsColorFormat,
+ colors: [^]XcmsColor,
+ ncolors: u32,
+ compression: [^]b32,
+ ) -> Status ---
+ // Color querying
+ XcmsQueryBlack :: proc(
+ ccc: XcmsCCC,
+ format: XcmsColorFormat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsQueryBlue :: proc(
+ ccc: XcmsCCC,
+ format: XcmsColorFormat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsQueryGreen :: proc(
+ ccc: XcmsCCC,
+ format: XcmsColorFormat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsQueryRed :: proc(
+ ccc: XcmsCCC,
+ format: XcmsColorFormat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsQueryWhite :: proc(
+ ccc: XcmsCCC,
+ format: XcmsColorFormat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ // CIELab queries
+ XcmsCIELabQueryMaxC :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ lstar: XcmsFloat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsCIELabQueryMaxL :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ chroma: XcmsFloat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsCIELabQueryMaxLC :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsCIELabQueryMinL :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ chroma: XcmsFloat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ // CIEluv queries
+ XcmsCIELuvQueryMaxC :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ lstar: XcmsFloat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsCIELuvQueryMaxL :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ chroma: XcmsFloat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsCIELuvQueryMaxLC :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsCIELuvQueryMinL :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ chroma: XcmsFloat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ // TexHVX queries
+ XcmsTekHVCQueryMaxC :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ value: XcmsFloat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsTekHVCQueryMaxV :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ chroma: XcmsFloat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsTekHVCQueryMaxVC :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsTekHVCQueryMaxVSamples :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ colors: [^]XcmsColor,
+ nsamples: u32,
+ ) -> Status ---
+ XcmsTekHVCQueryMinV :: proc(
+ ccc: XcmsCCC,
+ hue: XcmsFloat,
+ chroma: XcmsFloat,
+ color: ^XcmsColor,
+ ) -> Status ---
+ XcmsAllocNamedColor :: proc(
+ display: ^Display,
+ colormap: Colormap,
+ name: cstring,
+ screen: ^XcmsColor,
+ exact: ^XcmsColor,
+ format: XcmsColorFormat,
+ ) -> Status ---
+ XcmsAllocColor :: proc(
+ display: ^Display,
+ colormap: Colormap,
+ color: ^XcmsColor,
+ format: XcmsColorFormat,
+ ) -> Status ---
+ XrmInitialize :: proc() ---
+ XrmGetStringDatabase :: proc(data: cstring) -> XrmDatabase ---
+ XrmGetResource :: proc(db: XrmDatabase, name: cstring, class: cstring, type_return: ^cstring, val_return: ^XrmValue) -> b32 ---
}