view test/testnative.h @ 5113:481dabb098ef

Improved timer implementation The new timer model is formalized as using a separate thread to handle timer callbacks. This was the case on almost every platform before, but it's now a requirement, and simplifies the implementation and makes it perform consistently across platforms. Goals: * Minimize timer thread blocking * Dispatch timers as accurately as possible * SDL_AddTimer() and SDL_RemoveTimer() are completely threadsafe * SDL_RemoveTimer() doesn't crash with a timer that's expired or removed
author Sam Lantinga <slouken@libsdl.org>
date Thu, 27 Jan 2011 14:45:06 -0800
parents e8916fe9cfc8
children
line wrap: on
line source


/* Definitions for platform dependent windowing functions to test SDL
   integration with native windows
*/

#include "SDL.h"

/* This header includes all the necessary system headers for native windows */
#include "SDL_syswm.h"

typedef struct
{
    const char *tag;
    void *(*CreateNativeWindow) (int w, int h);
    void (*DestroyNativeWindow) (void *window);
} NativeWindowFactory;

#ifdef SDL_VIDEO_DRIVER_WINDOWS
#define TEST_NATIVE_WINDOWS
extern NativeWindowFactory WindowsWindowFactory;
#endif

#ifdef SDL_VIDEO_DRIVER_X11
#define TEST_NATIVE_X11
extern NativeWindowFactory X11WindowFactory;
#endif

#ifdef SDL_VIDEO_DRIVER_COCOA
/* Actually, we don't really do this, since it involves adding Objective C
   support to the build system, which is a little tricky.  You can uncomment
   it manually though and link testnativecocoa.m into the test application.
*/
#if 1
#define TEST_NATIVE_COCOA
extern NativeWindowFactory CocoaWindowFactory;
#endif
#endif