KTX support - something Git didn't want to commit
[xonotic/netradiant.git] / tools / quake3 / common / imagelib.h
1 /*
2    Copyright (C) 1999-2006 Id Software, Inc. and contributors.
3    For a list of contributors, see the accompanying CONTRIBUTORS file.
4
5    This file is part of GtkRadiant.
6
7    GtkRadiant is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 2 of the License, or
10    (at your option) any later version.
11
12    GtkRadiant is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with GtkRadiant; if not, write to the Free Software
19    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20  */
21
22 // piclib.h
23
24
25 void LoadLBM( const char *filename, byte **picture, byte **palette );
26 void WriteLBMfile( const char *filename, byte *data, int width, int height
27                                    , byte *palette );
28 void LoadPCX( const char *filename, byte **picture, byte **palette, int *width, int *height );
29 void WritePCXfile( const char *filename, byte *data, int width, int height
30                                    , byte *palette );
31
32 // loads / saves either lbm or pcx, depending on extension
33 void Load256Image( const char *name, byte **pixels, byte **palette,
34                                    int *width, int *height );
35 void Save256Image( const char *name, byte *pixels, byte *palette,
36                                    int width, int height );
37
38
39 void LoadTGA( const char *filename, byte **pixels, int *width, int *height );
40 void LoadTGABuffer( const byte *buffer, const byte* enddata, byte **pic, int *width, int *height );
41 void WriteTGA( const char *filename, byte *data, int width, int height );
42 void WriteTGAGray( const char *filename, byte *data, int width, int height );
43 int LoadJPGBuff( void *src_buffer, int src_size, unsigned char **pic, int *width, int *height );
44
45 void Load32BitImage( const char *name, unsigned **pixels, int *width, int *height );
46
47 void LoadKTXBufferFirstImage( const byte *buffer, size_t bufSize, byte **pic, int *picWidth, int *picHeight );