Skip to content

Latest commit

 

History

History
136 lines (113 loc) · 5.15 KB

SDL_image.h

File metadata and controls

136 lines (113 loc) · 5.15 KB
 
Aug 10, 2000
Aug 10, 2000
1
/*
Dec 14, 2001
Dec 14, 2001
2
SDL_image: An example image loading library for use with SDL
Dec 8, 2008
Dec 8, 2008
3
Copyright (C) 1997-2009 Sam Lantinga
Aug 10, 2000
Aug 10, 2000
4
Dec 14, 2001
Dec 14, 2001
5
This library is free software; you can redistribute it and/or
Feb 4, 2006
Feb 4, 2006
6
modify it under the terms of the GNU Lesser General Public
Dec 14, 2001
Dec 14, 2001
7
License as published by the Free Software Foundation; either
Feb 4, 2006
Feb 4, 2006
8
version 2.1 of the License, or (at your option) any later version.
Aug 10, 2000
Aug 10, 2000
9
Dec 14, 2001
Dec 14, 2001
10
This library is distributed in the hope that it will be useful,
Aug 10, 2000
Aug 10, 2000
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
Dec 14, 2001
Dec 14, 2001
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Feb 4, 2006
Feb 4, 2006
13
Lesser General Public License for more details.
Aug 10, 2000
Aug 10, 2000
14
Feb 4, 2006
Feb 4, 2006
15
16
17
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
Aug 10, 2000
Aug 10, 2000
18
19
Sam Lantinga
Dec 14, 2001
Dec 14, 2001
20
slouken@libsdl.org
Aug 10, 2000
Aug 10, 2000
21
22
23
24
*/
/* A simple library to load images of various formats as SDL surfaces */
Jul 23, 2003
Jul 23, 2003
25
26
#ifndef _SDL_IMAGE_H
#define _SDL_IMAGE_H
Aug 10, 2000
Aug 10, 2000
27
28
#include "SDL.h"
Jul 23, 2003
Jul 23, 2003
29
#include "SDL_version.h"
Aug 10, 2000
Aug 10, 2000
30
31
32
33
34
35
36
#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
extern "C" {
#endif
Jul 23, 2003
Jul 23, 2003
37
38
39
40
/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
*/
#define SDL_IMAGE_MAJOR_VERSION 1
#define SDL_IMAGE_MINOR_VERSION 2
Nov 14, 2009
Nov 14, 2009
41
#define SDL_IMAGE_PATCHLEVEL 10
Jul 23, 2003
Jul 23, 2003
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/* This macro can be used to fill a version structure with the compile-time
* version of the SDL_image library.
*/
#define SDL_IMAGE_VERSION(X) \
{ \
(X)->major = SDL_IMAGE_MAJOR_VERSION; \
(X)->minor = SDL_IMAGE_MINOR_VERSION; \
(X)->patch = SDL_IMAGE_PATCHLEVEL; \
}
/* This function gets the version of the dynamically linked SDL_image library.
it should NOT be used to fill a version structure, instead you should
use the SDL_IMAGE_VERSION() macro.
*/
extern DECLSPEC const SDL_version * SDLCALL IMG_Linked_Version(void);
Sep 26, 2009
Sep 26, 2009
59
60
61
62
typedef enum
{
IMG_INIT_JPG = 0x00000001,
IMG_INIT_PNG = 0x00000002,
Oct 11, 2009
Oct 11, 2009
63
IMG_INIT_TIF = 0x00000004
Sep 26, 2009
Sep 26, 2009
64
65
66
} IMG_InitFlags;
/* Loads dynamic libraries and prepares them for use. Flags should be
Nov 8, 2009
Nov 8, 2009
67
68
69
one or more flags from IMG_InitFlags OR'd together.
It returns the flags successfully initialized, or 0 on failure.
*/
Sep 26, 2009
Sep 26, 2009
70
71
72
73
74
extern DECLSPEC int SDLCALL IMG_Init(int flags);
/* Unloads libraries loaded with IMG_Init */
extern DECLSPEC void SDLCALL IMG_Quit();
Aug 10, 2000
Aug 10, 2000
75
76
77
78
79
80
81
82
/* Load an image from an SDL data source.
The 'type' may be one of: "BMP", "GIF", "PNG", etc.
If the image format supports a transparent pixel, SDL will set the
colorkey for the surface. You can enable RLE acceleration on the
surface afterwards by calling:
SDL_SetColorKey(image, SDL_RLEACCEL, image->format->colorkey);
*/
Apr 13, 2002
Apr 13, 2002
83
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadTyped_RW(SDL_RWops *src, int freesrc, char *type);
Aug 10, 2000
Aug 10, 2000
84
/* Convenience functions */
Apr 13, 2002
Apr 13, 2002
85
86
extern DECLSPEC SDL_Surface * SDLCALL IMG_Load(const char *file);
extern DECLSPEC SDL_Surface * SDLCALL IMG_Load_RW(SDL_RWops *src, int freesrc);
Aug 10, 2000
Aug 10, 2000
87
88
/* Invert the alpha of a surface for use with OpenGL
Sep 1, 2000
Sep 1, 2000
89
90
This function is now a no-op, and only provided for backwards compatibility.
*/
Apr 13, 2002
Apr 13, 2002
91
extern DECLSPEC int SDLCALL IMG_InvertAlpha(int on);
Aug 10, 2000
Aug 10, 2000
92
93
/* Functions to detect a file type, given a seekable source */
Jan 13, 2009
Jan 13, 2009
94
95
extern DECLSPEC int SDLCALL IMG_isICO(SDL_RWops *src);
extern DECLSPEC int SDLCALL IMG_isCUR(SDL_RWops *src);
Apr 13, 2002
Apr 13, 2002
96
97
98
99
extern DECLSPEC int SDLCALL IMG_isBMP(SDL_RWops *src);
extern DECLSPEC int SDLCALL IMG_isGIF(SDL_RWops *src);
extern DECLSPEC int SDLCALL IMG_isJPG(SDL_RWops *src);
extern DECLSPEC int SDLCALL IMG_isLBM(SDL_RWops *src);
Feb 4, 2006
Feb 4, 2006
100
101
102
103
104
105
106
extern DECLSPEC int SDLCALL IMG_isPCX(SDL_RWops *src);
extern DECLSPEC int SDLCALL IMG_isPNG(SDL_RWops *src);
extern DECLSPEC int SDLCALL IMG_isPNM(SDL_RWops *src);
extern DECLSPEC int SDLCALL IMG_isTIF(SDL_RWops *src);
extern DECLSPEC int SDLCALL IMG_isXCF(SDL_RWops *src);
extern DECLSPEC int SDLCALL IMG_isXPM(SDL_RWops *src);
extern DECLSPEC int SDLCALL IMG_isXV(SDL_RWops *src);
Aug 10, 2000
Aug 10, 2000
107
108
/* Individual loading functions */
Jan 13, 2009
Jan 13, 2009
109
110
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadICO_RW(SDL_RWops *src);
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadCUR_RW(SDL_RWops *src);
Apr 13, 2002
Apr 13, 2002
111
112
113
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadBMP_RW(SDL_RWops *src);
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadGIF_RW(SDL_RWops *src);
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadJPG_RW(SDL_RWops *src);
Feb 4, 2006
Feb 4, 2006
114
115
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadLBM_RW(SDL_RWops *src);
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadPCX_RW(SDL_RWops *src);
Apr 13, 2002
Apr 13, 2002
116
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadPNG_RW(SDL_RWops *src);
Feb 4, 2006
Feb 4, 2006
117
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadPNM_RW(SDL_RWops *src);
Apr 13, 2002
Apr 13, 2002
118
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadTGA_RW(SDL_RWops *src);
Feb 4, 2006
Feb 4, 2006
119
120
121
122
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadTIF_RW(SDL_RWops *src);
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadXCF_RW(SDL_RWops *src);
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadXPM_RW(SDL_RWops *src);
extern DECLSPEC SDL_Surface * SDLCALL IMG_LoadXV_RW(SDL_RWops *src);
Apr 13, 2002
Apr 13, 2002
123
124
extern DECLSPEC SDL_Surface * SDLCALL IMG_ReadXPMFromArray(char **xpm);
Apr 28, 2001
Apr 28, 2001
125
Aug 10, 2000
Aug 10, 2000
126
127
128
129
130
131
/* We'll use SDL for reporting errors */
#define IMG_SetError SDL_SetError
#define IMG_GetError SDL_GetError
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
Feb 17, 2001
Feb 17, 2001
132
}
Aug 10, 2000
Aug 10, 2000
133
134
135
#endif
#include "close_code.h"
Jul 23, 2003
Jul 23, 2003
136
#endif /* _SDL_IMAGE_H */