Home | History | Annotate | Download | only in test
      1 /*
      2   Copyright (C) 1997-2014 Sam Lantinga <slouken (at) 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 
     17 static void *CreateWindowX11(int w, int h);
     18 static void DestroyWindowX11(void *window);
     19 
     20 NativeWindowFactory X11WindowFactory = {
     21     "x11",
     22     CreateWindowX11,
     23     DestroyWindowX11
     24 };
     25 
     26 static Display *dpy;
     27 
     28 static void *
     29 CreateWindowX11(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 
     44 static void
     45 DestroyWindowX11(void *window)
     46 {
     47     if (dpy) {
     48         XDestroyWindow(dpy, (Window) window);
     49         XCloseDisplay(dpy);
     50     }
     51 }
     52 
     53 #endif
     54