/* SDL - Simple DirectMedia Layer Copyright (C) 1997-2006 Sam Lantinga This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Sam Lantinga slouken@libsdl.org */ module sdl.c.sdl_version; public import sdl.c.sdl_stdinc; /* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL */ const { Uint8 SDL_MAJOR_VERSION = 1; Uint8 SDL_MINOR_VERSION = 2; Uint8 SDL_PATCHLEVEL = 13; } extern(C): struct SDL_version { Uint8 major; Uint8 minor; Uint8 patch; } /* This macro can be used to fill a version structure with the compile-time * version of the SDL library. */ void SDL_VERSION(SDL_version* X) { X.major = SDL_MAJOR_VERSION; X.minor = SDL_MINOR_VERSION; X.patch = SDL_PATCHLEVEL; } /* This macro turns the version numbers into a numeric value: (1,2,3) -> (1203) This assumes that there will never be more than 100 patchlevels */ int SDL_VERSIONNUM(Uint8 X, Uint8 Y, Uint8 Z) { return ((X)*1000 + (Y)*100 + (Z)); } /* This is the version number macro for the current SDL version */ int SDL_COMPILEDVERSION() { return SDL_VERSIONNUM(SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL); } /* This macro will evaluate to true if compiled with SDL at least X.Y.Z */ bool SDL_VERSION_ATLEAST(Uint8 X, Uint8 Y, Uint8 Z) { return (SDL_COMPILEDVERSION >= SDL_VERSIONNUM(X, Y, Z)); } /* This function gets the version of the dynamically linked SDL library. it should NOT be used to fill a version structure, instead you should use the SDL_Version() macro. */ SDL_version * SDL_Linked_Version();