include/SDL_opengles2_gl2platform.h
author Ryan C. Gordon <icculus@icculus.org>
Thu, 28 May 2015 01:54:52 -0400
changeset 9671 0e1f57b051f4
parent 8808 da1e1d6e84c4
permissions -rw-r--r--
Windows GetBasePath should use GetModuleFileNameExW() and check for overflows.

Apparently you might get strange paths from GetModuleFileName(), such as
short path names or UNC filenames, so this avoids that problem. Since you have
to tapdance with linking different libraries and defining macros depending on
what Windows you plan to target, we dynamically load the API we need, which
works on all versions of Windows (on Win7, it'll load a compatibility wrapper
for the newer API location).

What a mess.

This also now does the right thing if there isn't enough space to store the
path, looping with a larger allocated buffer each try.

Fixes Bugzilla #2435.
jorgen@8806
     1
#ifndef __gl2platform_h_
jorgen@8806
     2
#define __gl2platform_h_
jorgen@8806
     3
jorgen@8806
     4
/* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */
jorgen@8806
     5
jorgen@8806
     6
/*
jorgen@8806
     7
 * This document is licensed under the SGI Free Software B License Version
jorgen@8806
     8
 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
jorgen@8806
     9
 */
jorgen@8806
    10
jorgen@8806
    11
/* Platform-specific types and definitions for OpenGL ES 2.X  gl2.h
jorgen@8806
    12
 *
jorgen@8806
    13
 * Adopters may modify khrplatform.h and this file to suit their platform.
jorgen@8806
    14
 * You are encouraged to submit all modifications to the Khronos group so that
jorgen@8806
    15
 * they can be included in future versions of this file.  Please submit changes
jorgen@8806
    16
 * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
jorgen@8806
    17
 * by filing a bug against product "OpenGL-ES" component "Registry".
jorgen@8806
    18
 */
jorgen@8806
    19
jorgen@8806
    20
/*#include <KHR/khrplatform.h>*/
jorgen@8806
    21
jorgen@8806
    22
#ifndef GL_APICALL
jorgen@8806
    23
#define GL_APICALL  KHRONOS_APICALL
jorgen@8806
    24
#endif
jorgen@8806
    25
jorgen@8806
    26
#ifndef GL_APIENTRY
jorgen@8806
    27
#define GL_APIENTRY KHRONOS_APIENTRY
jorgen@8806
    28
#endif
jorgen@8806
    29
jorgen@8806
    30
#endif /* __gl2platform_h_ */