diff --git a/.gitattributes b/.gitattributes index 38a6487..799249a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,2 +1,3 @@ *.dll filter=lfs diff=lfs merge=lfs -text *.pdf filter=lfs diff=lfs merge=lfs -text +*.so filter=lfs diff=lfs merge=lfs -text diff --git a/packages/sciter/build.zig b/packages/sciter/build.zig index be0f7a0..b1751c6 100644 --- a/packages/sciter/build.zig +++ b/packages/sciter/build.zig @@ -1,39 +1,78 @@ const std = @import("std"); pub fn build(b: *std.Build) void { - const target = b.resolveTargetQuery(.{ - .cpu_arch = .x86_64, - .os_tag = .windows, - .abi = .msvc, + const target = b.standardTargetOptions(.{ + .whitelist = &.{ + .{ + .cpu_arch = .x86_64, + .os_tag = .windows, + .abi = .msvc, + }, + .{ + .cpu_arch = .aarch64, + .os_tag = .windows, + .abi = .msvc, + }, + .{ + .cpu_arch = .x86_64, + .os_tag = .linux, + .abi = .gnu, + }, + .{ + .cpu_arch = .aarch64, + .os_tag = .linux, + .abi = .gnu, + }, + }, }); const optimize = b.standardOptimizeOption(.{}); - const zigwin32 = b.dependency("zigwin32", .{}); - const zigwin32_mod = zigwin32.module("win32"); - zigwin32_mod.resolved_target = target; - zigwin32_mod.optimize = optimize; - const exe_mod = b.createModule(.{ .root_source_file = b.path("src/main.zig"), .target = target, .optimize = optimize, }); - exe_mod.addImport("win32", zigwin32_mod); - const exe = b.addExecutable(.{ .name = "sciter", .root_module = exe_mod, }); b.installArtifact(exe); - b.getInstallStep().dependOn(&b.addInstallBinFile(b.path("vendor/sciter.dll"), "sciter.dll").step); + + switch (target.result.os.tag) { + .windows => { + const zigwin32 = b.dependency("zigwin32", .{}); + const zigwin32_mod = zigwin32.module("win32"); + zigwin32_mod.resolved_target = target; + zigwin32_mod.optimize = optimize; + + exe_mod.addImport("win32", zigwin32_mod); + + const dll_source_path = b.path(b.fmt("vendor/windows/{s}/sciter.dll", .{@tagName(target.result.cpu.arch)})); + const dll_dest_path = "sciter.dll"; + + b.getInstallStep().dependOn(&b.addInstallBinFile(dll_source_path, dll_dest_path).step); + }, + .linux => { + exe_mod.linkSystemLibrary("c", .{}); + exe_mod.linkSystemLibrary("X11", .{}); + + const so_source_path = b.path(b.fmt("vendor/linux/{s}/libsciter.so", .{@tagName(target.result.cpu.arch)})); + const so_dest_path = "libsciter.so"; + + b.getInstallStep().dependOn(&b.addInstallBinFile(so_source_path, so_dest_path).step); + }, + else => unreachable, + } const run_cmd = b.addRunArtifact(exe); run_cmd.step.dependOn(b.getInstallStep()); if (b.args) |args| { run_cmd.addArgs(args); } + run_cmd.setCwd(.{ .cwd_relative = b.exe_dir }); + //run_cmd.setCwd(exe.getEmittedBinDirectory()); const run_step = b.step("run", "Run the app"); run_step.dependOn(&run_cmd.step); diff --git a/packages/sciter/src/main.zig b/packages/sciter/src/main.zig index 538acf7..879c75d 100644 --- a/packages/sciter/src/main.zig +++ b/packages/sciter/src/main.zig @@ -1,5 +1,6 @@ const sciter = @import("sciter.zig"); const std = @import("std"); +const x11 = @import("x11.zig"); const wam = @import("win32").ui.windows_and_messaging; const win32 = @import("win32").foundation; @@ -76,6 +77,8 @@ pub fn wWinMain( std.posix.exit(1); }; + _ = sciter_api.SciterSetOption(0, 10, 1); + sciter_api.SciterSetupDebugOutput(hwnd, null, &sciterDebugOutputProc); _ = sciter_api.SciterLoadHtml(hwnd, html, html.len, L("/")); _ = wam.ShowWindow(hwnd, @bitCast(nCmdShow)); @@ -113,3 +116,99 @@ fn WindowProc( return wam.DefWindowProcW(hwnd, uMsg, wParam, lParam); } + +pub fn main() void { + const sciter_module = std.c.dlopen("./libsciter.so", .{ .LAZY = true }) orelse { + const err = std.c.dlerror(); + const nl = "\n"; + _ = std.posix.writev(std.posix.STDERR_FILENO, &.{ + .{ .base = err.?, .len = std.mem.indexOfSentinel(u8, 0, err.?) }, + .{ .base = nl, .len = nl.len }, + }) catch {}; + std.posix.exit(1); + }; + + const sciter_api_fn: *const fn () ?*sciter.API = @ptrCast(std.c.dlsym(sciter_module, "SciterAPI") orelse { + _ = std.posix.write(std.posix.STDERR_FILENO, "Couldn't load Sciter API.\n") catch {}; + std.posix.exit(1); + }); + + sciter_api = sciter_api_fn() orelse { + _ = std.posix.write(std.posix.STDERR_FILENO, "Couldn't load Sciter API.\n") catch {}; + std.posix.exit(1); + }; + + std.debug.print("Sciter API version is: 0x{X:0>8}\n", .{sciter_api.version}); + + const display = x11.XOpenDisplay(null) orelse { + _ = std.posix.write(std.posix.STDERR_FILENO, "Couldn't open connection to X server.\n") catch {}; + std.posix.exit(1); + }; + defer _ = x11.XCloseDisplay(display); + + const window = x11.XCreateSimpleWindow( + display, + x11.DefaultRootWindow(display), + 0, + 0, + 720, + 480, + 0, + x11.BlackPixel(display, x11.DefaultScreen(display)), + x11.BlackPixel(display, x11.DefaultScreen(display)), + ); + defer _ = x11.XDestroyWindow(display, window); + + const event_mask = x11.KeyPressMask | + x11.KeyReleaseMask | + x11.ButtonPressMask | + x11.ButtonReleaseMask | + x11.EnterWindowMask | + x11.LeaveWindowMask | + x11.PointerMotionMask; + _ = x11.XSelectInput(display, window, event_mask); + + _ = x11.XStoreName(display, window, "Sciter Demo"); + + const wm_delete_window = x11.XInternAtom(display, "WM_DELETE_WINDOW", x11.False); + _ = x11.XSetWMProtocols(display, window, @constCast(&wm_delete_window), 1); + + _ = x11.XMapWindow(display, window); + defer _ = x11.XUnmapWindow(display, window); + + _ = sciter_api.SciterSetOption(0, 10, 1); + sciter_api.SciterSetupDebugOutput(window, null, &sciterDebugOutputProc); + _ = sciter_api.SciterLoadHtml(window, html, html.len, L("/")); + + var event: x11.XEvent = undefined; + var running = true; + while (running) { + _ = x11.XNextEvent(display, &event); + switch (event.type) { + x11.ClientMessage => { + const atom: x11.Atom = @bitCast(event.xclient.data.l[0]); + if (atom == wm_delete_window) { + running = false; + } + }, + else => {}, + } + } +} + +fn sciterDebugOutputProc( + _: ?*anyopaque, + subsystem: sciter.OutputSubsystems, + severity: u32, + text: [*]const u16, + text_length: u32, +) callconv(.c) void { + var utf8_buf: [4096]u8 = undefined; + + const text_utf16 = text[0..text_length]; + const len = std.unicode.wtf16LeToWtf8(&utf8_buf, text_utf16); + + const text_utf8 = utf8_buf[0..len]; + + std.debug.print("subsystem: {} | severity: {} | {s}\n", .{ subsystem, severity, text_utf8 }); +} diff --git a/packages/sciter/src/sciter.zig b/packages/sciter/src/sciter.zig index c32cf80..c6b3d5c 100644 --- a/packages/sciter/src/sciter.zig +++ b/packages/sciter/src/sciter.zig @@ -1,3 +1,5 @@ +const std = @import("std"); + pub const CStr = [*:0]const u8; pub const CWStr = [*:0]const u16; @@ -10,10 +12,16 @@ pub const HNode = *Node; pub const SArchive = opaque {}; pub const HSArchive = *SArchive; -/// - Windows: `HWND` -/// - OS X: `NSView*` -/// - Linux/GTK: `GtkWidget*` -pub const HWindow = *anyopaque; +pub const HWindow = switch (@import("builtin").os.tag) { + .windows => @import("win32").foundation.HWND, + .linux => @import("x11.zig").Window, + else => @compileError("System not supported"), +}; + +pub const HWindowOptional = switch (@typeInfo(HWindow)) { + .pointer => @Type(.{ .optional = .{ .child = HWindow } }), + else => HWindow, +}; pub const BehaviorEventParams = extern struct { cmd: BehaviorEvents, @@ -447,9 +455,9 @@ pub const API = extern struct { SciterCreateWidget: *anyopaque, SciterCreateWindow: *const fn (creationFlags: u32, frame: *Rect, delegate: *const WindowDelegate, delegateParam: ?*anyopaque, parent: HWindow) callconv(.c) HWindow, - SciterSetupDebugOutput: *const fn (hwndOrNull: ?HWindow, param: ?*anyopaque, pfOutput: ?*DebugOutputProc) callconv(.c) void, + SciterSetupDebugOutput: *const fn (hwndOrNull: HWindowOptional, param: ?*anyopaque, pfOutput: ?*const DebugOutputProc) callconv(.c) void, - // --- DOM API ------------------------------------------------------------- + // --- DOM API -------------------------------------------------------------- Sciter_UseElement: *const fn (he: HElement) callconv(.c) DomResult, Sciter_UnuseElement: *const fn (he: HElement) callconv(.c) DomResult, diff --git a/packages/sciter/src/x11.zig b/packages/sciter/src/x11.zig new file mode 100644 index 0000000..6f706ff --- /dev/null +++ b/packages/sciter/src/x11.zig @@ -0,0 +1,2051 @@ +pub const XID = c_ulong; +pub const Mask = c_ulong; +pub const Atom = c_ulong; +pub const VisualID = c_ulong; +pub const Time = c_ulong; +pub const Window = XID; +pub const Drawable = XID; +pub const Font = XID; +pub const Pixmap = XID; +pub const Cursor = XID; +pub const Colormap = XID; +pub const GContext = XID; +pub const KeySym = XID; +pub const KeyCode = u8; +pub const ptrdiff_t = c_long; +pub const wchar_t = c_int; +pub extern fn _Xmblen(str: [*c]u8, len: c_int) c_int; +pub const XPointer = [*c]u8; +pub const struct__XExtData = extern struct { + number: c_int = @import("std").mem.zeroes(c_int), + next: [*c]struct__XExtData = @import("std").mem.zeroes([*c]struct__XExtData), + free_private: ?*const fn ([*c]struct__XExtData) callconv(.c) c_int = @import("std").mem.zeroes(?*const fn ([*c]struct__XExtData) callconv(.c) c_int), + private_data: XPointer = @import("std").mem.zeroes(XPointer), +}; +pub const XExtData = struct__XExtData; +pub const XExtCodes = extern struct { + extension: c_int = @import("std").mem.zeroes(c_int), + major_opcode: c_int = @import("std").mem.zeroes(c_int), + first_event: c_int = @import("std").mem.zeroes(c_int), + first_error: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XPixmapFormatValues = extern struct { + depth: c_int = @import("std").mem.zeroes(c_int), + bits_per_pixel: c_int = @import("std").mem.zeroes(c_int), + scanline_pad: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XGCValues = extern struct { + function: c_int = @import("std").mem.zeroes(c_int), + plane_mask: c_ulong = @import("std").mem.zeroes(c_ulong), + foreground: c_ulong = @import("std").mem.zeroes(c_ulong), + background: c_ulong = @import("std").mem.zeroes(c_ulong), + line_width: c_int = @import("std").mem.zeroes(c_int), + line_style: c_int = @import("std").mem.zeroes(c_int), + cap_style: c_int = @import("std").mem.zeroes(c_int), + join_style: c_int = @import("std").mem.zeroes(c_int), + fill_style: c_int = @import("std").mem.zeroes(c_int), + fill_rule: c_int = @import("std").mem.zeroes(c_int), + arc_mode: c_int = @import("std").mem.zeroes(c_int), + tile: Pixmap = @import("std").mem.zeroes(Pixmap), + stipple: Pixmap = @import("std").mem.zeroes(Pixmap), + ts_x_origin: c_int = @import("std").mem.zeroes(c_int), + ts_y_origin: c_int = @import("std").mem.zeroes(c_int), + font: Font = @import("std").mem.zeroes(Font), + subwindow_mode: c_int = @import("std").mem.zeroes(c_int), + graphics_exposures: c_int = @import("std").mem.zeroes(c_int), + clip_x_origin: c_int = @import("std").mem.zeroes(c_int), + clip_y_origin: c_int = @import("std").mem.zeroes(c_int), + clip_mask: Pixmap = @import("std").mem.zeroes(Pixmap), + dash_offset: c_int = @import("std").mem.zeroes(c_int), + dashes: u8 = @import("std").mem.zeroes(u8), +}; +pub const struct__XGC = opaque {}; +pub const GC = ?*struct__XGC; +pub const Visual = extern struct { + ext_data: [*c]XExtData = @import("std").mem.zeroes([*c]XExtData), + visualid: VisualID = @import("std").mem.zeroes(VisualID), + class: c_int = @import("std").mem.zeroes(c_int), + red_mask: c_ulong = @import("std").mem.zeroes(c_ulong), + green_mask: c_ulong = @import("std").mem.zeroes(c_ulong), + blue_mask: c_ulong = @import("std").mem.zeroes(c_ulong), + bits_per_rgb: c_int = @import("std").mem.zeroes(c_int), + map_entries: c_int = @import("std").mem.zeroes(c_int), +}; +pub const Depth = extern struct { + depth: c_int = @import("std").mem.zeroes(c_int), + nvisuals: c_int = @import("std").mem.zeroes(c_int), + visuals: [*c]Visual = @import("std").mem.zeroes([*c]Visual), +}; +pub const struct__XDisplay = opaque {}; +pub const Screen = extern struct { + ext_data: [*c]XExtData = @import("std").mem.zeroes([*c]XExtData), + display: ?*struct__XDisplay = @import("std").mem.zeroes(?*struct__XDisplay), + root: Window = @import("std").mem.zeroes(Window), + width: c_int = @import("std").mem.zeroes(c_int), + height: c_int = @import("std").mem.zeroes(c_int), + mwidth: c_int = @import("std").mem.zeroes(c_int), + mheight: c_int = @import("std").mem.zeroes(c_int), + ndepths: c_int = @import("std").mem.zeroes(c_int), + depths: [*c]Depth = @import("std").mem.zeroes([*c]Depth), + root_depth: c_int = @import("std").mem.zeroes(c_int), + root_visual: [*c]Visual = @import("std").mem.zeroes([*c]Visual), + default_gc: GC = @import("std").mem.zeroes(GC), + cmap: Colormap = @import("std").mem.zeroes(Colormap), + white_pixel: c_ulong = @import("std").mem.zeroes(c_ulong), + black_pixel: c_ulong = @import("std").mem.zeroes(c_ulong), + max_maps: c_int = @import("std").mem.zeroes(c_int), + min_maps: c_int = @import("std").mem.zeroes(c_int), + backing_store: c_int = @import("std").mem.zeroes(c_int), + save_unders: c_int = @import("std").mem.zeroes(c_int), + root_input_mask: c_long = @import("std").mem.zeroes(c_long), +}; +pub const ScreenFormat = extern struct { + ext_data: [*c]XExtData = @import("std").mem.zeroes([*c]XExtData), + depth: c_int = @import("std").mem.zeroes(c_int), + bits_per_pixel: c_int = @import("std").mem.zeroes(c_int), + scanline_pad: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XSetWindowAttributes = extern struct { + background_pixmap: Pixmap = @import("std").mem.zeroes(Pixmap), + background_pixel: c_ulong = @import("std").mem.zeroes(c_ulong), + border_pixmap: Pixmap = @import("std").mem.zeroes(Pixmap), + border_pixel: c_ulong = @import("std").mem.zeroes(c_ulong), + bit_gravity: c_int = @import("std").mem.zeroes(c_int), + win_gravity: c_int = @import("std").mem.zeroes(c_int), + backing_store: c_int = @import("std").mem.zeroes(c_int), + backing_planes: c_ulong = @import("std").mem.zeroes(c_ulong), + backing_pixel: c_ulong = @import("std").mem.zeroes(c_ulong), + save_under: c_int = @import("std").mem.zeroes(c_int), + event_mask: c_long = @import("std").mem.zeroes(c_long), + do_not_propagate_mask: c_long = @import("std").mem.zeroes(c_long), + override_redirect: c_int = @import("std").mem.zeroes(c_int), + colormap: Colormap = @import("std").mem.zeroes(Colormap), + cursor: Cursor = @import("std").mem.zeroes(Cursor), +}; +pub const XWindowAttributes = extern struct { + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), + width: c_int = @import("std").mem.zeroes(c_int), + height: c_int = @import("std").mem.zeroes(c_int), + border_width: c_int = @import("std").mem.zeroes(c_int), + depth: c_int = @import("std").mem.zeroes(c_int), + visual: [*c]Visual = @import("std").mem.zeroes([*c]Visual), + root: Window = @import("std").mem.zeroes(Window), + class: c_int = @import("std").mem.zeroes(c_int), + bit_gravity: c_int = @import("std").mem.zeroes(c_int), + win_gravity: c_int = @import("std").mem.zeroes(c_int), + backing_store: c_int = @import("std").mem.zeroes(c_int), + backing_planes: c_ulong = @import("std").mem.zeroes(c_ulong), + backing_pixel: c_ulong = @import("std").mem.zeroes(c_ulong), + save_under: c_int = @import("std").mem.zeroes(c_int), + colormap: Colormap = @import("std").mem.zeroes(Colormap), + map_installed: c_int = @import("std").mem.zeroes(c_int), + map_state: c_int = @import("std").mem.zeroes(c_int), + all_event_masks: c_long = @import("std").mem.zeroes(c_long), + your_event_mask: c_long = @import("std").mem.zeroes(c_long), + do_not_propagate_mask: c_long = @import("std").mem.zeroes(c_long), + override_redirect: c_int = @import("std").mem.zeroes(c_int), + screen: [*c]Screen = @import("std").mem.zeroes([*c]Screen), +}; +pub const XHostAddress = extern struct { + family: c_int = @import("std").mem.zeroes(c_int), + length: c_int = @import("std").mem.zeroes(c_int), + address: [*c]u8 = @import("std").mem.zeroes([*c]u8), +}; +pub const XServerInterpretedAddress = extern struct { + typelength: c_int = @import("std").mem.zeroes(c_int), + valuelength: c_int = @import("std").mem.zeroes(c_int), + type: [*c]u8 = @import("std").mem.zeroes([*c]u8), + value: [*c]u8 = @import("std").mem.zeroes([*c]u8), +}; +pub const struct_funcs_2 = extern struct { + create_image: ?*const fn (?*struct__XDisplay, [*c]Visual, c_uint, c_int, c_int, [*c]u8, c_uint, c_uint, c_int, c_int) callconv(.c) [*c]struct__XImage = @import("std").mem.zeroes(?*const fn (?*struct__XDisplay, [*c]Visual, c_uint, c_int, c_int, [*c]u8, c_uint, c_uint, c_int, c_int) callconv(.c) [*c]struct__XImage), + destroy_image: ?*const fn ([*c]struct__XImage) callconv(.c) c_int = @import("std").mem.zeroes(?*const fn ([*c]struct__XImage) callconv(.c) c_int), + get_pixel: ?*const fn ([*c]struct__XImage, c_int, c_int) callconv(.c) c_ulong = @import("std").mem.zeroes(?*const fn ([*c]struct__XImage, c_int, c_int) callconv(.c) c_ulong), + put_pixel: ?*const fn ([*c]struct__XImage, c_int, c_int, c_ulong) callconv(.c) c_int = @import("std").mem.zeroes(?*const fn ([*c]struct__XImage, c_int, c_int, c_ulong) callconv(.c) c_int), + sub_image: ?*const fn ([*c]struct__XImage, c_int, c_int, c_uint, c_uint) callconv(.c) [*c]struct__XImage = @import("std").mem.zeroes(?*const fn ([*c]struct__XImage, c_int, c_int, c_uint, c_uint) callconv(.c) [*c]struct__XImage), + add_pixel: ?*const fn ([*c]struct__XImage, c_long) callconv(.c) c_int = @import("std").mem.zeroes(?*const fn ([*c]struct__XImage, c_long) callconv(.c) c_int), +}; +pub const struct__XImage = extern struct { + width: c_int = @import("std").mem.zeroes(c_int), + height: c_int = @import("std").mem.zeroes(c_int), + xoffset: c_int = @import("std").mem.zeroes(c_int), + format: c_int = @import("std").mem.zeroes(c_int), + data: [*c]u8 = @import("std").mem.zeroes([*c]u8), + byte_order: c_int = @import("std").mem.zeroes(c_int), + bitmap_unit: c_int = @import("std").mem.zeroes(c_int), + bitmap_bit_order: c_int = @import("std").mem.zeroes(c_int), + bitmap_pad: c_int = @import("std").mem.zeroes(c_int), + depth: c_int = @import("std").mem.zeroes(c_int), + bytes_per_line: c_int = @import("std").mem.zeroes(c_int), + bits_per_pixel: c_int = @import("std").mem.zeroes(c_int), + red_mask: c_ulong = @import("std").mem.zeroes(c_ulong), + green_mask: c_ulong = @import("std").mem.zeroes(c_ulong), + blue_mask: c_ulong = @import("std").mem.zeroes(c_ulong), + obdata: XPointer = @import("std").mem.zeroes(XPointer), + f: struct_funcs_2 = @import("std").mem.zeroes(struct_funcs_2), +}; +pub const XImage = struct__XImage; +pub const XWindowChanges = extern struct { + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), + width: c_int = @import("std").mem.zeroes(c_int), + height: c_int = @import("std").mem.zeroes(c_int), + border_width: c_int = @import("std").mem.zeroes(c_int), + sibling: Window = @import("std").mem.zeroes(Window), + stack_mode: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XColor = extern struct { + pixel: c_ulong = @import("std").mem.zeroes(c_ulong), + red: c_ushort = @import("std").mem.zeroes(c_ushort), + green: c_ushort = @import("std").mem.zeroes(c_ushort), + blue: c_ushort = @import("std").mem.zeroes(c_ushort), + flags: u8 = @import("std").mem.zeroes(u8), + pad: u8 = @import("std").mem.zeroes(u8), +}; +pub const XSegment = extern struct { + x1: c_short = @import("std").mem.zeroes(c_short), + y1: c_short = @import("std").mem.zeroes(c_short), + x2: c_short = @import("std").mem.zeroes(c_short), + y2: c_short = @import("std").mem.zeroes(c_short), +}; +pub const XPoint = extern struct { + x: c_short = @import("std").mem.zeroes(c_short), + y: c_short = @import("std").mem.zeroes(c_short), +}; +pub const XRectangle = extern struct { + x: c_short = @import("std").mem.zeroes(c_short), + y: c_short = @import("std").mem.zeroes(c_short), + width: c_ushort = @import("std").mem.zeroes(c_ushort), + height: c_ushort = @import("std").mem.zeroes(c_ushort), +}; +pub const XArc = extern struct { + x: c_short = @import("std").mem.zeroes(c_short), + y: c_short = @import("std").mem.zeroes(c_short), + width: c_ushort = @import("std").mem.zeroes(c_ushort), + height: c_ushort = @import("std").mem.zeroes(c_ushort), + angle1: c_short = @import("std").mem.zeroes(c_short), + angle2: c_short = @import("std").mem.zeroes(c_short), +}; +pub const XKeyboardControl = extern struct { + key_click_percent: c_int = @import("std").mem.zeroes(c_int), + bell_percent: c_int = @import("std").mem.zeroes(c_int), + bell_pitch: c_int = @import("std").mem.zeroes(c_int), + bell_duration: c_int = @import("std").mem.zeroes(c_int), + led: c_int = @import("std").mem.zeroes(c_int), + led_mode: c_int = @import("std").mem.zeroes(c_int), + key: c_int = @import("std").mem.zeroes(c_int), + auto_repeat_mode: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XKeyboardState = extern struct { + key_click_percent: c_int = @import("std").mem.zeroes(c_int), + bell_percent: c_int = @import("std").mem.zeroes(c_int), + bell_pitch: c_uint = @import("std").mem.zeroes(c_uint), + bell_duration: c_uint = @import("std").mem.zeroes(c_uint), + led_mask: c_ulong = @import("std").mem.zeroes(c_ulong), + global_auto_repeat: c_int = @import("std").mem.zeroes(c_int), + auto_repeats: [32]u8 = @import("std").mem.zeroes([32]u8), +}; +pub const XTimeCoord = extern struct { + time: Time = @import("std").mem.zeroes(Time), + x: c_short = @import("std").mem.zeroes(c_short), + y: c_short = @import("std").mem.zeroes(c_short), +}; +pub const XModifierKeymap = extern struct { + max_keypermod: c_int = @import("std").mem.zeroes(c_int), + modifiermap: [*c]KeyCode = @import("std").mem.zeroes([*c]KeyCode), +}; +pub const Display = struct__XDisplay; +pub const struct__XPrivate = opaque {}; +pub const struct__XrmHashBucketRec = opaque {}; +const struct_unnamed_3 = extern struct { + ext_data: [*c]XExtData = @import("std").mem.zeroes([*c]XExtData), + private1: ?*struct__XPrivate = @import("std").mem.zeroes(?*struct__XPrivate), + fd: c_int = @import("std").mem.zeroes(c_int), + private2: c_int = @import("std").mem.zeroes(c_int), + proto_major_version: c_int = @import("std").mem.zeroes(c_int), + proto_minor_version: c_int = @import("std").mem.zeroes(c_int), + vendor: [*c]u8 = @import("std").mem.zeroes([*c]u8), + private3: XID = @import("std").mem.zeroes(XID), + private4: XID = @import("std").mem.zeroes(XID), + private5: XID = @import("std").mem.zeroes(XID), + private6: c_int = @import("std").mem.zeroes(c_int), + resource_alloc: ?*const fn (?*struct__XDisplay) callconv(.c) XID = @import("std").mem.zeroes(?*const fn (?*struct__XDisplay) callconv(.c) XID), + byte_order: c_int = @import("std").mem.zeroes(c_int), + bitmap_unit: c_int = @import("std").mem.zeroes(c_int), + bitmap_pad: c_int = @import("std").mem.zeroes(c_int), + bitmap_bit_order: c_int = @import("std").mem.zeroes(c_int), + nformats: c_int = @import("std").mem.zeroes(c_int), + pixmap_format: [*c]ScreenFormat = @import("std").mem.zeroes([*c]ScreenFormat), + private8: c_int = @import("std").mem.zeroes(c_int), + release: c_int = @import("std").mem.zeroes(c_int), + private9: ?*struct__XPrivate = @import("std").mem.zeroes(?*struct__XPrivate), + private10: ?*struct__XPrivate = @import("std").mem.zeroes(?*struct__XPrivate), + qlen: c_int = @import("std").mem.zeroes(c_int), + last_request_read: c_ulong = @import("std").mem.zeroes(c_ulong), + request: c_ulong = @import("std").mem.zeroes(c_ulong), + private11: XPointer = @import("std").mem.zeroes(XPointer), + private12: XPointer = @import("std").mem.zeroes(XPointer), + private13: XPointer = @import("std").mem.zeroes(XPointer), + private14: XPointer = @import("std").mem.zeroes(XPointer), + max_request_size: c_uint = @import("std").mem.zeroes(c_uint), + db: ?*struct__XrmHashBucketRec = @import("std").mem.zeroes(?*struct__XrmHashBucketRec), + private15: ?*const fn (?*struct__XDisplay) callconv(.c) c_int = @import("std").mem.zeroes(?*const fn (?*struct__XDisplay) callconv(.c) c_int), + display_name: [*c]u8 = @import("std").mem.zeroes([*c]u8), + default_screen: c_int = @import("std").mem.zeroes(c_int), + nscreens: c_int = @import("std").mem.zeroes(c_int), + screens: [*c]Screen = @import("std").mem.zeroes([*c]Screen), + motion_buffer: c_ulong = @import("std").mem.zeroes(c_ulong), + private16: c_ulong = @import("std").mem.zeroes(c_ulong), + min_keycode: c_int = @import("std").mem.zeroes(c_int), + max_keycode: c_int = @import("std").mem.zeroes(c_int), + private17: XPointer = @import("std").mem.zeroes(XPointer), + private18: XPointer = @import("std").mem.zeroes(XPointer), + private19: c_int = @import("std").mem.zeroes(c_int), + xdefaults: [*c]u8 = @import("std").mem.zeroes([*c]u8), +}; +pub const _XPrivDisplay = [*c]struct_unnamed_3; +pub const XKeyEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + root: Window = @import("std").mem.zeroes(Window), + subwindow: Window = @import("std").mem.zeroes(Window), + time: Time = @import("std").mem.zeroes(Time), + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), + x_root: c_int = @import("std").mem.zeroes(c_int), + y_root: c_int = @import("std").mem.zeroes(c_int), + state: c_uint = @import("std").mem.zeroes(c_uint), + keycode: c_uint = @import("std").mem.zeroes(c_uint), + same_screen: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XKeyPressedEvent = XKeyEvent; +pub const XKeyReleasedEvent = XKeyEvent; +pub const XButtonEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + root: Window = @import("std").mem.zeroes(Window), + subwindow: Window = @import("std").mem.zeroes(Window), + time: Time = @import("std").mem.zeroes(Time), + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), + x_root: c_int = @import("std").mem.zeroes(c_int), + y_root: c_int = @import("std").mem.zeroes(c_int), + state: c_uint = @import("std").mem.zeroes(c_uint), + button: c_uint = @import("std").mem.zeroes(c_uint), + same_screen: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XButtonPressedEvent = XButtonEvent; +pub const XButtonReleasedEvent = XButtonEvent; +pub const XMotionEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + root: Window = @import("std").mem.zeroes(Window), + subwindow: Window = @import("std").mem.zeroes(Window), + time: Time = @import("std").mem.zeroes(Time), + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), + x_root: c_int = @import("std").mem.zeroes(c_int), + y_root: c_int = @import("std").mem.zeroes(c_int), + state: c_uint = @import("std").mem.zeroes(c_uint), + is_hint: u8 = @import("std").mem.zeroes(u8), + same_screen: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XPointerMovedEvent = XMotionEvent; +pub const XCrossingEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + root: Window = @import("std").mem.zeroes(Window), + subwindow: Window = @import("std").mem.zeroes(Window), + time: Time = @import("std").mem.zeroes(Time), + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), + x_root: c_int = @import("std").mem.zeroes(c_int), + y_root: c_int = @import("std").mem.zeroes(c_int), + mode: c_int = @import("std").mem.zeroes(c_int), + detail: c_int = @import("std").mem.zeroes(c_int), + same_screen: c_int = @import("std").mem.zeroes(c_int), + focus: c_int = @import("std").mem.zeroes(c_int), + state: c_uint = @import("std").mem.zeroes(c_uint), +}; +pub const XEnterWindowEvent = XCrossingEvent; +pub const XLeaveWindowEvent = XCrossingEvent; +pub const XFocusChangeEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + mode: c_int = @import("std").mem.zeroes(c_int), + detail: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XFocusInEvent = XFocusChangeEvent; +pub const XFocusOutEvent = XFocusChangeEvent; +pub const XKeymapEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + key_vector: [32]u8 = @import("std").mem.zeroes([32]u8), +}; +pub const XExposeEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), + width: c_int = @import("std").mem.zeroes(c_int), + height: c_int = @import("std").mem.zeroes(c_int), + count: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XGraphicsExposeEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + drawable: Drawable = @import("std").mem.zeroes(Drawable), + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), + width: c_int = @import("std").mem.zeroes(c_int), + height: c_int = @import("std").mem.zeroes(c_int), + count: c_int = @import("std").mem.zeroes(c_int), + major_code: c_int = @import("std").mem.zeroes(c_int), + minor_code: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XNoExposeEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + drawable: Drawable = @import("std").mem.zeroes(Drawable), + major_code: c_int = @import("std").mem.zeroes(c_int), + minor_code: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XVisibilityEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + state: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XCreateWindowEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + parent: Window = @import("std").mem.zeroes(Window), + window: Window = @import("std").mem.zeroes(Window), + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), + width: c_int = @import("std").mem.zeroes(c_int), + height: c_int = @import("std").mem.zeroes(c_int), + border_width: c_int = @import("std").mem.zeroes(c_int), + override_redirect: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XDestroyWindowEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + event: Window = @import("std").mem.zeroes(Window), + window: Window = @import("std").mem.zeroes(Window), +}; +pub const XUnmapEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + event: Window = @import("std").mem.zeroes(Window), + window: Window = @import("std").mem.zeroes(Window), + from_configure: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XMapEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + event: Window = @import("std").mem.zeroes(Window), + window: Window = @import("std").mem.zeroes(Window), + override_redirect: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XMapRequestEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + parent: Window = @import("std").mem.zeroes(Window), + window: Window = @import("std").mem.zeroes(Window), +}; +pub const XReparentEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + event: Window = @import("std").mem.zeroes(Window), + window: Window = @import("std").mem.zeroes(Window), + parent: Window = @import("std").mem.zeroes(Window), + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), + override_redirect: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XConfigureEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + event: Window = @import("std").mem.zeroes(Window), + window: Window = @import("std").mem.zeroes(Window), + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), + width: c_int = @import("std").mem.zeroes(c_int), + height: c_int = @import("std").mem.zeroes(c_int), + border_width: c_int = @import("std").mem.zeroes(c_int), + above: Window = @import("std").mem.zeroes(Window), + override_redirect: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XGravityEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + event: Window = @import("std").mem.zeroes(Window), + window: Window = @import("std").mem.zeroes(Window), + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XResizeRequestEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + width: c_int = @import("std").mem.zeroes(c_int), + height: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XConfigureRequestEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + parent: Window = @import("std").mem.zeroes(Window), + window: Window = @import("std").mem.zeroes(Window), + x: c_int = @import("std").mem.zeroes(c_int), + y: c_int = @import("std").mem.zeroes(c_int), + width: c_int = @import("std").mem.zeroes(c_int), + height: c_int = @import("std").mem.zeroes(c_int), + border_width: c_int = @import("std").mem.zeroes(c_int), + above: Window = @import("std").mem.zeroes(Window), + detail: c_int = @import("std").mem.zeroes(c_int), + value_mask: c_ulong = @import("std").mem.zeroes(c_ulong), +}; +pub const XCirculateEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + event: Window = @import("std").mem.zeroes(Window), + window: Window = @import("std").mem.zeroes(Window), + place: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XCirculateRequestEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + parent: Window = @import("std").mem.zeroes(Window), + window: Window = @import("std").mem.zeroes(Window), + place: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XPropertyEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + atom: Atom = @import("std").mem.zeroes(Atom), + time: Time = @import("std").mem.zeroes(Time), + state: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XSelectionClearEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + selection: Atom = @import("std").mem.zeroes(Atom), + time: Time = @import("std").mem.zeroes(Time), +}; +pub const XSelectionRequestEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + owner: Window = @import("std").mem.zeroes(Window), + requestor: Window = @import("std").mem.zeroes(Window), + selection: Atom = @import("std").mem.zeroes(Atom), + target: Atom = @import("std").mem.zeroes(Atom), + property: Atom = @import("std").mem.zeroes(Atom), + time: Time = @import("std").mem.zeroes(Time), +}; +pub const XSelectionEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + requestor: Window = @import("std").mem.zeroes(Window), + selection: Atom = @import("std").mem.zeroes(Atom), + target: Atom = @import("std").mem.zeroes(Atom), + property: Atom = @import("std").mem.zeroes(Atom), + time: Time = @import("std").mem.zeroes(Time), +}; +pub const XColormapEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + colormap: Colormap = @import("std").mem.zeroes(Colormap), + new: c_int = @import("std").mem.zeroes(c_int), + state: c_int = @import("std").mem.zeroes(c_int), +}; +const union_unnamed_4 = extern union { + b: [20]u8, + s: [10]c_short, + l: [5]c_long, +}; +pub const XClientMessageEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + message_type: Atom = @import("std").mem.zeroes(Atom), + format: c_int = @import("std").mem.zeroes(c_int), + data: union_unnamed_4 = @import("std").mem.zeroes(union_unnamed_4), +}; +pub const XMappingEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), + request: c_int = @import("std").mem.zeroes(c_int), + first_keycode: c_int = @import("std").mem.zeroes(c_int), + count: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XErrorEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + resourceid: XID = @import("std").mem.zeroes(XID), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + error_code: u8 = @import("std").mem.zeroes(u8), + request_code: u8 = @import("std").mem.zeroes(u8), + minor_code: u8 = @import("std").mem.zeroes(u8), +}; +pub const XAnyEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + window: Window = @import("std").mem.zeroes(Window), +}; +pub const XGenericEvent = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + extension: c_int = @import("std").mem.zeroes(c_int), + evtype: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XGenericEventCookie = extern struct { + type: c_int = @import("std").mem.zeroes(c_int), + serial: c_ulong = @import("std").mem.zeroes(c_ulong), + send_event: c_int = @import("std").mem.zeroes(c_int), + display: ?*Display = @import("std").mem.zeroes(?*Display), + extension: c_int = @import("std").mem.zeroes(c_int), + evtype: c_int = @import("std").mem.zeroes(c_int), + cookie: c_uint = @import("std").mem.zeroes(c_uint), + data: ?*anyopaque = @import("std").mem.zeroes(?*anyopaque), +}; +pub const union__XEvent = extern union { + type: c_int, + xany: XAnyEvent, + xkey: XKeyEvent, + xbutton: XButtonEvent, + xmotion: XMotionEvent, + xcrossing: XCrossingEvent, + xfocus: XFocusChangeEvent, + xexpose: XExposeEvent, + xgraphicsexpose: XGraphicsExposeEvent, + xnoexpose: XNoExposeEvent, + xvisibility: XVisibilityEvent, + xcreatewindow: XCreateWindowEvent, + xdestroywindow: XDestroyWindowEvent, + xunmap: XUnmapEvent, + xmap: XMapEvent, + xmaprequest: XMapRequestEvent, + xreparent: XReparentEvent, + xconfigure: XConfigureEvent, + xgravity: XGravityEvent, + xresizerequest: XResizeRequestEvent, + xconfigurerequest: XConfigureRequestEvent, + xcirculate: XCirculateEvent, + xcirculaterequest: XCirculateRequestEvent, + xproperty: XPropertyEvent, + xselectionclear: XSelectionClearEvent, + xselectionrequest: XSelectionRequestEvent, + xselection: XSelectionEvent, + xcolormap: XColormapEvent, + xclient: XClientMessageEvent, + xmapping: XMappingEvent, + xerror: XErrorEvent, + xkeymap: XKeymapEvent, + xgeneric: XGenericEvent, + xcookie: XGenericEventCookie, + pad: [24]c_long, +}; +pub const XEvent = union__XEvent; +pub const XCharStruct = extern struct { + lbearing: c_short = @import("std").mem.zeroes(c_short), + rbearing: c_short = @import("std").mem.zeroes(c_short), + width: c_short = @import("std").mem.zeroes(c_short), + ascent: c_short = @import("std").mem.zeroes(c_short), + descent: c_short = @import("std").mem.zeroes(c_short), + attributes: c_ushort = @import("std").mem.zeroes(c_ushort), +}; +pub const XFontProp = extern struct { + name: Atom = @import("std").mem.zeroes(Atom), + card32: c_ulong = @import("std").mem.zeroes(c_ulong), +}; +pub const XFontStruct = extern struct { + ext_data: [*c]XExtData = @import("std").mem.zeroes([*c]XExtData), + fid: Font = @import("std").mem.zeroes(Font), + direction: c_uint = @import("std").mem.zeroes(c_uint), + min_char_or_byte2: c_uint = @import("std").mem.zeroes(c_uint), + max_char_or_byte2: c_uint = @import("std").mem.zeroes(c_uint), + min_byte1: c_uint = @import("std").mem.zeroes(c_uint), + max_byte1: c_uint = @import("std").mem.zeroes(c_uint), + all_chars_exist: c_int = @import("std").mem.zeroes(c_int), + default_char: c_uint = @import("std").mem.zeroes(c_uint), + n_properties: c_int = @import("std").mem.zeroes(c_int), + properties: [*c]XFontProp = @import("std").mem.zeroes([*c]XFontProp), + min_bounds: XCharStruct = @import("std").mem.zeroes(XCharStruct), + max_bounds: XCharStruct = @import("std").mem.zeroes(XCharStruct), + per_char: [*c]XCharStruct = @import("std").mem.zeroes([*c]XCharStruct), + ascent: c_int = @import("std").mem.zeroes(c_int), + descent: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XTextItem = extern struct { + chars: [*c]u8 = @import("std").mem.zeroes([*c]u8), + nchars: c_int = @import("std").mem.zeroes(c_int), + delta: c_int = @import("std").mem.zeroes(c_int), + font: Font = @import("std").mem.zeroes(Font), +}; +pub const XChar2b = extern struct { + byte1: u8 = @import("std").mem.zeroes(u8), + byte2: u8 = @import("std").mem.zeroes(u8), +}; +pub const XTextItem16 = extern struct { + chars: [*c]XChar2b = @import("std").mem.zeroes([*c]XChar2b), + nchars: c_int = @import("std").mem.zeroes(c_int), + delta: c_int = @import("std").mem.zeroes(c_int), + font: Font = @import("std").mem.zeroes(Font), +}; +pub const XEDataObject = extern union { + display: ?*Display, + gc: GC, + visual: [*c]Visual, + screen: [*c]Screen, + pixmap_format: [*c]ScreenFormat, + font: [*c]XFontStruct, +}; +pub const XFontSetExtents = extern struct { + max_ink_extent: XRectangle = @import("std").mem.zeroes(XRectangle), + max_logical_extent: XRectangle = @import("std").mem.zeroes(XRectangle), +}; +pub const struct__XOM = opaque {}; +pub const XOM = ?*struct__XOM; +pub const struct__XOC = opaque {}; +pub const XOC = ?*struct__XOC; +pub const XFontSet = ?*struct__XOC; +pub const XmbTextItem = extern struct { + chars: [*c]u8 = @import("std").mem.zeroes([*c]u8), + nchars: c_int = @import("std").mem.zeroes(c_int), + delta: c_int = @import("std").mem.zeroes(c_int), + font_set: XFontSet = @import("std").mem.zeroes(XFontSet), +}; +pub const XwcTextItem = extern struct { + chars: [*c]wchar_t = @import("std").mem.zeroes([*c]wchar_t), + nchars: c_int = @import("std").mem.zeroes(c_int), + delta: c_int = @import("std").mem.zeroes(c_int), + font_set: XFontSet = @import("std").mem.zeroes(XFontSet), +}; +pub const XOMCharSetList = extern struct { + charset_count: c_int = @import("std").mem.zeroes(c_int), + charset_list: [*c][*c]u8 = @import("std").mem.zeroes([*c][*c]u8), +}; +pub const XOMOrientation_LTR_TTB: c_int = 0; +pub const XOMOrientation_RTL_TTB: c_int = 1; +pub const XOMOrientation_TTB_LTR: c_int = 2; +pub const XOMOrientation_TTB_RTL: c_int = 3; +pub const XOMOrientation_Context: c_int = 4; +pub const XOrientation = c_uint; +pub const XOMOrientation = extern struct { + num_orientation: c_int = @import("std").mem.zeroes(c_int), + orientation: [*c]XOrientation = @import("std").mem.zeroes([*c]XOrientation), +}; +pub const XOMFontInfo = extern struct { + num_font: c_int = @import("std").mem.zeroes(c_int), + font_struct_list: [*c][*c]XFontStruct = @import("std").mem.zeroes([*c][*c]XFontStruct), + font_name_list: [*c][*c]u8 = @import("std").mem.zeroes([*c][*c]u8), +}; +pub const struct__XIM = opaque {}; +pub const XIM = ?*struct__XIM; +pub const struct__XIC = opaque {}; +pub const XIC = ?*struct__XIC; +pub const XIMProc = ?*const fn (XIM, XPointer, XPointer) callconv(.c) void; +pub const XICProc = ?*const fn (XIC, XPointer, XPointer) callconv(.c) c_int; +pub const XIDProc = ?*const fn (?*Display, XPointer, XPointer) callconv(.c) void; +pub const XIMStyle = c_ulong; +pub const XIMStyles = extern struct { + count_styles: c_ushort = @import("std").mem.zeroes(c_ushort), + supported_styles: [*c]XIMStyle = @import("std").mem.zeroes([*c]XIMStyle), +}; +pub const XVaNestedList = ?*anyopaque; +pub const XIMCallback = extern struct { + client_data: XPointer = @import("std").mem.zeroes(XPointer), + callback: XIMProc = @import("std").mem.zeroes(XIMProc), +}; +pub const XICCallback = extern struct { + client_data: XPointer = @import("std").mem.zeroes(XPointer), + callback: XICProc = @import("std").mem.zeroes(XICProc), +}; +pub const XIMFeedback = c_ulong; +const union_unnamed_5 = extern union { + multi_byte: [*c]u8, + wide_char: [*c]wchar_t, +}; +pub const struct__XIMText = extern struct { + length: c_ushort = @import("std").mem.zeroes(c_ushort), + feedback: [*c]XIMFeedback = @import("std").mem.zeroes([*c]XIMFeedback), + encoding_is_wchar: c_int = @import("std").mem.zeroes(c_int), + string: union_unnamed_5 = @import("std").mem.zeroes(union_unnamed_5), +}; +pub const XIMText = struct__XIMText; +pub const XIMPreeditState = c_ulong; +pub const struct__XIMPreeditStateNotifyCallbackStruct = extern struct { + state: XIMPreeditState = @import("std").mem.zeroes(XIMPreeditState), +}; +pub const XIMPreeditStateNotifyCallbackStruct = struct__XIMPreeditStateNotifyCallbackStruct; +pub const XIMResetState = c_ulong; +pub const XIMStringConversionFeedback = c_ulong; +const union_unnamed_6 = extern union { + mbs: [*c]u8, + wcs: [*c]wchar_t, +}; +pub const struct__XIMStringConversionText = extern struct { + length: c_ushort = @import("std").mem.zeroes(c_ushort), + feedback: [*c]XIMStringConversionFeedback = @import("std").mem.zeroes([*c]XIMStringConversionFeedback), + encoding_is_wchar: c_int = @import("std").mem.zeroes(c_int), + string: union_unnamed_6 = @import("std").mem.zeroes(union_unnamed_6), +}; +pub const XIMStringConversionText = struct__XIMStringConversionText; +pub const XIMStringConversionPosition = c_ushort; +pub const XIMStringConversionType = c_ushort; +pub const XIMStringConversionOperation = c_ushort; +pub const XIMForwardChar: c_int = 0; +pub const XIMBackwardChar: c_int = 1; +pub const XIMForwardWord: c_int = 2; +pub const XIMBackwardWord: c_int = 3; +pub const XIMCaretUp: c_int = 4; +pub const XIMCaretDown: c_int = 5; +pub const XIMNextLine: c_int = 6; +pub const XIMPreviousLine: c_int = 7; +pub const XIMLineStart: c_int = 8; +pub const XIMLineEnd: c_int = 9; +pub const XIMAbsolutePosition: c_int = 10; +pub const XIMDontChange: c_int = 11; +pub const XIMCaretDirection = c_uint; +pub const struct__XIMStringConversionCallbackStruct = extern struct { + position: XIMStringConversionPosition = @import("std").mem.zeroes(XIMStringConversionPosition), + direction: XIMCaretDirection = @import("std").mem.zeroes(XIMCaretDirection), + operation: XIMStringConversionOperation = @import("std").mem.zeroes(XIMStringConversionOperation), + factor: c_ushort = @import("std").mem.zeroes(c_ushort), + text: [*c]XIMStringConversionText = @import("std").mem.zeroes([*c]XIMStringConversionText), +}; +pub const XIMStringConversionCallbackStruct = struct__XIMStringConversionCallbackStruct; +pub const struct__XIMPreeditDrawCallbackStruct = extern struct { + caret: c_int = @import("std").mem.zeroes(c_int), + chg_first: c_int = @import("std").mem.zeroes(c_int), + chg_length: c_int = @import("std").mem.zeroes(c_int), + text: [*c]XIMText = @import("std").mem.zeroes([*c]XIMText), +}; +pub const XIMPreeditDrawCallbackStruct = struct__XIMPreeditDrawCallbackStruct; +pub const XIMIsInvisible: c_int = 0; +pub const XIMIsPrimary: c_int = 1; +pub const XIMIsSecondary: c_int = 2; +pub const XIMCaretStyle = c_uint; +pub const struct__XIMPreeditCaretCallbackStruct = extern struct { + position: c_int = @import("std").mem.zeroes(c_int), + direction: XIMCaretDirection = @import("std").mem.zeroes(XIMCaretDirection), + style: XIMCaretStyle = @import("std").mem.zeroes(XIMCaretStyle), +}; +pub const XIMPreeditCaretCallbackStruct = struct__XIMPreeditCaretCallbackStruct; +pub const XIMTextType: c_int = 0; +pub const XIMBitmapType: c_int = 1; +pub const XIMStatusDataType = c_uint; +const union_unnamed_7 = extern union { + text: [*c]XIMText, + bitmap: Pixmap, +}; +pub const struct__XIMStatusDrawCallbackStruct = extern struct { + type: XIMStatusDataType = @import("std").mem.zeroes(XIMStatusDataType), + data: union_unnamed_7 = @import("std").mem.zeroes(union_unnamed_7), +}; +pub const XIMStatusDrawCallbackStruct = struct__XIMStatusDrawCallbackStruct; +pub const struct__XIMHotKeyTrigger = extern struct { + keysym: KeySym = @import("std").mem.zeroes(KeySym), + modifier: c_int = @import("std").mem.zeroes(c_int), + modifier_mask: c_int = @import("std").mem.zeroes(c_int), +}; +pub const XIMHotKeyTrigger = struct__XIMHotKeyTrigger; +pub const struct__XIMHotKeyTriggers = extern struct { + num_hot_key: c_int = @import("std").mem.zeroes(c_int), + key: [*c]XIMHotKeyTrigger = @import("std").mem.zeroes([*c]XIMHotKeyTrigger), +}; +pub const XIMHotKeyTriggers = struct__XIMHotKeyTriggers; +pub const XIMHotKeyState = c_ulong; +pub const XIMValuesList = extern struct { + count_values: c_ushort = @import("std").mem.zeroes(c_ushort), + supported_values: [*c][*c]u8 = @import("std").mem.zeroes([*c][*c]u8), +}; +pub extern var _Xdebug: c_int; +pub extern fn XLoadQueryFont(?*Display, [*c]const u8) [*c]XFontStruct; +pub extern fn XQueryFont(?*Display, XID) [*c]XFontStruct; +pub extern fn XGetMotionEvents(?*Display, Window, Time, Time, [*c]c_int) [*c]XTimeCoord; +pub extern fn XDeleteModifiermapEntry([*c]XModifierKeymap, KeyCode, c_int) [*c]XModifierKeymap; +pub extern fn XGetModifierMapping(?*Display) [*c]XModifierKeymap; +pub extern fn XInsertModifiermapEntry([*c]XModifierKeymap, KeyCode, c_int) [*c]XModifierKeymap; +pub extern fn XNewModifiermap(c_int) [*c]XModifierKeymap; +pub extern fn XCreateImage(?*Display, [*c]Visual, c_uint, c_int, c_int, [*c]u8, c_uint, c_uint, c_int, c_int) [*c]XImage; +pub extern fn XInitImage([*c]XImage) c_int; +pub extern fn XGetImage(?*Display, Drawable, c_int, c_int, c_uint, c_uint, c_ulong, c_int) [*c]XImage; +pub extern fn XGetSubImage(?*Display, Drawable, c_int, c_int, c_uint, c_uint, c_ulong, c_int, [*c]XImage, c_int, c_int) [*c]XImage; +pub extern fn XOpenDisplay([*c]const u8) ?*Display; +pub extern fn XrmInitialize() void; +pub extern fn XFetchBytes(?*Display, [*c]c_int) [*c]u8; +pub extern fn XFetchBuffer(?*Display, [*c]c_int, c_int) [*c]u8; +pub extern fn XGetAtomName(?*Display, Atom) [*c]u8; +pub extern fn XGetAtomNames(?*Display, [*c]Atom, c_int, [*c][*c]u8) c_int; +pub extern fn XGetDefault(?*Display, [*c]const u8, [*c]const u8) [*c]u8; +pub extern fn XDisplayName([*c]const u8) [*c]u8; +pub extern fn XKeysymToString(KeySym) [*c]u8; +pub extern fn XSynchronize(?*Display, c_int) ?*const fn (?*Display) callconv(.c) c_int; +pub extern fn XSetAfterFunction(?*Display, ?*const fn (?*Display) callconv(.c) c_int) ?*const fn (?*Display) callconv(.c) c_int; +pub extern fn XInternAtom(?*Display, [*c]const u8, c_int) Atom; +pub extern fn XInternAtoms(?*Display, [*c][*c]u8, c_int, c_int, [*c]Atom) c_int; +pub extern fn XCopyColormapAndFree(?*Display, Colormap) Colormap; +pub extern fn XCreateColormap(?*Display, Window, [*c]Visual, c_int) Colormap; +pub extern fn XCreatePixmapCursor(?*Display, Pixmap, Pixmap, [*c]XColor, [*c]XColor, c_uint, c_uint) Cursor; +pub extern fn XCreateGlyphCursor(?*Display, Font, Font, c_uint, c_uint, [*c]const XColor, [*c]const XColor) Cursor; +pub extern fn XCreateFontCursor(?*Display, c_uint) Cursor; +pub extern fn XLoadFont(?*Display, [*c]const u8) Font; +pub extern fn XCreateGC(?*Display, Drawable, c_ulong, [*c]XGCValues) GC; +pub extern fn XGContextFromGC(GC) GContext; +pub extern fn XFlushGC(?*Display, GC) void; +pub extern fn XCreatePixmap(?*Display, Drawable, c_uint, c_uint, c_uint) Pixmap; +pub extern fn XCreateBitmapFromData(?*Display, Drawable, [*c]const u8, c_uint, c_uint) Pixmap; +pub extern fn XCreatePixmapFromBitmapData(?*Display, Drawable, [*c]u8, c_uint, c_uint, c_ulong, c_ulong, c_uint) Pixmap; +pub extern fn XCreateSimpleWindow(?*Display, Window, c_int, c_int, c_uint, c_uint, c_uint, c_ulong, c_ulong) Window; +pub extern fn XGetSelectionOwner(?*Display, Atom) Window; +pub extern fn XCreateWindow(?*Display, Window, c_int, c_int, c_uint, c_uint, c_uint, c_int, c_uint, [*c]Visual, c_ulong, [*c]XSetWindowAttributes) Window; +pub extern fn XListInstalledColormaps(?*Display, Window, [*c]c_int) [*c]Colormap; +pub extern fn XListFonts(?*Display, [*c]const u8, c_int, [*c]c_int) [*c][*c]u8; +pub extern fn XListFontsWithInfo(?*Display, [*c]const u8, c_int, [*c]c_int, [*c][*c]XFontStruct) [*c][*c]u8; +pub extern fn XGetFontPath(?*Display, [*c]c_int) [*c][*c]u8; +pub extern fn XListExtensions(?*Display, [*c]c_int) [*c][*c]u8; +pub extern fn XListProperties(?*Display, Window, [*c]c_int) [*c]Atom; +pub extern fn XListHosts(?*Display, [*c]c_int, [*c]c_int) [*c]XHostAddress; +pub extern fn XKeycodeToKeysym(?*Display, KeyCode, c_int) KeySym; +pub extern fn XLookupKeysym([*c]XKeyEvent, c_int) KeySym; +pub extern fn XGetKeyboardMapping(?*Display, KeyCode, c_int, [*c]c_int) [*c]KeySym; +pub extern fn XStringToKeysym([*c]const u8) KeySym; +pub extern fn XMaxRequestSize(?*Display) c_long; +pub extern fn XExtendedMaxRequestSize(?*Display) c_long; +pub extern fn XResourceManagerString(?*Display) [*c]u8; +pub extern fn XScreenResourceString([*c]Screen) [*c]u8; +pub extern fn XDisplayMotionBufferSize(?*Display) c_ulong; +pub extern fn XVisualIDFromVisual([*c]Visual) VisualID; +pub extern fn XInitThreads() c_int; +pub extern fn XFreeThreads() c_int; +pub extern fn XLockDisplay(?*Display) void; +pub extern fn XUnlockDisplay(?*Display) void; +pub extern fn XInitExtension(?*Display, [*c]const u8) [*c]XExtCodes; +pub extern fn XAddExtension(?*Display) [*c]XExtCodes; +pub extern fn XFindOnExtensionList([*c][*c]XExtData, c_int) [*c]XExtData; +pub extern fn XEHeadOfExtensionList(XEDataObject) [*c][*c]XExtData; +pub extern fn XRootWindow(?*Display, c_int) Window; +pub extern fn XDefaultRootWindow(?*Display) Window; +pub extern fn XRootWindowOfScreen([*c]Screen) Window; +pub extern fn XDefaultVisual(?*Display, c_int) [*c]Visual; +pub extern fn XDefaultVisualOfScreen([*c]Screen) [*c]Visual; +pub extern fn XDefaultGC(?*Display, c_int) GC; +pub extern fn XDefaultGCOfScreen([*c]Screen) GC; +pub extern fn XBlackPixel(?*Display, c_int) c_ulong; +pub extern fn XWhitePixel(?*Display, c_int) c_ulong; +pub extern fn XAllPlanes() c_ulong; +pub extern fn XBlackPixelOfScreen([*c]Screen) c_ulong; +pub extern fn XWhitePixelOfScreen([*c]Screen) c_ulong; +pub extern fn XNextRequest(?*Display) c_ulong; +pub extern fn XLastKnownRequestProcessed(?*Display) c_ulong; +pub extern fn XServerVendor(?*Display) [*c]u8; +pub extern fn XDisplayString(?*Display) [*c]u8; +pub extern fn XDefaultColormap(?*Display, c_int) Colormap; +pub extern fn XDefaultColormapOfScreen([*c]Screen) Colormap; +pub extern fn XDisplayOfScreen([*c]Screen) ?*Display; +pub extern fn XScreenOfDisplay(?*Display, c_int) [*c]Screen; +pub extern fn XDefaultScreenOfDisplay(?*Display) [*c]Screen; +pub extern fn XEventMaskOfScreen([*c]Screen) c_long; +pub extern fn XScreenNumberOfScreen([*c]Screen) c_int; +pub const XErrorHandler = ?*const fn (?*Display, [*c]XErrorEvent) callconv(.c) c_int; +pub extern fn XSetErrorHandler(XErrorHandler) XErrorHandler; +pub const XIOErrorHandler = ?*const fn (?*Display) callconv(.c) c_int; +pub extern fn XSetIOErrorHandler(XIOErrorHandler) XIOErrorHandler; +pub const XIOErrorExitHandler = ?*const fn (?*Display, ?*anyopaque) callconv(.c) void; +pub extern fn XSetIOErrorExitHandler(?*Display, XIOErrorExitHandler, ?*anyopaque) void; +pub extern fn XListPixmapFormats(?*Display, [*c]c_int) [*c]XPixmapFormatValues; +pub extern fn XListDepths(?*Display, c_int, [*c]c_int) [*c]c_int; +pub extern fn XReconfigureWMWindow(?*Display, Window, c_int, c_uint, [*c]XWindowChanges) c_int; +pub extern fn XGetWMProtocols(?*Display, Window, [*c][*c]Atom, [*c]c_int) c_int; +pub extern fn XSetWMProtocols(?*Display, Window, [*c]Atom, c_int) c_int; +pub extern fn XIconifyWindow(?*Display, Window, c_int) c_int; +pub extern fn XWithdrawWindow(?*Display, Window, c_int) c_int; +pub extern fn XGetCommand(?*Display, Window, [*c][*c][*c]u8, [*c]c_int) c_int; +pub extern fn XGetWMColormapWindows(?*Display, Window, [*c][*c]Window, [*c]c_int) c_int; +pub extern fn XSetWMColormapWindows(?*Display, Window, [*c]Window, c_int) c_int; +pub extern fn XFreeStringList([*c][*c]u8) void; +pub extern fn XSetTransientForHint(?*Display, Window, Window) c_int; +pub extern fn XActivateScreenSaver(?*Display) c_int; +pub extern fn XAddHost(?*Display, [*c]XHostAddress) c_int; +pub extern fn XAddHosts(?*Display, [*c]XHostAddress, c_int) c_int; +pub extern fn XAddToExtensionList([*c][*c]struct__XExtData, [*c]XExtData) c_int; +pub extern fn XAddToSaveSet(?*Display, Window) c_int; +pub extern fn XAllocColor(?*Display, Colormap, [*c]XColor) c_int; +pub extern fn XAllocColorCells(?*Display, Colormap, c_int, [*c]c_ulong, c_uint, [*c]c_ulong, c_uint) c_int; +pub extern fn XAllocColorPlanes(?*Display, Colormap, c_int, [*c]c_ulong, c_int, c_int, c_int, c_int, [*c]c_ulong, [*c]c_ulong, [*c]c_ulong) c_int; +pub extern fn XAllocNamedColor(?*Display, Colormap, [*c]const u8, [*c]XColor, [*c]XColor) c_int; +pub extern fn XAllowEvents(?*Display, c_int, Time) c_int; +pub extern fn XAutoRepeatOff(?*Display) c_int; +pub extern fn XAutoRepeatOn(?*Display) c_int; +pub extern fn XBell(?*Display, c_int) c_int; +pub extern fn XBitmapBitOrder(?*Display) c_int; +pub extern fn XBitmapPad(?*Display) c_int; +pub extern fn XBitmapUnit(?*Display) c_int; +pub extern fn XCellsOfScreen([*c]Screen) c_int; +pub extern fn XChangeActivePointerGrab(?*Display, c_uint, Cursor, Time) c_int; +pub extern fn XChangeGC(?*Display, GC, c_ulong, [*c]XGCValues) c_int; +pub extern fn XChangeKeyboardControl(?*Display, c_ulong, [*c]XKeyboardControl) c_int; +pub extern fn XChangeKeyboardMapping(?*Display, c_int, c_int, [*c]KeySym, c_int) c_int; +pub extern fn XChangePointerControl(?*Display, c_int, c_int, c_int, c_int, c_int) c_int; +pub extern fn XChangeProperty(?*Display, Window, Atom, Atom, c_int, c_int, [*c]const u8, c_int) c_int; +pub extern fn XChangeSaveSet(?*Display, Window, c_int) c_int; +pub extern fn XChangeWindowAttributes(?*Display, Window, c_ulong, [*c]XSetWindowAttributes) c_int; +pub extern fn XCheckIfEvent(?*Display, [*c]XEvent, ?*const fn (?*Display, [*c]XEvent, XPointer) callconv(.c) c_int, XPointer) c_int; +pub extern fn XCheckMaskEvent(?*Display, c_long, [*c]XEvent) c_int; +pub extern fn XCheckTypedEvent(?*Display, c_int, [*c]XEvent) c_int; +pub extern fn XCheckTypedWindowEvent(?*Display, Window, c_int, [*c]XEvent) c_int; +pub extern fn XCheckWindowEvent(?*Display, Window, c_long, [*c]XEvent) c_int; +pub extern fn XCirculateSubwindows(?*Display, Window, c_int) c_int; +pub extern fn XCirculateSubwindowsDown(?*Display, Window) c_int; +pub extern fn XCirculateSubwindowsUp(?*Display, Window) c_int; +pub extern fn XClearArea(?*Display, Window, c_int, c_int, c_uint, c_uint, c_int) c_int; +pub extern fn XClearWindow(?*Display, Window) c_int; +pub extern fn XCloseDisplay(?*Display) c_int; +pub extern fn XConfigureWindow(?*Display, Window, c_uint, [*c]XWindowChanges) c_int; +pub extern fn XConnectionNumber(?*Display) c_int; +pub extern fn XConvertSelection(?*Display, Atom, Atom, Atom, Window, Time) c_int; +pub extern fn XCopyArea(?*Display, Drawable, Drawable, GC, c_int, c_int, c_uint, c_uint, c_int, c_int) c_int; +pub extern fn XCopyGC(?*Display, GC, c_ulong, GC) c_int; +pub extern fn XCopyPlane(?*Display, Drawable, Drawable, GC, c_int, c_int, c_uint, c_uint, c_int, c_int, c_ulong) c_int; +pub extern fn XDefaultDepth(?*Display, c_int) c_int; +pub extern fn XDefaultDepthOfScreen([*c]Screen) c_int; +pub extern fn XDefaultScreen(?*Display) c_int; +pub extern fn XDefineCursor(?*Display, Window, Cursor) c_int; +pub extern fn XDeleteProperty(?*Display, Window, Atom) c_int; +pub extern fn XDestroyWindow(?*Display, Window) c_int; +pub extern fn XDestroySubwindows(?*Display, Window) c_int; +pub extern fn XDoesBackingStore([*c]Screen) c_int; +pub extern fn XDoesSaveUnders([*c]Screen) c_int; +pub extern fn XDisableAccessControl(?*Display) c_int; +pub extern fn XDisplayCells(?*Display, c_int) c_int; +pub extern fn XDisplayHeight(?*Display, c_int) c_int; +pub extern fn XDisplayHeightMM(?*Display, c_int) c_int; +pub extern fn XDisplayKeycodes(?*Display, [*c]c_int, [*c]c_int) c_int; +pub extern fn XDisplayPlanes(?*Display, c_int) c_int; +pub extern fn XDisplayWidth(?*Display, c_int) c_int; +pub extern fn XDisplayWidthMM(?*Display, c_int) c_int; +pub extern fn XDrawArc(?*Display, Drawable, GC, c_int, c_int, c_uint, c_uint, c_int, c_int) c_int; +pub extern fn XDrawArcs(?*Display, Drawable, GC, [*c]XArc, c_int) c_int; +pub extern fn XDrawImageString(?*Display, Drawable, GC, c_int, c_int, [*c]const u8, c_int) c_int; +pub extern fn XDrawImageString16(?*Display, Drawable, GC, c_int, c_int, [*c]const XChar2b, c_int) c_int; +pub extern fn XDrawLine(?*Display, Drawable, GC, c_int, c_int, c_int, c_int) c_int; +pub extern fn XDrawLines(?*Display, Drawable, GC, [*c]XPoint, c_int, c_int) c_int; +pub extern fn XDrawPoint(?*Display, Drawable, GC, c_int, c_int) c_int; +pub extern fn XDrawPoints(?*Display, Drawable, GC, [*c]XPoint, c_int, c_int) c_int; +pub extern fn XDrawRectangle(?*Display, Drawable, GC, c_int, c_int, c_uint, c_uint) c_int; +pub extern fn XDrawRectangles(?*Display, Drawable, GC, [*c]XRectangle, c_int) c_int; +pub extern fn XDrawSegments(?*Display, Drawable, GC, [*c]XSegment, c_int) c_int; +pub extern fn XDrawString(?*Display, Drawable, GC, c_int, c_int, [*c]const u8, c_int) c_int; +pub extern fn XDrawString16(?*Display, Drawable, GC, c_int, c_int, [*c]const XChar2b, c_int) c_int; +pub extern fn XDrawText(?*Display, Drawable, GC, c_int, c_int, [*c]XTextItem, c_int) c_int; +pub extern fn XDrawText16(?*Display, Drawable, GC, c_int, c_int, [*c]XTextItem16, c_int) c_int; +pub extern fn XEnableAccessControl(?*Display) c_int; +pub extern fn XEventsQueued(?*Display, c_int) c_int; +pub extern fn XFetchName(?*Display, Window, [*c][*c]u8) c_int; +pub extern fn XFillArc(?*Display, Drawable, GC, c_int, c_int, c_uint, c_uint, c_int, c_int) c_int; +pub extern fn XFillArcs(?*Display, Drawable, GC, [*c]XArc, c_int) c_int; +pub extern fn XFillPolygon(?*Display, Drawable, GC, [*c]XPoint, c_int, c_int, c_int) c_int; +pub extern fn XFillRectangle(?*Display, Drawable, GC, c_int, c_int, c_uint, c_uint) c_int; +pub extern fn XFillRectangles(?*Display, Drawable, GC, [*c]XRectangle, c_int) c_int; +pub extern fn XFlush(?*Display) c_int; +pub extern fn XForceScreenSaver(?*Display, c_int) c_int; +pub extern fn XFree(?*anyopaque) c_int; +pub extern fn XFreeColormap(?*Display, Colormap) c_int; +pub extern fn XFreeColors(?*Display, Colormap, [*c]c_ulong, c_int, c_ulong) c_int; +pub extern fn XFreeCursor(?*Display, Cursor) c_int; +pub extern fn XFreeExtensionList([*c][*c]u8) c_int; +pub extern fn XFreeFont(?*Display, [*c]XFontStruct) c_int; +pub extern fn XFreeFontInfo([*c][*c]u8, [*c]XFontStruct, c_int) c_int; +pub extern fn XFreeFontNames([*c][*c]u8) c_int; +pub extern fn XFreeFontPath([*c][*c]u8) c_int; +pub extern fn XFreeGC(?*Display, GC) c_int; +pub extern fn XFreeModifiermap([*c]XModifierKeymap) c_int; +pub extern fn XFreePixmap(?*Display, Pixmap) c_int; +pub extern fn XGeometry(?*Display, c_int, [*c]const u8, [*c]const u8, c_uint, c_uint, c_uint, c_int, c_int, [*c]c_int, [*c]c_int, [*c]c_int, [*c]c_int) c_int; +pub extern fn XGetErrorDatabaseText(?*Display, [*c]const u8, [*c]const u8, [*c]const u8, [*c]u8, c_int) c_int; +pub extern fn XGetErrorText(?*Display, c_int, [*c]u8, c_int) c_int; +pub extern fn XGetFontProperty([*c]XFontStruct, Atom, [*c]c_ulong) c_int; +pub extern fn XGetGCValues(?*Display, GC, c_ulong, [*c]XGCValues) c_int; +pub extern fn XGetGeometry(?*Display, Drawable, [*c]Window, [*c]c_int, [*c]c_int, [*c]c_uint, [*c]c_uint, [*c]c_uint, [*c]c_uint) c_int; +pub extern fn XGetIconName(?*Display, Window, [*c][*c]u8) c_int; +pub extern fn XGetInputFocus(?*Display, [*c]Window, [*c]c_int) c_int; +pub extern fn XGetKeyboardControl(?*Display, [*c]XKeyboardState) c_int; +pub extern fn XGetPointerControl(?*Display, [*c]c_int, [*c]c_int, [*c]c_int) c_int; +pub extern fn XGetPointerMapping(?*Display, [*c]u8, c_int) c_int; +pub extern fn XGetScreenSaver(?*Display, [*c]c_int, [*c]c_int, [*c]c_int, [*c]c_int) c_int; +pub extern fn XGetTransientForHint(?*Display, Window, [*c]Window) c_int; +pub extern fn XGetWindowProperty(?*Display, Window, Atom, c_long, c_long, c_int, Atom, [*c]Atom, [*c]c_int, [*c]c_ulong, [*c]c_ulong, [*c][*c]u8) c_int; +pub extern fn XGetWindowAttributes(?*Display, Window, [*c]XWindowAttributes) c_int; +pub extern fn XGrabButton(?*Display, c_uint, c_uint, Window, c_int, c_uint, c_int, c_int, Window, Cursor) c_int; +pub extern fn XGrabKey(?*Display, c_int, c_uint, Window, c_int, c_int, c_int) c_int; +pub extern fn XGrabKeyboard(?*Display, Window, c_int, c_int, c_int, Time) c_int; +pub extern fn XGrabPointer(?*Display, Window, c_int, c_uint, c_int, c_int, Window, Cursor, Time) c_int; +pub extern fn XGrabServer(?*Display) c_int; +pub extern fn XHeightMMOfScreen([*c]Screen) c_int; +pub extern fn XHeightOfScreen([*c]Screen) c_int; +pub extern fn XIfEvent(?*Display, [*c]XEvent, ?*const fn (?*Display, [*c]XEvent, XPointer) callconv(.c) c_int, XPointer) c_int; +pub extern fn XImageByteOrder(?*Display) c_int; +pub extern fn XInstallColormap(?*Display, Colormap) c_int; +pub extern fn XKeysymToKeycode(?*Display, KeySym) KeyCode; +pub extern fn XKillClient(?*Display, XID) c_int; +pub extern fn XLookupColor(?*Display, Colormap, [*c]const u8, [*c]XColor, [*c]XColor) c_int; +pub extern fn XLowerWindow(?*Display, Window) c_int; +pub extern fn XMapRaised(?*Display, Window) c_int; +pub extern fn XMapSubwindows(?*Display, Window) c_int; +pub extern fn XMapWindow(?*Display, Window) c_int; +pub extern fn XMaskEvent(?*Display, c_long, [*c]XEvent) c_int; +pub extern fn XMaxCmapsOfScreen([*c]Screen) c_int; +pub extern fn XMinCmapsOfScreen([*c]Screen) c_int; +pub extern fn XMoveResizeWindow(?*Display, Window, c_int, c_int, c_uint, c_uint) c_int; +pub extern fn XMoveWindow(?*Display, Window, c_int, c_int) c_int; +pub extern fn XNextEvent(?*Display, [*c]XEvent) c_int; +pub extern fn XNoOp(?*Display) c_int; +pub extern fn XParseColor(?*Display, Colormap, [*c]const u8, [*c]XColor) c_int; +pub extern fn XParseGeometry([*c]const u8, [*c]c_int, [*c]c_int, [*c]c_uint, [*c]c_uint) c_int; +pub extern fn XPeekEvent(?*Display, [*c]XEvent) c_int; +pub extern fn XPeekIfEvent(?*Display, [*c]XEvent, ?*const fn (?*Display, [*c]XEvent, XPointer) callconv(.c) c_int, XPointer) c_int; +pub extern fn XPending(?*Display) c_int; +pub extern fn XPlanesOfScreen([*c]Screen) c_int; +pub extern fn XProtocolRevision(?*Display) c_int; +pub extern fn XProtocolVersion(?*Display) c_int; +pub extern fn XPutBackEvent(?*Display, [*c]XEvent) c_int; +pub extern fn XPutImage(?*Display, Drawable, GC, [*c]XImage, c_int, c_int, c_int, c_int, c_uint, c_uint) c_int; +pub extern fn XQLength(?*Display) c_int; +pub extern fn XQueryBestCursor(?*Display, Drawable, c_uint, c_uint, [*c]c_uint, [*c]c_uint) c_int; +pub extern fn XQueryBestSize(?*Display, c_int, Drawable, c_uint, c_uint, [*c]c_uint, [*c]c_uint) c_int; +pub extern fn XQueryBestStipple(?*Display, Drawable, c_uint, c_uint, [*c]c_uint, [*c]c_uint) c_int; +pub extern fn XQueryBestTile(?*Display, Drawable, c_uint, c_uint, [*c]c_uint, [*c]c_uint) c_int; +pub extern fn XQueryColor(?*Display, Colormap, [*c]XColor) c_int; +pub extern fn XQueryColors(?*Display, Colormap, [*c]XColor, c_int) c_int; +pub extern fn XQueryExtension(?*Display, [*c]const u8, [*c]c_int, [*c]c_int, [*c]c_int) c_int; +pub extern fn XQueryKeymap(?*Display, [*c]u8) c_int; +pub extern fn XQueryPointer(?*Display, Window, [*c]Window, [*c]Window, [*c]c_int, [*c]c_int, [*c]c_int, [*c]c_int, [*c]c_uint) c_int; +pub extern fn XQueryTextExtents(?*Display, XID, [*c]const u8, c_int, [*c]c_int, [*c]c_int, [*c]c_int, [*c]XCharStruct) c_int; +pub extern fn XQueryTextExtents16(?*Display, XID, [*c]const XChar2b, c_int, [*c]c_int, [*c]c_int, [*c]c_int, [*c]XCharStruct) c_int; +pub extern fn XQueryTree(?*Display, Window, [*c]Window, [*c]Window, [*c][*c]Window, [*c]c_uint) c_int; +pub extern fn XRaiseWindow(?*Display, Window) c_int; +pub extern fn XReadBitmapFile(?*Display, Drawable, [*c]const u8, [*c]c_uint, [*c]c_uint, [*c]Pixmap, [*c]c_int, [*c]c_int) c_int; +pub extern fn XReadBitmapFileData([*c]const u8, [*c]c_uint, [*c]c_uint, [*c][*c]u8, [*c]c_int, [*c]c_int) c_int; +pub extern fn XRebindKeysym(?*Display, KeySym, [*c]KeySym, c_int, [*c]const u8, c_int) c_int; +pub extern fn XRecolorCursor(?*Display, Cursor, [*c]XColor, [*c]XColor) c_int; +pub extern fn XRefreshKeyboardMapping([*c]XMappingEvent) c_int; +pub extern fn XRemoveFromSaveSet(?*Display, Window) c_int; +pub extern fn XRemoveHost(?*Display, [*c]XHostAddress) c_int; +pub extern fn XRemoveHosts(?*Display, [*c]XHostAddress, c_int) c_int; +pub extern fn XReparentWindow(?*Display, Window, Window, c_int, c_int) c_int; +pub extern fn XResetScreenSaver(?*Display) c_int; +pub extern fn XResizeWindow(?*Display, Window, c_uint, c_uint) c_int; +pub extern fn XRestackWindows(?*Display, [*c]Window, c_int) c_int; +pub extern fn XRotateBuffers(?*Display, c_int) c_int; +pub extern fn XRotateWindowProperties(?*Display, Window, [*c]Atom, c_int, c_int) c_int; +pub extern fn XScreenCount(?*Display) c_int; +pub extern fn XSelectInput(?*Display, Window, c_long) c_int; +pub extern fn XSendEvent(?*Display, Window, c_int, c_long, [*c]XEvent) c_int; +pub extern fn XSetAccessControl(?*Display, c_int) c_int; +pub extern fn XSetArcMode(?*Display, GC, c_int) c_int; +pub extern fn XSetBackground(?*Display, GC, c_ulong) c_int; +pub extern fn XSetClipMask(?*Display, GC, Pixmap) c_int; +pub extern fn XSetClipOrigin(?*Display, GC, c_int, c_int) c_int; +pub extern fn XSetClipRectangles(?*Display, GC, c_int, c_int, [*c]XRectangle, c_int, c_int) c_int; +pub extern fn XSetCloseDownMode(?*Display, c_int) c_int; +pub extern fn XSetCommand(?*Display, Window, [*c][*c]u8, c_int) c_int; +pub extern fn XSetDashes(?*Display, GC, c_int, [*c]const u8, c_int) c_int; +pub extern fn XSetFillRule(?*Display, GC, c_int) c_int; +pub extern fn XSetFillStyle(?*Display, GC, c_int) c_int; +pub extern fn XSetFont(?*Display, GC, Font) c_int; +pub extern fn XSetFontPath(?*Display, [*c][*c]u8, c_int) c_int; +pub extern fn XSetForeground(?*Display, GC, c_ulong) c_int; +pub extern fn XSetFunction(?*Display, GC, c_int) c_int; +pub extern fn XSetGraphicsExposures(?*Display, GC, c_int) c_int; +pub extern fn XSetIconName(?*Display, Window, [*c]const u8) c_int; +pub extern fn XSetInputFocus(?*Display, Window, c_int, Time) c_int; +pub extern fn XSetLineAttributes(?*Display, GC, c_uint, c_int, c_int, c_int) c_int; +pub extern fn XSetModifierMapping(?*Display, [*c]XModifierKeymap) c_int; +pub extern fn XSetPlaneMask(?*Display, GC, c_ulong) c_int; +pub extern fn XSetPointerMapping(?*Display, [*c]const u8, c_int) c_int; +pub extern fn XSetScreenSaver(?*Display, c_int, c_int, c_int, c_int) c_int; +pub extern fn XSetSelectionOwner(?*Display, Atom, Window, Time) c_int; +pub extern fn XSetState(?*Display, GC, c_ulong, c_ulong, c_int, c_ulong) c_int; +pub extern fn XSetStipple(?*Display, GC, Pixmap) c_int; +pub extern fn XSetSubwindowMode(?*Display, GC, c_int) c_int; +pub extern fn XSetTSOrigin(?*Display, GC, c_int, c_int) c_int; +pub extern fn XSetTile(?*Display, GC, Pixmap) c_int; +pub extern fn XSetWindowBackground(?*Display, Window, c_ulong) c_int; +pub extern fn XSetWindowBackgroundPixmap(?*Display, Window, Pixmap) c_int; +pub extern fn XSetWindowBorder(?*Display, Window, c_ulong) c_int; +pub extern fn XSetWindowBorderPixmap(?*Display, Window, Pixmap) c_int; +pub extern fn XSetWindowBorderWidth(?*Display, Window, c_uint) c_int; +pub extern fn XSetWindowColormap(?*Display, Window, Colormap) c_int; +pub extern fn XStoreBuffer(?*Display, [*c]const u8, c_int, c_int) c_int; +pub extern fn XStoreBytes(?*Display, [*c]const u8, c_int) c_int; +pub extern fn XStoreColor(?*Display, Colormap, [*c]XColor) c_int; +pub extern fn XStoreColors(?*Display, Colormap, [*c]XColor, c_int) c_int; +pub extern fn XStoreName(?*Display, Window, [*c]const u8) c_int; +pub extern fn XStoreNamedColor(?*Display, Colormap, [*c]const u8, c_ulong, c_int) c_int; +pub extern fn XSync(?*Display, c_int) c_int; +pub extern fn XTextExtents([*c]XFontStruct, [*c]const u8, c_int, [*c]c_int, [*c]c_int, [*c]c_int, [*c]XCharStruct) c_int; +pub extern fn XTextExtents16([*c]XFontStruct, [*c]const XChar2b, c_int, [*c]c_int, [*c]c_int, [*c]c_int, [*c]XCharStruct) c_int; +pub extern fn XTextWidth([*c]XFontStruct, [*c]const u8, c_int) c_int; +pub extern fn XTextWidth16([*c]XFontStruct, [*c]const XChar2b, c_int) c_int; +pub extern fn XTranslateCoordinates(?*Display, Window, Window, c_int, c_int, [*c]c_int, [*c]c_int, [*c]Window) c_int; +pub extern fn XUndefineCursor(?*Display, Window) c_int; +pub extern fn XUngrabButton(?*Display, c_uint, c_uint, Window) c_int; +pub extern fn XUngrabKey(?*Display, c_int, c_uint, Window) c_int; +pub extern fn XUngrabKeyboard(?*Display, Time) c_int; +pub extern fn XUngrabPointer(?*Display, Time) c_int; +pub extern fn XUngrabServer(?*Display) c_int; +pub extern fn XUninstallColormap(?*Display, Colormap) c_int; +pub extern fn XUnloadFont(?*Display, Font) c_int; +pub extern fn XUnmapSubwindows(?*Display, Window) c_int; +pub extern fn XUnmapWindow(?*Display, Window) c_int; +pub extern fn XVendorRelease(?*Display) c_int; +pub extern fn XWarpPointer(?*Display, Window, Window, c_int, c_int, c_uint, c_uint, c_int, c_int) c_int; +pub extern fn XWidthMMOfScreen([*c]Screen) c_int; +pub extern fn XWidthOfScreen([*c]Screen) c_int; +pub extern fn XWindowEvent(?*Display, Window, c_long, [*c]XEvent) c_int; +pub extern fn XWriteBitmapFile(?*Display, [*c]const u8, Pixmap, c_uint, c_uint, c_int, c_int) c_int; +pub extern fn XSupportsLocale() c_int; +pub extern fn XSetLocaleModifiers([*c]const u8) [*c]u8; +pub extern fn XOpenOM(?*Display, ?*struct__XrmHashBucketRec, [*c]const u8, [*c]const u8) XOM; +pub extern fn XCloseOM(XOM) c_int; +pub extern fn XSetOMValues(XOM, ...) [*c]u8; +pub extern fn XGetOMValues(XOM, ...) [*c]u8; +pub extern fn XDisplayOfOM(XOM) ?*Display; +pub extern fn XLocaleOfOM(XOM) [*c]u8; +pub extern fn XCreateOC(XOM, ...) XOC; +pub extern fn XDestroyOC(XOC) void; +pub extern fn XOMOfOC(XOC) XOM; +pub extern fn XSetOCValues(XOC, ...) [*c]u8; +pub extern fn XGetOCValues(XOC, ...) [*c]u8; +pub extern fn XCreateFontSet(?*Display, [*c]const u8, [*c][*c][*c]u8, [*c]c_int, [*c][*c]u8) XFontSet; +pub extern fn XFreeFontSet(?*Display, XFontSet) void; +pub extern fn XFontsOfFontSet(XFontSet, [*c][*c][*c]XFontStruct, [*c][*c][*c]u8) c_int; +pub extern fn XBaseFontNameListOfFontSet(XFontSet) [*c]u8; +pub extern fn XLocaleOfFontSet(XFontSet) [*c]u8; +pub extern fn XContextDependentDrawing(XFontSet) c_int; +pub extern fn XDirectionalDependentDrawing(XFontSet) c_int; +pub extern fn XContextualDrawing(XFontSet) c_int; +pub extern fn XExtentsOfFontSet(XFontSet) [*c]XFontSetExtents; +pub extern fn XmbTextEscapement(XFontSet, [*c]const u8, c_int) c_int; +pub extern fn XwcTextEscapement(XFontSet, [*c]const wchar_t, c_int) c_int; +pub extern fn Xutf8TextEscapement(XFontSet, [*c]const u8, c_int) c_int; +pub extern fn XmbTextExtents(XFontSet, [*c]const u8, c_int, [*c]XRectangle, [*c]XRectangle) c_int; +pub extern fn XwcTextExtents(XFontSet, [*c]const wchar_t, c_int, [*c]XRectangle, [*c]XRectangle) c_int; +pub extern fn Xutf8TextExtents(XFontSet, [*c]const u8, c_int, [*c]XRectangle, [*c]XRectangle) c_int; +pub extern fn XmbTextPerCharExtents(XFontSet, [*c]const u8, c_int, [*c]XRectangle, [*c]XRectangle, c_int, [*c]c_int, [*c]XRectangle, [*c]XRectangle) c_int; +pub extern fn XwcTextPerCharExtents(XFontSet, [*c]const wchar_t, c_int, [*c]XRectangle, [*c]XRectangle, c_int, [*c]c_int, [*c]XRectangle, [*c]XRectangle) c_int; +pub extern fn Xutf8TextPerCharExtents(XFontSet, [*c]const u8, c_int, [*c]XRectangle, [*c]XRectangle, c_int, [*c]c_int, [*c]XRectangle, [*c]XRectangle) c_int; +pub extern fn XmbDrawText(?*Display, Drawable, GC, c_int, c_int, [*c]XmbTextItem, c_int) void; +pub extern fn XwcDrawText(?*Display, Drawable, GC, c_int, c_int, [*c]XwcTextItem, c_int) void; +pub extern fn Xutf8DrawText(?*Display, Drawable, GC, c_int, c_int, [*c]XmbTextItem, c_int) void; +pub extern fn XmbDrawString(?*Display, Drawable, XFontSet, GC, c_int, c_int, [*c]const u8, c_int) void; +pub extern fn XwcDrawString(?*Display, Drawable, XFontSet, GC, c_int, c_int, [*c]const wchar_t, c_int) void; +pub extern fn Xutf8DrawString(?*Display, Drawable, XFontSet, GC, c_int, c_int, [*c]const u8, c_int) void; +pub extern fn XmbDrawImageString(?*Display, Drawable, XFontSet, GC, c_int, c_int, [*c]const u8, c_int) void; +pub extern fn XwcDrawImageString(?*Display, Drawable, XFontSet, GC, c_int, c_int, [*c]const wchar_t, c_int) void; +pub extern fn Xutf8DrawImageString(?*Display, Drawable, XFontSet, GC, c_int, c_int, [*c]const u8, c_int) void; +pub extern fn XOpenIM(?*Display, ?*struct__XrmHashBucketRec, [*c]u8, [*c]u8) XIM; +pub extern fn XCloseIM(XIM) c_int; +pub extern fn XGetIMValues(XIM, ...) [*c]u8; +pub extern fn XSetIMValues(XIM, ...) [*c]u8; +pub extern fn XDisplayOfIM(XIM) ?*Display; +pub extern fn XLocaleOfIM(XIM) [*c]u8; +pub extern fn XCreateIC(XIM, ...) XIC; +pub extern fn XDestroyIC(XIC) void; +pub extern fn XSetICFocus(XIC) void; +pub extern fn XUnsetICFocus(XIC) void; +pub extern fn XwcResetIC(XIC) [*c]wchar_t; +pub extern fn XmbResetIC(XIC) [*c]u8; +pub extern fn Xutf8ResetIC(XIC) [*c]u8; +pub extern fn XSetICValues(XIC, ...) [*c]u8; +pub extern fn XGetICValues(XIC, ...) [*c]u8; +pub extern fn XIMOfIC(XIC) XIM; +pub extern fn XFilterEvent([*c]XEvent, Window) c_int; +pub extern fn XmbLookupString(XIC, [*c]XKeyPressedEvent, [*c]u8, c_int, [*c]KeySym, [*c]c_int) c_int; +pub extern fn XwcLookupString(XIC, [*c]XKeyPressedEvent, [*c]wchar_t, c_int, [*c]KeySym, [*c]c_int) c_int; +pub extern fn Xutf8LookupString(XIC, [*c]XKeyPressedEvent, [*c]u8, c_int, [*c]KeySym, [*c]c_int) c_int; +pub extern fn XVaCreateNestedList(c_int, ...) XVaNestedList; +pub extern fn XRegisterIMInstantiateCallback(?*Display, ?*struct__XrmHashBucketRec, [*c]u8, [*c]u8, XIDProc, XPointer) c_int; +pub extern fn XUnregisterIMInstantiateCallback(?*Display, ?*struct__XrmHashBucketRec, [*c]u8, [*c]u8, XIDProc, XPointer) c_int; +pub const XConnectionWatchProc = ?*const fn (?*Display, XPointer, c_int, c_int, [*c]XPointer) callconv(.c) void; +pub extern fn XInternalConnectionNumbers(?*Display, [*c][*c]c_int, [*c]c_int) c_int; +pub extern fn XProcessInternalConnection(?*Display, c_int) void; +pub extern fn XAddConnectionWatch(?*Display, XConnectionWatchProc, XPointer) c_int; +pub extern fn XRemoveConnectionWatch(?*Display, XConnectionWatchProc, XPointer) void; +pub extern fn XSetAuthorization([*c]u8, c_int, [*c]u8, c_int) void; +pub extern fn _Xmbtowc([*c]wchar_t, [*c]u8, c_int) c_int; +pub extern fn _Xwctomb([*c]u8, wchar_t) c_int; +pub extern fn XGetEventData(?*Display, [*c]XGenericEventCookie) c_int; +pub extern fn XFreeEventData(?*Display, [*c]XGenericEventCookie) void; +pub const X_PROTOCOL = @as(c_int, 11); +pub const X_PROTOCOL_REVISION = @as(c_int, 0); +pub const None = @as(c_long, 0); +pub const ParentRelative = @as(c_long, 1); +pub const CopyFromParent = @as(c_long, 0); +pub const PointerWindow = @as(c_long, 0); +pub const InputFocus = @as(c_long, 1); +pub const PointerRoot = @as(c_long, 1); +pub const AnyPropertyType = @as(c_long, 0); +pub const AnyKey = @as(c_long, 0); +pub const AnyButton = @as(c_long, 0); +pub const AllTemporary = @as(c_long, 0); +pub const CurrentTime = @as(c_long, 0); +pub const NoSymbol = @as(c_long, 0); +pub const NoEventMask = @as(c_long, 0); +pub const KeyPressMask = @as(c_long, 1) << @as(c_int, 0); +pub const KeyReleaseMask = @as(c_long, 1) << @as(c_int, 1); +pub const ButtonPressMask = @as(c_long, 1) << @as(c_int, 2); +pub const ButtonReleaseMask = @as(c_long, 1) << @as(c_int, 3); +pub const EnterWindowMask = @as(c_long, 1) << @as(c_int, 4); +pub const LeaveWindowMask = @as(c_long, 1) << @as(c_int, 5); +pub const PointerMotionMask = @as(c_long, 1) << @as(c_int, 6); +pub const PointerMotionHintMask = @as(c_long, 1) << @as(c_int, 7); +pub const Button1MotionMask = @as(c_long, 1) << @as(c_int, 8); +pub const Button2MotionMask = @as(c_long, 1) << @as(c_int, 9); +pub const Button3MotionMask = @as(c_long, 1) << @as(c_int, 10); +pub const Button4MotionMask = @as(c_long, 1) << @as(c_int, 11); +pub const Button5MotionMask = @as(c_long, 1) << @as(c_int, 12); +pub const ButtonMotionMask = @as(c_long, 1) << @as(c_int, 13); +pub const KeymapStateMask = @as(c_long, 1) << @as(c_int, 14); +pub const ExposureMask = @as(c_long, 1) << @as(c_int, 15); +pub const VisibilityChangeMask = @as(c_long, 1) << @as(c_int, 16); +pub const StructureNotifyMask = @as(c_long, 1) << @as(c_int, 17); +pub const ResizeRedirectMask = @as(c_long, 1) << @as(c_int, 18); +pub const SubstructureNotifyMask = @as(c_long, 1) << @as(c_int, 19); +pub const SubstructureRedirectMask = @as(c_long, 1) << @as(c_int, 20); +pub const FocusChangeMask = @as(c_long, 1) << @as(c_int, 21); +pub const PropertyChangeMask = @as(c_long, 1) << @as(c_int, 22); +pub const ColormapChangeMask = @as(c_long, 1) << @as(c_int, 23); +pub const OwnerGrabButtonMask = @as(c_long, 1) << @as(c_int, 24); +pub const KeyPress = @as(c_int, 2); +pub const KeyRelease = @as(c_int, 3); +pub const ButtonPress = @as(c_int, 4); +pub const ButtonRelease = @as(c_int, 5); +pub const MotionNotify = @as(c_int, 6); +pub const EnterNotify = @as(c_int, 7); +pub const LeaveNotify = @as(c_int, 8); +pub const FocusIn = @as(c_int, 9); +pub const FocusOut = @as(c_int, 10); +pub const KeymapNotify = @as(c_int, 11); +pub const Expose = @as(c_int, 12); +pub const GraphicsExpose = @as(c_int, 13); +pub const NoExpose = @as(c_int, 14); +pub const VisibilityNotify = @as(c_int, 15); +pub const CreateNotify = @as(c_int, 16); +pub const DestroyNotify = @as(c_int, 17); +pub const UnmapNotify = @as(c_int, 18); +pub const MapNotify = @as(c_int, 19); +pub const MapRequest = @as(c_int, 20); +pub const ReparentNotify = @as(c_int, 21); +pub const ConfigureNotify = @as(c_int, 22); +pub const ConfigureRequest = @as(c_int, 23); +pub const GravityNotify = @as(c_int, 24); +pub const ResizeRequest = @as(c_int, 25); +pub const CirculateNotify = @as(c_int, 26); +pub const CirculateRequest = @as(c_int, 27); +pub const PropertyNotify = @as(c_int, 28); +pub const SelectionClear = @as(c_int, 29); +pub const SelectionRequest = @as(c_int, 30); +pub const SelectionNotify = @as(c_int, 31); +pub const ColormapNotify = @as(c_int, 32); +pub const ClientMessage = @as(c_int, 33); +pub const MappingNotify = @as(c_int, 34); +pub const GenericEvent = @as(c_int, 35); +pub const LASTEvent = @as(c_int, 36); +pub const ShiftMask = @as(c_int, 1) << @as(c_int, 0); +pub const LockMask = @as(c_int, 1) << @as(c_int, 1); +pub const ControlMask = @as(c_int, 1) << @as(c_int, 2); +pub const Mod1Mask = @as(c_int, 1) << @as(c_int, 3); +pub const Mod2Mask = @as(c_int, 1) << @as(c_int, 4); +pub const Mod3Mask = @as(c_int, 1) << @as(c_int, 5); +pub const Mod4Mask = @as(c_int, 1) << @as(c_int, 6); +pub const Mod5Mask = @as(c_int, 1) << @as(c_int, 7); +pub const ShiftMapIndex = @as(c_int, 0); +pub const LockMapIndex = @as(c_int, 1); +pub const ControlMapIndex = @as(c_int, 2); +pub const Mod1MapIndex = @as(c_int, 3); +pub const Mod2MapIndex = @as(c_int, 4); +pub const Mod3MapIndex = @as(c_int, 5); +pub const Mod4MapIndex = @as(c_int, 6); +pub const Mod5MapIndex = @as(c_int, 7); +pub const Button1Mask = @as(c_int, 1) << @as(c_int, 8); +pub const Button2Mask = @as(c_int, 1) << @as(c_int, 9); +pub const Button3Mask = @as(c_int, 1) << @as(c_int, 10); +pub const Button4Mask = @as(c_int, 1) << @as(c_int, 11); +pub const Button5Mask = @as(c_int, 1) << @as(c_int, 12); +pub const AnyModifier = @as(c_int, 1) << @as(c_int, 15); +pub const Button1 = @as(c_int, 1); +pub const Button2 = @as(c_int, 2); +pub const Button3 = @as(c_int, 3); +pub const Button4 = @as(c_int, 4); +pub const Button5 = @as(c_int, 5); +pub const NotifyNormal = @as(c_int, 0); +pub const NotifyGrab = @as(c_int, 1); +pub const NotifyUngrab = @as(c_int, 2); +pub const NotifyWhileGrabbed = @as(c_int, 3); +pub const NotifyHint = @as(c_int, 1); +pub const NotifyAncestor = @as(c_int, 0); +pub const NotifyVirtual = @as(c_int, 1); +pub const NotifyInferior = @as(c_int, 2); +pub const NotifyNonlinear = @as(c_int, 3); +pub const NotifyNonlinearVirtual = @as(c_int, 4); +pub const NotifyPointer = @as(c_int, 5); +pub const NotifyPointerRoot = @as(c_int, 6); +pub const NotifyDetailNone = @as(c_int, 7); +pub const VisibilityUnobscured = @as(c_int, 0); +pub const VisibilityPartiallyObscured = @as(c_int, 1); +pub const VisibilityFullyObscured = @as(c_int, 2); +pub const PlaceOnTop = @as(c_int, 0); +pub const PlaceOnBottom = @as(c_int, 1); +pub const FamilyInternet = @as(c_int, 0); +pub const FamilyDECnet = @as(c_int, 1); +pub const FamilyChaos = @as(c_int, 2); +pub const FamilyInternet6 = @as(c_int, 6); +pub const FamilyServerInterpreted = @as(c_int, 5); +pub const PropertyNewValue = @as(c_int, 0); +pub const PropertyDelete = @as(c_int, 1); +pub const ColormapUninstalled = @as(c_int, 0); +pub const ColormapInstalled = @as(c_int, 1); +pub const GrabModeSync = @as(c_int, 0); +pub const GrabModeAsync = @as(c_int, 1); +pub const GrabSuccess = @as(c_int, 0); +pub const AlreadyGrabbed = @as(c_int, 1); +pub const GrabInvalidTime = @as(c_int, 2); +pub const GrabNotViewable = @as(c_int, 3); +pub const GrabFrozen = @as(c_int, 4); +pub const AsyncPointer = @as(c_int, 0); +pub const SyncPointer = @as(c_int, 1); +pub const ReplayPointer = @as(c_int, 2); +pub const AsyncKeyboard = @as(c_int, 3); +pub const SyncKeyboard = @as(c_int, 4); +pub const ReplayKeyboard = @as(c_int, 5); +pub const AsyncBoth = @as(c_int, 6); +pub const SyncBoth = @as(c_int, 7); +pub const RevertToNone = @import("std").zig.c_translation.cast(c_int, None); +pub const RevertToPointerRoot = @import("std").zig.c_translation.cast(c_int, PointerRoot); +pub const RevertToParent = @as(c_int, 2); +pub const Success = @as(c_int, 0); +pub const BadRequest = @as(c_int, 1); +pub const BadValue = @as(c_int, 2); +pub const BadWindow = @as(c_int, 3); +pub const BadPixmap = @as(c_int, 4); +pub const BadAtom = @as(c_int, 5); +pub const BadCursor = @as(c_int, 6); +pub const BadFont = @as(c_int, 7); +pub const BadMatch = @as(c_int, 8); +pub const BadDrawable = @as(c_int, 9); +pub const BadAccess = @as(c_int, 10); +pub const BadAlloc = @as(c_int, 11); +pub const BadColor = @as(c_int, 12); +pub const BadGC = @as(c_int, 13); +pub const BadIDChoice = @as(c_int, 14); +pub const BadName = @as(c_int, 15); +pub const BadLength = @as(c_int, 16); +pub const BadImplementation = @as(c_int, 17); +pub const FirstExtensionError = @as(c_int, 128); +pub const LastExtensionError = @as(c_int, 255); +pub const InputOutput = @as(c_int, 1); +pub const InputOnly = @as(c_int, 2); +pub const CWBackPixmap = @as(c_long, 1) << @as(c_int, 0); +pub const CWBackPixel = @as(c_long, 1) << @as(c_int, 1); +pub const CWBorderPixmap = @as(c_long, 1) << @as(c_int, 2); +pub const CWBorderPixel = @as(c_long, 1) << @as(c_int, 3); +pub const CWBitGravity = @as(c_long, 1) << @as(c_int, 4); +pub const CWWinGravity = @as(c_long, 1) << @as(c_int, 5); +pub const CWBackingStore = @as(c_long, 1) << @as(c_int, 6); +pub const CWBackingPlanes = @as(c_long, 1) << @as(c_int, 7); +pub const CWBackingPixel = @as(c_long, 1) << @as(c_int, 8); +pub const CWOverrideRedirect = @as(c_long, 1) << @as(c_int, 9); +pub const CWSaveUnder = @as(c_long, 1) << @as(c_int, 10); +pub const CWEventMask = @as(c_long, 1) << @as(c_int, 11); +pub const CWDontPropagate = @as(c_long, 1) << @as(c_int, 12); +pub const CWColormap = @as(c_long, 1) << @as(c_int, 13); +pub const CWCursor = @as(c_long, 1) << @as(c_int, 14); +pub const CWX = @as(c_int, 1) << @as(c_int, 0); +pub const CWY = @as(c_int, 1) << @as(c_int, 1); +pub const CWWidth = @as(c_int, 1) << @as(c_int, 2); +pub const CWHeight = @as(c_int, 1) << @as(c_int, 3); +pub const CWBorderWidth = @as(c_int, 1) << @as(c_int, 4); +pub const CWSibling = @as(c_int, 1) << @as(c_int, 5); +pub const CWStackMode = @as(c_int, 1) << @as(c_int, 6); +pub const ForgetGravity = @as(c_int, 0); +pub const NorthWestGravity = @as(c_int, 1); +pub const NorthGravity = @as(c_int, 2); +pub const NorthEastGravity = @as(c_int, 3); +pub const WestGravity = @as(c_int, 4); +pub const CenterGravity = @as(c_int, 5); +pub const EastGravity = @as(c_int, 6); +pub const SouthWestGravity = @as(c_int, 7); +pub const SouthGravity = @as(c_int, 8); +pub const SouthEastGravity = @as(c_int, 9); +pub const StaticGravity = @as(c_int, 10); +pub const UnmapGravity = @as(c_int, 0); +pub const NotUseful = @as(c_int, 0); +pub const WhenMapped = @as(c_int, 1); +pub const Always = @as(c_int, 2); +pub const IsUnmapped = @as(c_int, 0); +pub const IsUnviewable = @as(c_int, 1); +pub const IsViewable = @as(c_int, 2); +pub const SetModeInsert = @as(c_int, 0); +pub const SetModeDelete = @as(c_int, 1); +pub const DestroyAll = @as(c_int, 0); +pub const RetainPermanent = @as(c_int, 1); +pub const RetainTemporary = @as(c_int, 2); +pub const Above = @as(c_int, 0); +pub const Below = @as(c_int, 1); +pub const TopIf = @as(c_int, 2); +pub const BottomIf = @as(c_int, 3); +pub const Opposite = @as(c_int, 4); +pub const RaiseLowest = @as(c_int, 0); +pub const LowerHighest = @as(c_int, 1); +pub const PropModeReplace = @as(c_int, 0); +pub const PropModePrepend = @as(c_int, 1); +pub const PropModeAppend = @as(c_int, 2); +pub const GXclear = @as(c_int, 0x0); +pub const GXand = @as(c_int, 0x1); +pub const GXandReverse = @as(c_int, 0x2); +pub const GXcopy = @as(c_int, 0x3); +pub const GXandInverted = @as(c_int, 0x4); +pub const GXnoop = @as(c_int, 0x5); +pub const GXxor = @as(c_int, 0x6); +pub const GXor = @as(c_int, 0x7); +pub const GXnor = @as(c_int, 0x8); +pub const GXequiv = @as(c_int, 0x9); +pub const GXinvert = @as(c_int, 0xa); +pub const GXorReverse = @as(c_int, 0xb); +pub const GXcopyInverted = @as(c_int, 0xc); +pub const GXorInverted = @as(c_int, 0xd); +pub const GXnand = @as(c_int, 0xe); +pub const GXset = @as(c_int, 0xf); +pub const LineSolid = @as(c_int, 0); +pub const LineOnOffDash = @as(c_int, 1); +pub const LineDoubleDash = @as(c_int, 2); +pub const CapNotLast = @as(c_int, 0); +pub const CapButt = @as(c_int, 1); +pub const CapRound = @as(c_int, 2); +pub const CapProjecting = @as(c_int, 3); +pub const JoinMiter = @as(c_int, 0); +pub const JoinRound = @as(c_int, 1); +pub const JoinBevel = @as(c_int, 2); +pub const FillSolid = @as(c_int, 0); +pub const FillTiled = @as(c_int, 1); +pub const FillStippled = @as(c_int, 2); +pub const FillOpaqueStippled = @as(c_int, 3); +pub const EvenOddRule = @as(c_int, 0); +pub const WindingRule = @as(c_int, 1); +pub const ClipByChildren = @as(c_int, 0); +pub const IncludeInferiors = @as(c_int, 1); +pub const Unsorted = @as(c_int, 0); +pub const YSorted = @as(c_int, 1); +pub const YXSorted = @as(c_int, 2); +pub const YXBanded = @as(c_int, 3); +pub const CoordModeOrigin = @as(c_int, 0); +pub const CoordModePrevious = @as(c_int, 1); +pub const Complex = @as(c_int, 0); +pub const Nonconvex = @as(c_int, 1); +pub const Convex = @as(c_int, 2); +pub const ArcChord = @as(c_int, 0); +pub const ArcPieSlice = @as(c_int, 1); +pub const GCFunction = @as(c_long, 1) << @as(c_int, 0); +pub const GCPlaneMask = @as(c_long, 1) << @as(c_int, 1); +pub const GCForeground = @as(c_long, 1) << @as(c_int, 2); +pub const GCBackground = @as(c_long, 1) << @as(c_int, 3); +pub const GCLineWidth = @as(c_long, 1) << @as(c_int, 4); +pub const GCLineStyle = @as(c_long, 1) << @as(c_int, 5); +pub const GCCapStyle = @as(c_long, 1) << @as(c_int, 6); +pub const GCJoinStyle = @as(c_long, 1) << @as(c_int, 7); +pub const GCFillStyle = @as(c_long, 1) << @as(c_int, 8); +pub const GCFillRule = @as(c_long, 1) << @as(c_int, 9); +pub const GCTile = @as(c_long, 1) << @as(c_int, 10); +pub const GCStipple = @as(c_long, 1) << @as(c_int, 11); +pub const GCTileStipXOrigin = @as(c_long, 1) << @as(c_int, 12); +pub const GCTileStipYOrigin = @as(c_long, 1) << @as(c_int, 13); +pub const GCFont = @as(c_long, 1) << @as(c_int, 14); +pub const GCSubwindowMode = @as(c_long, 1) << @as(c_int, 15); +pub const GCGraphicsExposures = @as(c_long, 1) << @as(c_int, 16); +pub const GCClipXOrigin = @as(c_long, 1) << @as(c_int, 17); +pub const GCClipYOrigin = @as(c_long, 1) << @as(c_int, 18); +pub const GCClipMask = @as(c_long, 1) << @as(c_int, 19); +pub const GCDashOffset = @as(c_long, 1) << @as(c_int, 20); +pub const GCDashList = @as(c_long, 1) << @as(c_int, 21); +pub const GCArcMode = @as(c_long, 1) << @as(c_int, 22); +pub const GCLastBit = @as(c_int, 22); +pub const FontLeftToRight = @as(c_int, 0); +pub const FontRightToLeft = @as(c_int, 1); +pub const FontChange = @as(c_int, 255); +pub const XYBitmap = @as(c_int, 0); +pub const XYPixmap = @as(c_int, 1); +pub const ZPixmap = @as(c_int, 2); +pub const AllocNone = @as(c_int, 0); +pub const AllocAll = @as(c_int, 1); +pub const DoRed = @as(c_int, 1) << @as(c_int, 0); +pub const DoGreen = @as(c_int, 1) << @as(c_int, 1); +pub const DoBlue = @as(c_int, 1) << @as(c_int, 2); +pub const CursorShape = @as(c_int, 0); +pub const TileShape = @as(c_int, 1); +pub const StippleShape = @as(c_int, 2); +pub const AutoRepeatModeOff = @as(c_int, 0); +pub const AutoRepeatModeOn = @as(c_int, 1); +pub const AutoRepeatModeDefault = @as(c_int, 2); +pub const LedModeOff = @as(c_int, 0); +pub const LedModeOn = @as(c_int, 1); +pub const KBKeyClickPercent = @as(c_long, 1) << @as(c_int, 0); +pub const KBBellPercent = @as(c_long, 1) << @as(c_int, 1); +pub const KBBellPitch = @as(c_long, 1) << @as(c_int, 2); +pub const KBBellDuration = @as(c_long, 1) << @as(c_int, 3); +pub const KBLed = @as(c_long, 1) << @as(c_int, 4); +pub const KBLedMode = @as(c_long, 1) << @as(c_int, 5); +pub const KBKey = @as(c_long, 1) << @as(c_int, 6); +pub const KBAutoRepeatMode = @as(c_long, 1) << @as(c_int, 7); +pub const MappingSuccess = @as(c_int, 0); +pub const MappingBusy = @as(c_int, 1); +pub const MappingFailed = @as(c_int, 2); +pub const MappingModifier = @as(c_int, 0); +pub const MappingKeyboard = @as(c_int, 1); +pub const MappingPointer = @as(c_int, 2); +pub const DontPreferBlanking = @as(c_int, 0); +pub const PreferBlanking = @as(c_int, 1); +pub const DefaultBlanking = @as(c_int, 2); +pub const DisableScreenSaver = @as(c_int, 0); +pub const DisableScreenInterval = @as(c_int, 0); +pub const DontAllowExposures = @as(c_int, 0); +pub const AllowExposures = @as(c_int, 1); +pub const DefaultExposures = @as(c_int, 2); +pub const ScreenSaverReset = @as(c_int, 0); +pub const ScreenSaverActive = @as(c_int, 1); +pub const HostInsert = @as(c_int, 0); +pub const HostDelete = @as(c_int, 1); +pub const EnableAccess = @as(c_int, 1); +pub const DisableAccess = @as(c_int, 0); +pub const StaticGray = @as(c_int, 0); +pub const GrayScale = @as(c_int, 1); +pub const StaticColor = @as(c_int, 2); +pub const PseudoColor = @as(c_int, 3); +pub const TrueColor = @as(c_int, 4); +pub const DirectColor = @as(c_int, 5); +pub const LSBFirst = @as(c_int, 0); +pub const MSBFirst = @as(c_int, 1); +pub const NeedFunctionPrototypes = @as(c_int, 1); +pub const NeedVarargsPrototypes = @as(c_int, 1); +pub const NeedNestedPrototypes = @as(c_int, 1); +// /usr/include/X11/Xfuncproto.h:47:9 +pub const FUNCPROTO = @as(c_int, 15); +pub const NeedWidePrototypes = @as(c_int, 0); +// /home/renati/.zig/lib/include/__stddef_offsetof.h:16:9 +pub const X_HAVE_UTF8_STRING = @as(c_int, 1); +pub const Bool = c_int; +pub const Status = c_int; +pub const True = @as(c_int, 1); +pub const False = @as(c_int, 0); +pub const QueuedAlready = @as(c_int, 0); +pub const QueuedAfterReading = @as(c_int, 1); +pub const QueuedAfterFlush = @as(c_int, 2); +pub inline fn ConnectionNumber(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.fd) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.fd; +} +pub inline fn RootWindow(dpy: anytype, scr: anytype) @TypeOf(ScreenOfDisplay(dpy, scr).*.root) { + _ = &dpy; + _ = &scr; + return ScreenOfDisplay(dpy, scr).*.root; +} +pub inline fn DefaultScreen(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.default_screen) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.default_screen; +} +pub inline fn DefaultRootWindow(dpy: anytype) @TypeOf(ScreenOfDisplay(dpy, DefaultScreen(dpy)).*.root) { + _ = &dpy; + return ScreenOfDisplay(dpy, DefaultScreen(dpy)).*.root; +} +pub inline fn DefaultVisual(dpy: anytype, scr: anytype) @TypeOf(ScreenOfDisplay(dpy, scr).*.root_visual) { + _ = &dpy; + _ = &scr; + return ScreenOfDisplay(dpy, scr).*.root_visual; +} +pub inline fn DefaultGC(dpy: anytype, scr: anytype) @TypeOf(ScreenOfDisplay(dpy, scr).*.default_gc) { + _ = &dpy; + _ = &scr; + return ScreenOfDisplay(dpy, scr).*.default_gc; +} +pub inline fn BlackPixel(dpy: anytype, scr: anytype) @TypeOf(ScreenOfDisplay(dpy, scr).*.black_pixel) { + _ = &dpy; + _ = &scr; + return ScreenOfDisplay(dpy, scr).*.black_pixel; +} +pub inline fn WhitePixel(dpy: anytype, scr: anytype) @TypeOf(ScreenOfDisplay(dpy, scr).*.white_pixel) { + _ = &dpy; + _ = &scr; + return ScreenOfDisplay(dpy, scr).*.white_pixel; +} +pub const AllPlanes = @import("std").zig.c_translation.cast(c_ulong, ~@as(c_long, 0)); +pub inline fn QLength(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.qlen) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.qlen; +} +pub inline fn DisplayWidth(dpy: anytype, scr: anytype) @TypeOf(ScreenOfDisplay(dpy, scr).*.width) { + _ = &dpy; + _ = &scr; + return ScreenOfDisplay(dpy, scr).*.width; +} +pub inline fn DisplayHeight(dpy: anytype, scr: anytype) @TypeOf(ScreenOfDisplay(dpy, scr).*.height) { + _ = &dpy; + _ = &scr; + return ScreenOfDisplay(dpy, scr).*.height; +} +pub inline fn DisplayWidthMM(dpy: anytype, scr: anytype) @TypeOf(ScreenOfDisplay(dpy, scr).*.mwidth) { + _ = &dpy; + _ = &scr; + return ScreenOfDisplay(dpy, scr).*.mwidth; +} +pub inline fn DisplayHeightMM(dpy: anytype, scr: anytype) @TypeOf(ScreenOfDisplay(dpy, scr).*.mheight) { + _ = &dpy; + _ = &scr; + return ScreenOfDisplay(dpy, scr).*.mheight; +} +pub inline fn DisplayPlanes(dpy: anytype, scr: anytype) @TypeOf(ScreenOfDisplay(dpy, scr).*.root_depth) { + _ = &dpy; + _ = &scr; + return ScreenOfDisplay(dpy, scr).*.root_depth; +} +pub inline fn DisplayCells(dpy: anytype, scr: anytype) @TypeOf(DefaultVisual(dpy, scr).*.map_entries) { + _ = &dpy; + _ = &scr; + return DefaultVisual(dpy, scr).*.map_entries; +} +pub inline fn ScreenCount(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.nscreens) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.nscreens; +} +pub inline fn ServerVendor(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.vendor) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.vendor; +} +pub inline fn ProtocolVersion(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.proto_major_version) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.proto_major_version; +} +pub inline fn ProtocolRevision(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.proto_minor_version) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.proto_minor_version; +} +pub inline fn VendorRelease(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.release) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.release; +} +pub inline fn DisplayString(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.display_name) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.display_name; +} +pub inline fn DefaultDepth(dpy: anytype, scr: anytype) @TypeOf(ScreenOfDisplay(dpy, scr).*.root_depth) { + _ = &dpy; + _ = &scr; + return ScreenOfDisplay(dpy, scr).*.root_depth; +} +pub inline fn DefaultColormap(dpy: anytype, scr: anytype) @TypeOf(ScreenOfDisplay(dpy, scr).*.cmap) { + _ = &dpy; + _ = &scr; + return ScreenOfDisplay(dpy, scr).*.cmap; +} +pub inline fn BitmapUnit(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.bitmap_unit) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.bitmap_unit; +} +pub inline fn BitmapBitOrder(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.bitmap_bit_order) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.bitmap_bit_order; +} +pub inline fn BitmapPad(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.bitmap_pad) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.bitmap_pad; +} +pub inline fn ImageByteOrder(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.byte_order) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.byte_order; +} +pub inline fn NextRequest(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.request + @as(c_int, 1)) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.request + @as(c_int, 1); +} +pub inline fn LastKnownRequestProcessed(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.last_request_read) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.last_request_read; +} +pub inline fn ScreenOfDisplay(dpy: anytype, scr: anytype) @TypeOf(&@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.screens[@as(usize, @intCast(scr))]) { + _ = &dpy; + _ = &scr; + return &@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.screens[@as(usize, @intCast(scr))]; +} +pub inline fn DefaultScreenOfDisplay(dpy: anytype) @TypeOf(ScreenOfDisplay(dpy, DefaultScreen(dpy))) { + _ = &dpy; + return ScreenOfDisplay(dpy, DefaultScreen(dpy)); +} +pub inline fn DisplayOfScreen(s: anytype) @TypeOf(s.*.display) { + _ = &s; + return s.*.display; +} +pub inline fn RootWindowOfScreen(s: anytype) @TypeOf(s.*.root) { + _ = &s; + return s.*.root; +} +pub inline fn BlackPixelOfScreen(s: anytype) @TypeOf(s.*.black_pixel) { + _ = &s; + return s.*.black_pixel; +} +pub inline fn WhitePixelOfScreen(s: anytype) @TypeOf(s.*.white_pixel) { + _ = &s; + return s.*.white_pixel; +} +pub inline fn DefaultColormapOfScreen(s: anytype) @TypeOf(s.*.cmap) { + _ = &s; + return s.*.cmap; +} +pub inline fn DefaultDepthOfScreen(s: anytype) @TypeOf(s.*.root_depth) { + _ = &s; + return s.*.root_depth; +} +pub inline fn DefaultGCOfScreen(s: anytype) @TypeOf(s.*.default_gc) { + _ = &s; + return s.*.default_gc; +} +pub inline fn DefaultVisualOfScreen(s: anytype) @TypeOf(s.*.root_visual) { + _ = &s; + return s.*.root_visual; +} +pub inline fn WidthOfScreen(s: anytype) @TypeOf(s.*.width) { + _ = &s; + return s.*.width; +} +pub inline fn HeightOfScreen(s: anytype) @TypeOf(s.*.height) { + _ = &s; + return s.*.height; +} +pub inline fn WidthMMOfScreen(s: anytype) @TypeOf(s.*.mwidth) { + _ = &s; + return s.*.mwidth; +} +pub inline fn HeightMMOfScreen(s: anytype) @TypeOf(s.*.mheight) { + _ = &s; + return s.*.mheight; +} +pub inline fn PlanesOfScreen(s: anytype) @TypeOf(s.*.root_depth) { + _ = &s; + return s.*.root_depth; +} +pub inline fn CellsOfScreen(s: anytype) @TypeOf(DefaultVisualOfScreen(s).*.map_entries) { + _ = &s; + return DefaultVisualOfScreen(s).*.map_entries; +} +pub inline fn MinCmapsOfScreen(s: anytype) @TypeOf(s.*.min_maps) { + _ = &s; + return s.*.min_maps; +} +pub inline fn MaxCmapsOfScreen(s: anytype) @TypeOf(s.*.max_maps) { + _ = &s; + return s.*.max_maps; +} +pub inline fn DoesSaveUnders(s: anytype) @TypeOf(s.*.save_unders) { + _ = &s; + return s.*.save_unders; +} +pub inline fn DoesBackingStore(s: anytype) @TypeOf(s.*.backing_store) { + _ = &s; + return s.*.backing_store; +} +pub inline fn EventMaskOfScreen(s: anytype) @TypeOf(s.*.root_input_mask) { + _ = &s; + return s.*.root_input_mask; +} +pub inline fn XAllocID(dpy: anytype) @TypeOf(@import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.resource_alloc.*(dpy)) { + _ = &dpy; + return @import("std").zig.c_translation.cast(_XPrivDisplay, dpy).*.resource_alloc.*(dpy); +} +pub const XNRequiredCharSet = "requiredCharSet"; +pub const XNQueryOrientation = "queryOrientation"; +pub const XNBaseFontName = "baseFontName"; +pub const XNOMAutomatic = "omAutomatic"; +pub const XNMissingCharSet = "missingCharSet"; +pub const XNDefaultString = "defaultString"; +pub const XNOrientation = "orientation"; +pub const XNDirectionalDependentDrawing = "directionalDependentDrawing"; +pub const XNContextualDrawing = "contextualDrawing"; +pub const XNFontInfo = "fontInfo"; +pub const XIMPreeditArea = @as(c_long, 0x0001); +pub const XIMPreeditCallbacks = @as(c_long, 0x0002); +pub const XIMPreeditPosition = @as(c_long, 0x0004); +pub const XIMPreeditNothing = @as(c_long, 0x0008); +pub const XIMPreeditNone = @as(c_long, 0x0010); +pub const XIMStatusArea = @as(c_long, 0x0100); +pub const XIMStatusCallbacks = @as(c_long, 0x0200); +pub const XIMStatusNothing = @as(c_long, 0x0400); +pub const XIMStatusNone = @as(c_long, 0x0800); +pub const XNVaNestedList = "XNVaNestedList"; +pub const XNQueryInputStyle = "queryInputStyle"; +pub const XNClientWindow = "clientWindow"; +pub const XNInputStyle = "inputStyle"; +pub const XNFocusWindow = "focusWindow"; +pub const XNResourceName = "resourceName"; +pub const XNResourceClass = "resourceClass"; +pub const XNGeometryCallback = "geometryCallback"; +pub const XNDestroyCallback = "destroyCallback"; +pub const XNFilterEvents = "filterEvents"; +pub const XNPreeditStartCallback = "preeditStartCallback"; +pub const XNPreeditDoneCallback = "preeditDoneCallback"; +pub const XNPreeditDrawCallback = "preeditDrawCallback"; +pub const XNPreeditCaretCallback = "preeditCaretCallback"; +pub const XNPreeditStateNotifyCallback = "preeditStateNotifyCallback"; +pub const XNPreeditAttributes = "preeditAttributes"; +pub const XNStatusStartCallback = "statusStartCallback"; +pub const XNStatusDoneCallback = "statusDoneCallback"; +pub const XNStatusDrawCallback = "statusDrawCallback"; +pub const XNStatusAttributes = "statusAttributes"; +pub const XNArea = "area"; +pub const XNAreaNeeded = "areaNeeded"; +pub const XNSpotLocation = "spotLocation"; +pub const XNColormap = "colorMap"; +pub const XNStdColormap = "stdColorMap"; +pub const XNForeground = "foreground"; +pub const XNBackground = "background"; +pub const XNBackgroundPixmap = "backgroundPixmap"; +pub const XNFontSet = "fontSet"; +pub const XNLineSpace = "lineSpace"; +pub const XNCursor = "cursor"; +pub const XNQueryIMValuesList = "queryIMValuesList"; +pub const XNQueryICValuesList = "queryICValuesList"; +pub const XNVisiblePosition = "visiblePosition"; +pub const XNR6PreeditCallback = "r6PreeditCallback"; +pub const XNStringConversionCallback = "stringConversionCallback"; +pub const XNStringConversion = "stringConversion"; +pub const XNResetState = "resetState"; +pub const XNHotKey = "hotKey"; +pub const XNHotKeyState = "hotKeyState"; +pub const XNPreeditState = "preeditState"; +pub const XNSeparatorofNestedList = "separatorofNestedList"; +pub const XBufferOverflow = -@as(c_int, 1); +pub const XLookupNone = @as(c_int, 1); +pub const XLookupChars = @as(c_int, 2); +pub const XLookupKeySym = @as(c_int, 3); +pub const XLookupBoth = @as(c_int, 4); +pub const XIMReverse = @as(c_long, 1); +pub const XIMUnderline = @as(c_long, 1) << @as(c_int, 1); +pub const XIMHighlight = @as(c_long, 1) << @as(c_int, 2); +pub const XIMPrimary = @as(c_long, 1) << @as(c_int, 5); +pub const XIMSecondary = @as(c_long, 1) << @as(c_int, 6); +pub const XIMTertiary = @as(c_long, 1) << @as(c_int, 7); +pub const XIMVisibleToForward = @as(c_long, 1) << @as(c_int, 8); +pub const XIMVisibleToBackword = @as(c_long, 1) << @as(c_int, 9); +pub const XIMVisibleToCenter = @as(c_long, 1) << @as(c_int, 10); +pub const XIMPreeditUnKnown = @as(c_long, 0); +pub const XIMPreeditEnable = @as(c_long, 1); +pub const XIMPreeditDisable = @as(c_long, 1) << @as(c_int, 1); +pub const XIMInitialState = @as(c_long, 1); +pub const XIMPreserveState = @as(c_long, 1) << @as(c_int, 1); +pub const XIMStringConversionLeftEdge = @as(c_int, 0x00000001); +pub const XIMStringConversionRightEdge = @as(c_int, 0x00000002); +pub const XIMStringConversionTopEdge = @as(c_int, 0x00000004); +pub const XIMStringConversionBottomEdge = @as(c_int, 0x00000008); +pub const XIMStringConversionConcealed = @as(c_int, 0x00000010); +pub const XIMStringConversionWrapped = @as(c_int, 0x00000020); +pub const XIMStringConversionBuffer = @as(c_int, 0x0001); +pub const XIMStringConversionLine = @as(c_int, 0x0002); +pub const XIMStringConversionWord = @as(c_int, 0x0003); +pub const XIMStringConversionChar = @as(c_int, 0x0004); +pub const XIMStringConversionSubstitution = @as(c_int, 0x0001); +pub const XIMStringConversionRetrieval = @as(c_int, 0x0002); +pub const XIMHotKeyStateON = @as(c_long, 0x0001); +pub const XIMHotKeyStateOFF = @as(c_long, 0x0002); +pub const _XExtData = struct__XExtData; +pub const _XGC = struct__XGC; +pub const _XDisplay = struct__XDisplay; +pub const _XImage = struct__XImage; +pub const _XPrivate = struct__XPrivate; +pub const _XrmHashBucketRec = struct__XrmHashBucketRec; +pub const _XEvent = union__XEvent; +pub const _XOM = struct__XOM; +pub const _XOC = struct__XOC; +pub const _XIM = struct__XIM; +pub const _XIC = struct__XIC; +pub const _XIMText = struct__XIMText; +pub const _XIMPreeditStateNotifyCallbackStruct = struct__XIMPreeditStateNotifyCallbackStruct; +pub const _XIMStringConversionText = struct__XIMStringConversionText; +pub const _XIMStringConversionCallbackStruct = struct__XIMStringConversionCallbackStruct; +pub const _XIMPreeditDrawCallbackStruct = struct__XIMPreeditDrawCallbackStruct; +pub const _XIMPreeditCaretCallbackStruct = struct__XIMPreeditCaretCallbackStruct; +pub const _XIMStatusDrawCallbackStruct = struct__XIMStatusDrawCallbackStruct; +pub const _XIMHotKeyTrigger = struct__XIMHotKeyTrigger; +pub const _XIMHotKeyTriggers = struct__XIMHotKeyTriggers; diff --git a/packages/sciter/vendor/linux/aarch64/libsciter.so b/packages/sciter/vendor/linux/aarch64/libsciter.so new file mode 100644 index 0000000..5494f90 --- /dev/null +++ b/packages/sciter/vendor/linux/aarch64/libsciter.so @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2dca7f09d8936bb9d3a35ef91e574494c453b37f7358ca9ea04761a4f60cb330 +size 25347672 diff --git a/packages/sciter/vendor/linux/x86_64/libsciter.so b/packages/sciter/vendor/linux/x86_64/libsciter.so new file mode 100644 index 0000000..085e71f --- /dev/null +++ b/packages/sciter/vendor/linux/x86_64/libsciter.so @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:324758c05b4808e6319e405ceaf29be6e48427106ce74eea183c18f8ef7ca4e5 +size 24879880 diff --git a/packages/sciter/vendor/sciter.dll b/packages/sciter/vendor/sciter.dll deleted file mode 100644 index d1ae272..0000000 --- a/packages/sciter/vendor/sciter.dll +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e3975ac6263058493486be85d5e48401a07507743e715b32cca925b3cf4c0375 -size 18819584 diff --git a/packages/sciter/vendor/windows/aarch64/sciter.dll b/packages/sciter/vendor/windows/aarch64/sciter.dll new file mode 100644 index 0000000..3865766 --- /dev/null +++ b/packages/sciter/vendor/windows/aarch64/sciter.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52652d77b77fb0739358b9932f7995389ba92b152c17aaa027b63fd819bb86c7 +size 19521536 diff --git a/packages/sciter/vendor/windows/x86_64/sciter.dll b/packages/sciter/vendor/windows/x86_64/sciter.dll new file mode 100644 index 0000000..302d321 --- /dev/null +++ b/packages/sciter/vendor/windows/x86_64/sciter.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e4ffa6d482fd67e3474564bf6a34c88f7a8893d31b4aa54dc1ad3892d76f19e6 +size 19202048