This commit was manufactured by cvs2svn to create tag 'd2x-0_1_2'.
[btb/d2x.git] / include / pcx.h
1 /*
2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.  
11 COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13 /*
14  * $Source: /cvs/cvsroot/d2x/include/pcx.h,v $
15  * $Revision: 1.1.1.1 $
16  * $Author: bradleyb $
17  * $Date: 2001-01-19 03:30:16 $
18  * 
19  * Routines to read/write pcx images.
20  * 
21  * $Log: not supported by cvs2svn $
22  * Revision 1.2  1999/11/20 10:05:16  donut
23  * variable size menu patch from Jan Bobrowski.  Variable menu font size support and a bunch of fixes for menus that didn't work quite right, by me (MPM).
24  *
25  * Revision 1.1.1.1  1999/06/14 22:02:19  donut
26  * Import of d1x 1.37 source.
27  *
28  * Revision 1.4  1995/01/21  17:07:34  john
29  * Added out of memory error.
30  * 
31  * Revision 1.3  1994/11/29  02:53:10  john
32  * Added error messages; made call be more similiar to iff.
33  * 
34  * Revision 1.2  1994/11/28  20:03:48  john
35  * Added PCX functions.
36  * 
37  * Revision 1.1  1994/11/28  19:57:45  john
38  * Initial revision
39  * 
40  * 
41  */
42
43
44
45 #ifndef _PCX_H
46 #define _PCX_H
47
48 #define PCX_ERROR_NONE                          0
49 #define PCX_ERROR_OPENING                       1
50 #define PCX_ERROR_NO_HEADER             2
51 #define PCX_ERROR_WRONG_VERSION 3
52 #define PCX_ERROR_READING                       4
53 #define PCX_ERROR_NO_PALETTE            5
54 #define PCX_ERROR_WRITING                       6
55 #define PCX_ERROR_MEMORY                        7
56
57 // Reads filename into bitmap bmp, and fills in palette.  If bmp->bm_data==NULL, 
58 // then bmp->bm_data is allocated and the w,h are filled.  
59 // If palette==NULL the palette isn't read in.  Returns error code.
60
61 extern int pcx_read_bitmap( char * filename, grs_bitmap * bmp, int bitmap_type, ubyte * palette );
62
63 // Writes the bitmap bmp to filename, using palette. Returns error code.
64
65 extern int pcx_write_bitmap( char * filename, grs_bitmap * bmp, ubyte * palette );
66
67 extern char *pcx_errormsg(int error_number);
68
69 int pcx_read_fullscr(char * filename, ubyte * palette);
70
71 #endif
72