src/SDL_internal.h
author Ryan C. Gordon <icculus@icculus.org>
Thu, 21 Apr 2016 03:16:44 -0400
changeset 11729 d1ce8396c356
parent 11726 27d08f1aab80
child 11811 5d94cb6b24d3
permissions -rw-r--r--
Initial shot at a renderer target for Apple's Metal API.

This isn't complete, but is enough to run testsprite2. It's currently
Mac-only; with a little work to figure out how to properly glue in a Metal
layer to a UIView, this will likely work on iOS, too.

This is only wired up to the configure script right now, and disabled by
default. CMake and Xcode still need their bits filled in as appropriate.
icculus@8093
     1
/*
icculus@8093
     2
  Simple DirectMedia Layer
slouken@10737
     3
  Copyright (C) 1997-2017 Sam Lantinga <slouken@libsdl.org>
icculus@8093
     4
icculus@8093
     5
  This software is provided 'as-is', without any express or implied
icculus@8093
     6
  warranty.  In no event will the authors be held liable for any damages
icculus@8093
     7
  arising from the use of this software.
icculus@8093
     8
icculus@8093
     9
  Permission is granted to anyone to use this software for any purpose,
icculus@8093
    10
  including commercial applications, and to alter it and redistribute it
icculus@8093
    11
  freely, subject to the following restrictions:
icculus@8093
    12
icculus@8093
    13
  1. The origin of this software must not be misrepresented; you must not
icculus@8093
    14
     claim that you wrote the original software. If you use this software
icculus@8093
    15
     in a product, an acknowledgment in the product documentation would be
icculus@8093
    16
     appreciated but is not required.
icculus@8093
    17
  2. Altered source versions must be plainly marked as such, and must not be
icculus@8093
    18
     misrepresented as being the original software.
icculus@8093
    19
  3. This notice may not be removed or altered from any source distribution.
icculus@8093
    20
*/
slouken@10638
    21
#ifndef SDL_internal_h_
slouken@10638
    22
#define SDL_internal_h_
icculus@8093
    23
slouken@10607
    24
/* Many of SDL's features require _GNU_SOURCE on various platforms */
slouken@10604
    25
#ifndef _GNU_SOURCE
slouken@10604
    26
#define _GNU_SOURCE
slouken@10604
    27
#endif
slouken@10604
    28
icculus@10680
    29
/* This is for a variable-length array at the end of a struct:
icculus@10680
    30
    struct x { int y; char z[SDL_VARIABLE_LENGTH_ARRAY]; };
icculus@10680
    31
   Use this because GCC 2 needs different magic than other compilers. */
icculus@11726
    32
#if (defined(__GNUC__) && (__GNUC__ <= 2)) || defined(__CC_ARM) || defined(__cplusplus)
icculus@10680
    33
#define SDL_VARIABLE_LENGTH_ARRAY 1
icculus@10680
    34
#else
icculus@10680
    35
#define SDL_VARIABLE_LENGTH_ARRAY
icculus@10680
    36
#endif
icculus@10680
    37
icculus@8094
    38
#include "dynapi/SDL_dynapi.h"
icculus@8094
    39
icculus@8094
    40
#if SDL_DYNAMIC_API
icculus@8094
    41
#include "dynapi/SDL_dynapi_overrides.h"
icculus@8094
    42
/* force DECLSPEC and SDLCALL off...it's all internal symbols now.
icculus@8094
    43
   These will have actual #defines during SDL_dynapi.c only */
icculus@8094
    44
#define DECLSPEC
icculus@8094
    45
#define SDLCALL
icculus@8094
    46
#endif
icculus@8094
    47
icculus@8093
    48
#include "SDL_config.h"
icculus@8093
    49
slouken@10638
    50
#endif /* SDL_internal_h_ */
icculus@8093
    51
icculus@8093
    52
/* vi: set ts=4 sw=4 expandtab: */