diff options
Diffstat (limited to 'vendor')
| -rw-r--r-- | vendor/egl/egl.odin | 2 | ||||
| -rw-r--r-- | vendor/x11/xlib/xlib_procs.odin | 1392 |
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 --- } |