testnativex11.c (1158B)
1/* 2 Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org> 3 4 This software is provided 'as-is', without any express or implied 5 warranty. In no event will the authors be held liable for any damages 6 arising from the use of this software. 7 8 Permission is granted to anyone to use this software for any purpose, 9 including commercial applications, and to alter it and redistribute it 10 freely. 11*/ 12 13#include "testnative.h" 14 15#ifdef TEST_NATIVE_X11 16 17static void *CreateWindowX11(int w, int h); 18static void DestroyWindowX11(void *window); 19 20NativeWindowFactory X11WindowFactory = { 21 "x11", 22 CreateWindowX11, 23 DestroyWindowX11 24}; 25 26static Display *dpy; 27 28static void * 29CreateWindowX11(int w, int h) 30{ 31 Window window = 0; 32 33 dpy = XOpenDisplay(NULL); 34 if (dpy) { 35 window = 36 XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, w, h, 0, 0, 37 0); 38 XMapRaised(dpy, window); 39 XSync(dpy, False); 40 } 41 return (void *) window; 42} 43 44static void 45DestroyWindowX11(void *window) 46{ 47 if (dpy) { 48 XDestroyWindow(dpy, (Window) window); 49 XCloseDisplay(dpy); 50 } 51} 52 53#endif