1 /* -*- c -*- */
2 #ifndef INCLUDED_LIB3DS_BACKGROUND_H
3 #define INCLUDED_LIB3DS_BACKGROUND_H
4 /*
5  * The 3D Studio File Format Library
6  * Copyright (C) 1996-2007 by Jan Eric Kyprianidis <www.kyprianidis.com>
7  * All rights reserved.
8  *
9  * This program is  free  software;  you can redistribute it and/or modify it
10  * under the terms of the  GNU Lesser General Public License  as published by
11  * the  Free Software Foundation;  either version 2.1 of the License,  or (at
12  * your option) any later version.
13  *
14  * This  program  is  distributed in  the  hope that it will  be useful,  but
15  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16  * or  FITNESS FOR A  PARTICULAR PURPOSE.  See the  GNU Lesser General Public
17  * License for more details.
18  *
19  * You should  have received  a copy of the GNU Lesser General Public License
20  * along with  this program;  if not, write to the  Free Software Foundation,
21  * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22  *
23  * $Id: background.h,v 1.8 2007/06/20 17:04:08 jeh Exp $
24  */
25 
26 #ifndef INCLUDED_LIB3DS_TYPES_H
27 #include <lib3ds/types.h>
28 #endif
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 /**
35  * Bitmap background settings
36  * \ingroup background
37  */
38 typedef struct Lib3dsBitmap {
39     Lib3dsBool use;
40     char name[64];
41 } Lib3dsBitmap;
42 
43 /**
44  * Solid color background settings
45  * \ingroup background
46  */
47 typedef struct Lib3dsSolid {
48     Lib3dsBool use;
49     Lib3dsRgb col;
50 } Lib3dsSolid;
51 
52 /**
53  * Gradient background settings
54  * \ingroup background
55  */
56 typedef struct Lib3dsGradient {
57     Lib3dsBool use;
58     Lib3dsFloat percent;
59     Lib3dsRgb top;
60     Lib3dsRgb middle;
61     Lib3dsRgb bottom;
62 } Lib3dsGradient;
63 
64 /**
65  * Background settings
66  * \ingroup background
67  */
68 struct Lib3dsBackground {
69     Lib3dsBitmap bitmap;
70     Lib3dsSolid solid;
71     Lib3dsGradient gradient;
72 };
73 
74 extern LIB3DSAPI Lib3dsBool lib3ds_background_read(Lib3dsBackground *background, Lib3dsIo *io);
75 extern LIB3DSAPI Lib3dsBool lib3ds_background_write(Lib3dsBackground *background, Lib3dsIo *io);
76 
77 #ifdef __cplusplus
78 }
79 #endif
80 #endif
81 
82 
83 
84 
85 
86