Lines Matching refs:xlib

70 } xlib;  variable
77 xlib.dpy = dpy; in nk_xlib_init()
78 xlib.root = root; in nk_xlib_init()
88 xlib.cursor = XCreatePixmapCursor(dpy, blank, blank, &dummy, &dummy, 0, 0); in nk_xlib_init()
91 xlib.fallback = False; in nk_xlib_init()
97 xlib.fallback = True; in nk_xlib_init()
100 xlib.ximg = XShmCreateImage(dpy, vis, depth, ZPixmap, NULL, &xlib.xsi, w, h); in nk_xlib_init()
101 if (!xlib.ximg) { in nk_xlib_init()
102 xlib.fallback = True; in nk_xlib_init()
105xlib.xsi.shmid = shmget(IPC_PRIVATE, xlib.ximg->bytes_per_line * xlib.ximg->height, IPC_CREAT | 07… in nk_xlib_init()
106 if (xlib.xsi.shmid < 0) { in nk_xlib_init()
107 XDestroyImage(xlib.ximg); in nk_xlib_init()
108 xlib.fallback = True; in nk_xlib_init()
111 xlib.xsi.shmaddr = xlib.ximg->data = shmat(xlib.xsi.shmid, NULL, 0); in nk_xlib_init()
112 if ((intptr_t)xlib.xsi.shmaddr < 0) { in nk_xlib_init()
113 XDestroyImage(xlib.ximg); in nk_xlib_init()
114 xlib.fallback = True; in nk_xlib_init()
117 xlib.xsi.readOnly = False; in nk_xlib_init()
118 status = XShmAttach(dpy, &xlib.xsi); in nk_xlib_init()
120 shmdt(xlib.xsi.shmaddr); in nk_xlib_init()
121 XDestroyImage(xlib.ximg); in nk_xlib_init()
122 xlib.fallback = True; in nk_xlib_init()
125 shmctl(xlib.xsi.shmid, IPC_RMID, NULL); in nk_xlib_init()
128 if (xlib.fallback) { in nk_xlib_init()
129 xlib.ximg = XCreateImage(dpy, vis, depth, ZPixmap, 0, NULL, w, h, 32, 0); in nk_xlib_init()
130 if (!xlib.ximg) return 0; in nk_xlib_init()
131 xlib.ximg->data = malloc(h * xlib.ximg->bytes_per_line); in nk_xlib_init()
132 if (!xlib.ximg->data) in nk_xlib_init()
135 xlib.gc = XDefaultGC(dpy, screen); in nk_xlib_init()
136 *fb = xlib.ximg->data; in nk_xlib_init()
138 if (xlib.ximg->red_mask == 0xff0000 && in nk_xlib_init()
139 xlib.ximg->green_mask == 0xff00 && in nk_xlib_init()
140 xlib.ximg->blue_mask == 0xff && in nk_xlib_init()
141 xlib.ximg->bits_per_pixel == 32) { in nk_xlib_init()
144 else if (xlib.ximg->red_mask == 0xff000000 && in nk_xlib_init()
145 xlib.ximg->green_mask == 0xff0000 && in nk_xlib_init()
146 xlib.ximg->blue_mask == 0xff00 && in nk_xlib_init()
147 xlib.ximg->bits_per_pixel == 32) { in nk_xlib_init()
166 XWarpPointer(xlib.dpy, None, xlib.root, 0, 0, 0, 0, in nk_xlib_handle_event()
176 KeySym *code = XGetKeyboardMapping(xlib.dpy, (KeyCode)evt->xkey.keycode, 1, &ret); in nk_xlib_handle_event()
252 …XWarpPointer(xlib.dpy, None, xlib.root, 0, 0, 0, 0, (int)rawfb->ctx.input.mouse.pos.x, (int)rawfb-… in nk_xlib_handle_event()
272 XUndefineCursor(xlib.dpy, xlib.root); in nk_xlib_handle_event()
274 XDefineCursor(xlib.dpy, xlib.root, xlib.cursor); in nk_xlib_handle_event()
281 XFreeCursor(xlib.dpy, xlib.cursor); in nk_xlib_shutdown()
282 if (xlib.fallback) { in nk_xlib_shutdown()
283 free(xlib.ximg->data); in nk_xlib_shutdown()
284 XDestroyImage(xlib.ximg); in nk_xlib_shutdown()
286 XShmDetach(xlib.dpy, &xlib.xsi); in nk_xlib_shutdown()
287 XDestroyImage(xlib.ximg); in nk_xlib_shutdown()
288 shmdt(xlib.xsi.shmaddr); in nk_xlib_shutdown()
289 shmctl(xlib.xsi.shmid, IPC_RMID, NULL); in nk_xlib_shutdown()
290 } memset(&xlib, 0, sizeof(xlib)); in nk_xlib_shutdown()
296 if (xlib.fallback) in nk_xlib_render()
297 XPutImage(xlib.dpy, screen, xlib.gc, xlib.ximg, in nk_xlib_render()
298 0, 0, 0, 0, xlib.ximg->width, xlib.ximg->height); in nk_xlib_render()
299 else XShmPutImage(xlib.dpy, screen, xlib.gc, xlib.ximg, in nk_xlib_render()
300 0, 0, 0, 0, xlib.ximg->width, xlib.ximg->height, False); in nk_xlib_render()