view test/testnativex11.c @ 5004:0c72ae7b7cb2

Added native atomic operations for Windows, Mac OS X, and gcc compiler intrinsics. Changed the CAS return value to bool, so it's efficient with OSAtomicCompareAndSwap32Barrier() Added an atomic test adapted from code by Michael Davidsaver
author Sam Lantinga <slouken@libsdl.org>
date Sun, 16 Jan 2011 15:16:39 -0800
parents 089a77aebb7d
children
line wrap: on
line source


#include "testnative.h"

#ifdef TEST_NATIVE_X11

static void *CreateWindowX11(int w, int h);
static void DestroyWindowX11(void *window);

NativeWindowFactory X11WindowFactory = {
    "x11",
    CreateWindowX11,
    DestroyWindowX11
};

static Display *dpy;

static void *
CreateWindowX11(int w, int h)
{
    Window window = 0;

    dpy = XOpenDisplay(NULL);
    if (dpy) {
        window =
            XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 0, 0, w, h, 0, 0,
                                0);
        XMapRaised(dpy, window);
        XSync(dpy, False);
    }
    return (void *) window;
}

static void
DestroyWindowX11(void *window)
{
    if (dpy) {
        XDestroyWindow(dpy, (Window) window);
        XCloseDisplay(dpy);
    }
}

#endif