src/dynapi/SDL_dynapi.h
author Sam Lantinga <slouken@libsdl.org>
Mon, 22 Jun 2015 23:36:06 -0700
changeset 9776 952ff8a5076f
parent 9619 b94b6d0bff0f
child 9998 f67cf37e9cd4
permissions -rw-r--r--
Fixed bug 3030 - SDL_RecreateWindow fails to restore title, icon, etc.

Adam M.

It loses the title and icon when window recreation fails. For instance, this may happen when trying to create an OpenGL ES window on a system that doesn't support it. But at that point, the title and icon have already been lost.
icculus@8094
     1
/*
icculus@8094
     2
  Simple DirectMedia Layer
slouken@9619
     3
  Copyright (C) 1997-2015 Sam Lantinga <slouken@libsdl.org>
icculus@8094
     4
icculus@8094
     5
  This software is provided 'as-is', without any express or implied
icculus@8094
     6
  warranty.  In no event will the authors be held liable for any damages
icculus@8094
     7
  arising from the use of this software.
icculus@8094
     8
icculus@8094
     9
  Permission is granted to anyone to use this software for any purpose,
icculus@8094
    10
  including commercial applications, and to alter it and redistribute it
icculus@8094
    11
  freely, subject to the following restrictions:
icculus@8094
    12
icculus@8094
    13
  1. The origin of this software must not be misrepresented; you must not
icculus@8094
    14
     claim that you wrote the original software. If you use this software
icculus@8094
    15
     in a product, an acknowledgment in the product documentation would be
icculus@8094
    16
     appreciated but is not required.
icculus@8094
    17
  2. Altered source versions must be plainly marked as such, and must not be
icculus@8094
    18
     misrepresented as being the original software.
icculus@8094
    19
  3. This notice may not be removed or altered from any source distribution.
icculus@8094
    20
*/
icculus@8094
    21
icculus@8094
    22
#ifndef _SDL_dynapi_h
icculus@8094
    23
#define _SDL_dynapi_h
icculus@8094
    24
icculus@8094
    25
/* IMPORTANT:
icculus@8094
    26
   This is the master switch to disabling the dynamic API. We made it so you
icculus@8094
    27
   have to hand-edit an internal source file in SDL to turn it off; you
icculus@8094
    28
   can do it if you want it badly enough, but hopefully you won't want to.
icculus@8094
    29
   You should understand the ramifications of turning this off: it makes it
icculus@8094
    30
   hard to update your SDL in the field, and impossible if you've statically
icculus@8094
    31
   linked SDL into your app. Understand that platforms change, and if we can't
icculus@8094
    32
   drop in an updated SDL, your application can definitely break some time
icculus@8094
    33
   in the future, even if it's fine today.
icculus@8094
    34
   To be sure, as new system-level video and audio APIs are introduced, an
icculus@8094
    35
   updated SDL can transparently take advantage of them, but your program will
icculus@8094
    36
   not without this feature. Think hard before turning it off.
icculus@8094
    37
*/
icculus@8094
    38
#ifdef SDL_DYNAMIC_API  /* Tried to force it on the command line? */
icculus@8094
    39
#error Nope, you have to edit this file to force this off.
icculus@8094
    40
#endif
icculus@8094
    41
icculus@8121
    42
#ifdef __APPLE__
icculus@8121
    43
#include "TargetConditionals.h"
icculus@8121
    44
#endif
icculus@8121
    45
icculus@9278
    46
#if TARGET_OS_IPHONE || __native_client__ || __EMSCRIPTEN__  /* probably not useful on iOS, NACL or Emscripten. */
icculus@8094
    47
#define SDL_DYNAMIC_API 0
dludwig@8611
    48
#elif SDL_BUILDING_WINRT /* probaly not useful on WinRT, given current .dll loading restrictions */
dludwig@8611
    49
#define SDL_DYNAMIC_API 0
icculus@8640
    50
#elif defined(__clang_analyzer__)
icculus@8640
    51
#define SDL_DYNAMIC_API 0  /* Turn off for static analysis, so reports are more clear. */
icculus@9442
    52
#endif
icculus@9442
    53
icculus@9442
    54
/* everyone else. This is where we turn on the API if nothing forced it off. */
icculus@9442
    55
#ifndef SDL_DYNAMIC_API
icculus@8094
    56
#define SDL_DYNAMIC_API 1
icculus@8094
    57
#endif
icculus@8094
    58
icculus@8094
    59
#endif
icculus@8094
    60
icculus@8094
    61
/* vi: set ts=4 sw=4 expandtab: */