test/testnative.h
author Sam Lantinga <slouken@libsdl.org>
Thu, 25 Apr 2013 00:26:17 -0700
changeset 7110 2a98852fd58d
parent 6176 830fceed11c6
child 8149 681eb46b8ac4
permissions -rw-r--r--
Fixed bug 1582 - Allow disabling SDL_VIDEO_DRIVER_WINDOWS

Marcus von Appen

Trying to build SDL 2.x (HG) on Win32 platforms with either VS.NET or MinGW requires one to have the video subsystem and SDL_VIDEO_DRIVER_WINDOWS flag enabled due to the helper window creation routines.

The attached patch changes the helper window creation behaviour, so that one can build SDL2 without the video subsystem or Windows video drivers on Win32 platforms.
slouken@5535
     1
/*
slouken@5535
     2
  Copyright (C) 1997-2011 Sam Lantinga <slouken@libsdl.org>
slouken@5535
     3
slouken@5535
     4
  This software is provided 'as-is', without any express or implied
slouken@5535
     5
  warranty.  In no event will the authors be held liable for any damages
slouken@5535
     6
  arising from the use of this software.
slouken@5535
     7
slouken@5535
     8
  Permission is granted to anyone to use this software for any purpose,
slouken@5535
     9
  including commercial applications, and to alter it and redistribute it
slouken@5535
    10
  freely.
slouken@5535
    11
*/
slouken@3059
    12
slouken@3059
    13
/* Definitions for platform dependent windowing functions to test SDL
slouken@3059
    14
   integration with native windows
slouken@3059
    15
*/
slouken@3059
    16
slouken@3059
    17
#include "SDL.h"
slouken@3059
    18
slouken@3059
    19
/* This header includes all the necessary system headers for native windows */
slouken@3059
    20
#include "SDL_syswm.h"
slouken@3059
    21
slouken@3059
    22
typedef struct
slouken@3059
    23
{
slouken@3059
    24
    const char *tag;
slouken@3061
    25
    void *(*CreateNativeWindow) (int w, int h);
slouken@3061
    26
    void (*DestroyNativeWindow) (void *window);
slouken@3059
    27
} NativeWindowFactory;
slouken@3059
    28
slouken@5062
    29
#ifdef SDL_VIDEO_DRIVER_WINDOWS
slouken@5062
    30
#define TEST_NATIVE_WINDOWS
slouken@5062
    31
extern NativeWindowFactory WindowsWindowFactory;
slouken@3059
    32
#endif
slouken@3059
    33
slouken@3059
    34
#ifdef SDL_VIDEO_DRIVER_X11
slouken@3059
    35
#define TEST_NATIVE_X11
slouken@3059
    36
extern NativeWindowFactory X11WindowFactory;
slouken@3059
    37
#endif
slouken@3059
    38
slouken@3059
    39
#ifdef SDL_VIDEO_DRIVER_COCOA
slouken@3059
    40
/* Actually, we don't really do this, since it involves adding Objective C
slouken@3059
    41
   support to the build system, which is a little tricky.  You can uncomment
slouken@3059
    42
   it manually though and link testnativecocoa.m into the test application.
slouken@3059
    43
*/
slouken@3059
    44
#define TEST_NATIVE_COCOA
slouken@3059
    45
extern NativeWindowFactory CocoaWindowFactory;
slouken@3059
    46
#endif