source: trunk/src/lib/sdl.cc @ 248

Last change on this file since 248 was 171, checked in by epyon, 12 years ago
  • sdl - full 2.0 version implemented in the same header
  • sdl - nova fully runs on SDL 2.0 *also*
File size: 1.1 KB
Line 
1// Copyright (C) 2012-2013 ChaosForge / Kornel Kisielewicz
2// http://chaosforge.org/
3//
4// This file is part of NV Libraries.
5// For conditions of distribution and use, see copyright notice in nv.hh
6
7#include "nv/lib/sdl.hh"
8
9#if defined( NV_SDL_DYNAMIC )
10
11#include "nv/library.hh"
12
13#define NV_SDL_FUN( rtype, fname, fparams ) rtype (NV_SDL_APIENTRY *fname) fparams = nullptr;
14#include <nv/lib/detail/sdl_functions.inc>
15#if NV_SDL_VERSION == NV_SDL_12
16#       include <nv/lib/detail/sdl_functions_12.inc>
17#elif NV_SDL_VERSION == NV_SDL_20
18#       include <nv/lib/detail/sdl_functions_20.inc>
19#endif
20#undef NV_SDL_FUN
21
22
23
24bool nv::load_sdl_library( const char* path )
25{
26        static nv::library sdl_library;
27        if ( sdl_library.is_open() ) return true;
28        sdl_library.open( path );
29#       define NV_SDL_FUN( rtype, fname, fparams ) *(void **) (&fname) = sdl_library.get(#fname);
30#       include <nv/lib/detail/sdl_functions.inc>
31#       if NV_SDL_VERSION == NV_SDL_12
32#               include <nv/lib/detail/sdl_functions_12.inc>
33#       elif NV_SDL_VERSION == NV_SDL_20
34#               include <nv/lib/detail/sdl_functions_20.inc>
35#       endif
36#       undef NV_SDL_FUN
37        return true;
38}
39#endif
Note: See TracBrowser for help on using the repository browser.