SDL_image.h
author Sam Lantinga <slouken@libsdl.org>
Fri, 14 Dec 2001 13:02:16 +0000
changeset 53 96b084473b47
parent 52 bdc316d7a38a
child 64 ee887f68af8e
permissions -rw-r--r--
*** empty log message ***
     1 /*
     2     SDL_image:  An example image loading library for use with SDL
     3     Copyright (C) 1999, 2000, 2001  Sam Lantinga
     4 
     5     This library is free software; you can redistribute it and/or
     6     modify it under the terms of the GNU Library General Public
     7     License as published by the Free Software Foundation; either
     8     version 2 of the License, or (at your option) any later version.
     9 
    10     This library is distributed in the hope that it will be useful,
    11     but WITHOUT ANY WARRANTY; without even the implied warranty of
    12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    13     Library General Public License for more details.
    14 
    15     You should have received a copy of the GNU Library General Public
    16     License along with this library; if not, write to the Free
    17     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    18 
    19     Sam Lantinga
    20     slouken@libsdl.org
    21 */
    22 
    23 /* $Id$ */
    24 
    25 /* A simple library to load images of various formats as SDL surfaces */
    26 
    27 #ifndef _IMG_h
    28 #define _IMG_h
    29 
    30 #include "SDL.h"
    31 #include "begin_code.h"
    32 
    33 /* Set up for C function definitions, even when using C++ */
    34 #ifdef __cplusplus
    35 extern "C" {
    36 #endif
    37 
    38 /* Load an image from an SDL data source.
    39    The 'type' may be one of: "BMP", "GIF", "PNG", etc.
    40 
    41    If the image format supports a transparent pixel, SDL will set the
    42    colorkey for the surface.  You can enable RLE acceleration on the
    43    surface afterwards by calling:
    44 	SDL_SetColorKey(image, SDL_RLEACCEL, image->format->colorkey);
    45  */
    46 extern DECLSPEC SDL_Surface *IMG_LoadTyped_RW(SDL_RWops *src, int freesrc,
    47 					      char *type);
    48 /* Convenience functions */
    49 extern DECLSPEC SDL_Surface *IMG_Load(const char *file);
    50 extern DECLSPEC SDL_Surface *IMG_Load_RW(SDL_RWops *src, int freesrc);
    51 
    52 /* Invert the alpha of a surface for use with OpenGL
    53    This function is now a no-op, and only provided for backwards compatibility.
    54 */
    55 extern DECLSPEC int IMG_InvertAlpha(int on);
    56 
    57 /* Functions to detect a file type, given a seekable source */
    58 extern DECLSPEC int IMG_isBMP(SDL_RWops *src);
    59 extern DECLSPEC int IMG_isPNM(SDL_RWops *src);
    60 extern DECLSPEC int IMG_isXPM(SDL_RWops *src);
    61 extern DECLSPEC int IMG_isXCF(SDL_RWops *src);
    62 extern DECLSPEC int IMG_isPCX(SDL_RWops *src);
    63 extern DECLSPEC int IMG_isGIF(SDL_RWops *src);
    64 extern DECLSPEC int IMG_isJPG(SDL_RWops *src);
    65 extern DECLSPEC int IMG_isTIF(SDL_RWops *src);
    66 extern DECLSPEC int IMG_isPNG(SDL_RWops *src);
    67 extern DECLSPEC int IMG_isLBM(SDL_RWops *src);
    68 
    69 /* Individual loading functions */
    70 extern DECLSPEC SDL_Surface *IMG_LoadBMP_RW(SDL_RWops *src);
    71 extern DECLSPEC SDL_Surface *IMG_LoadPNM_RW(SDL_RWops *src);
    72 extern DECLSPEC SDL_Surface *IMG_LoadXPM_RW(SDL_RWops *src);
    73 extern DECLSPEC SDL_Surface *IMG_LoadXCF_RW(SDL_RWops *src);
    74 extern DECLSPEC SDL_Surface *IMG_LoadPCX_RW(SDL_RWops *src);
    75 extern DECLSPEC SDL_Surface *IMG_LoadGIF_RW(SDL_RWops *src);
    76 extern DECLSPEC SDL_Surface *IMG_LoadJPG_RW(SDL_RWops *src);
    77 extern DECLSPEC SDL_Surface *IMG_LoadTIF_RW(SDL_RWops *src);
    78 extern DECLSPEC SDL_Surface *IMG_LoadPNG_RW(SDL_RWops *src);
    79 extern DECLSPEC SDL_Surface *IMG_LoadTGA_RW(SDL_RWops *src);
    80 extern DECLSPEC SDL_Surface *IMG_LoadLBM_RW(SDL_RWops *src);
    81 
    82 extern DECLSPEC SDL_Surface *IMG_ReadXPMFromArray(char **xpm);
    83 
    84 /* We'll use SDL for reporting errors */
    85 #define IMG_SetError	SDL_SetError
    86 #define IMG_GetError	SDL_GetError
    87 
    88 /* Ends C function definitions when using C++ */
    89 #ifdef __cplusplus
    90 }
    91 #endif
    92 #include "close_code.h"
    93 
    94 #endif /* _IMG_h */