test/testnativex11.c
author Philipp Wiesemann <philipp.wiesemann@arcor.de>
Wed, 11 Mar 2015 21:14:21 +0100
changeset 9380 07b7c1005a23
parent 8149 681eb46b8ac4
child 9619 b94b6d0bff0f
permissions -rw-r--r--
Updated internal documentation comments.
     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 
    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