Propagate Layer changes via Style command on-the-fly.
[fvwm.git] / libs / Fxpm.h
blob5d0cb2bbaf922c1a288ca39c24118b3d89be1b60
1 /* -*-c-*- */
2 /* Copyright (C) 2002 Olivier Chapuis */
4 #ifndef FXPM_H
5 #define FXPM_H
7 #include "PictureBase.h"
9 #if XpmSupport
10 #include <X11/xpm.h>
11 #endif
13 /* ---------------------------- global definitions ------------------------- */
15 /* ---------------------------- global macros ------------------------------ */
17 /* ---------------------------- type definitions --------------------------- */
19 #if XpmSupport
20 typedef XpmColorSymbol FxpmColorSymbol;
21 typedef XpmExtension FxpmExtension;
22 typedef XpmColor FxpmColor;
23 typedef XpmAttributes FxpmAttributes;
24 typedef XpmImage FxpmImage;
25 typedef XpmInfo FxpmInfo;
26 #else
27 typedef struct {
28 char *name;
29 char *value;
30 Pixel pixel;
31 } FxpmColorSymbol;
32 typedef struct {
33 char *name;
34 unsigned int nlines;
35 char **lines;
36 } FxpmExtension;
37 typedef struct {
38 char *string;
39 char *symbolic;
40 char *m_color;
41 char *g4_color;
42 char *g_color;
43 char *c_color;
44 } FxpmColor;
45 typedef int (*FxpmAllocColorFunc)(
46 #ifdef __STDC__
47 Display*,Colormap,char*,XColor*,void*
48 #endif
50 typedef int (*FxpmFreeColorsFunc)(
51 #ifdef __STDC__
52 Display*,Colormap,Pixel*,int,void*
53 #endif
55 typedef struct {
56 unsigned long valuemask;
57 Visual *visual;
58 Colormap colormap;
59 unsigned int depth;
60 unsigned int width;
61 unsigned int height;
62 unsigned int x_hotspot;
63 unsigned int y_hotspot;
64 unsigned int cpp;
65 Pixel *pixels;
66 unsigned int npixels;
67 FxpmColorSymbol *colorsymbols;
68 unsigned int numsymbols;
69 char *rgb_fname;
70 unsigned int nextensions;
71 FxpmExtension *extensions;
72 unsigned int ncolors;
73 FxpmColor *colorTable;
74 char *hints_cmt;
75 char *colors_cmt;
76 char *pixels_cmt;
77 unsigned int mask_pixel;
78 Bool exactColors;
79 unsigned int closeness;
80 unsigned int red_closeness;
81 unsigned int green_closeness;
82 unsigned int blue_closeness;
83 int color_key;
84 Pixel *alloc_pixels;
85 int nalloc_pixels;
86 Bool alloc_close_colors;
87 int bitmap_format;
88 FxpmAllocColorFunc alloc_color;
89 FxpmFreeColorsFunc free_colors;
90 void *color_closure;
91 } FxpmAttributes;
92 typedef struct {
93 unsigned int width;
94 unsigned int height;
95 unsigned int cpp;
96 unsigned int ncolors;
97 FxpmColor *colorTable;
98 unsigned int *data;
99 } FxpmImage;
100 typedef struct {
101 unsigned long valuemask;
102 unsigned int x_hotspot;
103 unsigned int y_hotspot;
104 } FxpmInfo;
105 #endif
107 /* ---------------------------- global definitions ------------------------- */
109 #if XpmSupport
111 #define FxpmReturnPixels XpmReturnPixels
112 #define FxpmSize XpmSize
113 #define FxpmReturnAllocPixels XpmReturnAllocPixels
114 #define FxpmCloseness XpmCloseness
115 #define FxpmVisual XpmVisual
116 #define FxpmColormap XpmColormap
117 #define FxpmDepth XpmDepth
118 #define FxpmHotspot XpmHotspot
119 #define FxpmExtensions XpmExtensions
120 #define FxpmCharsPerPixel XpmCharsPerPixel
121 #define FxpmColorSymbols XpmColorSymbols
122 #define FxpmRgbFilename XpmRgbFilename
123 #define FxpmInfos XpmInfos
124 #define FxpmReturnInfos XpmReturnInfos
125 #define FxpmReturnExtensions XpmReturnExtensions
126 #define FxpmRGBCloseness XpmRGBCloseness
127 #define FxpmColorKey XpmColorKey
128 #define FxpmAllocCloseColors XpmAllocCloseColors
129 #define FxpmBitmapFormat XpmBitmapFormat
130 #define FxpmAllocColor XpmAllocColor
131 #define FxpmFreeColors XpmFreeColors
132 #define FxpmColorClosure XpmColorClosure
133 #define FxpmComments XpmComments
134 #define FxpmReturnComments XpmReturnComments
136 #define FxpmUndefPixel XpmUndefPixel
138 #define FxpmColorError XpmColorError
139 #define FxpmSuccess XpmSuccess
140 #define FxpmOpenFailed XpmOpenFailed
141 #define FxpmFileInvalid XpmFileInvalid
142 #define FxpmNoMemory XpmNoMemory
143 #define FxpmColorFailed XpmColorFailed
145 #define FXPM_MONO XPM_MONO
146 #define FXPM_GREY4 XPM_GREY4
147 #define FXPM_GRAY4 XPM_GRAY4
148 #define FXPM_GREY XPM_GREY
149 #define FXPM_GRAY XPM_GRAY
150 #define FXPM_COLOR XPM_COLOR
152 #define FxpmReadFileToXpmImage(a,b,c) XpmReadFileToXpmImage(a,b,c)
153 #define FxpmCreatePixmapFromXpmImage(a,b,c,d,e,f) \
154 XpmCreatePixmapFromXpmImage(a,b,c,d,e,f)
155 #define FxpmFreeXpmImage(a) XpmFreeXpmImage(a)
156 #define FxpmFreeXpmInfo(a) XpmFreeXpmInfo(a)
157 #define FxpmReadFileToPixmap(a,b,c,d,e,f) XpmReadFileToPixmap(a,b,c,d,e,f)
158 #define FxpmReadFileToImage(a,b,c,d,e) XpmReadFileToImage(a,b,c,d,e)
159 #define FxpmCreatePixmapFromData(a,b,c,d,e,f) \
160 XpmCreatePixmapFromData(a,b,c,d,e,f)
162 #else /* !XpmSupport */
163 #define FxpmReturnPixels 0
164 #define FxpmSize 0
165 #define FxpmReturnAllocPixels 0
166 #define FxpmCloseness 0
167 #define FxpmVisual 0
168 #define FxpmColormap 0
169 #define FxpmDepth 0
170 #define FxpmHotspot 0
171 #define FxpmExtensions 0
172 #define FxpmCharsPerPixel 0
173 #define FxpmColorSymbols 0
174 #define FxpmRgbFilename 0
175 #define FxpmInfos 0
176 #define FxpmReturnInfos 0
177 #define FxpmReturnExtensions 0
178 #define FxpmRGBCloseness 0
179 #define FxpmColorKey 0
180 #define FxpmAllocCloseColors 0
181 #define FxpmBitmapFormat 0
182 #define FxpmAllocColor 0
183 #define FxpmFreeColors 0
184 #define FxpmColorClosure 0
185 #define FxpmComments 0
186 #define FxpmReturnComments 0
188 #define FxpmUndefPixel 0
190 #define FxpmColorError 1
191 #define FxpmSuccess 0
192 #define FxpmOpenFailed -1
193 #define FxpmFileInvalid -2
194 #define FxpmNoMemory -3
195 #define FxpmColorFailed -4
197 #define FXPM_MONO 2
198 #define FXPM_GREY4 3
199 #define FXPM_GRAY4 3
200 #define FXPM_GREY 4
201 #define FXPM_GRAY 4
202 #define FXPM_COLOR 5
204 #define FxpmReadFileToXpmImage(a,b,c) 0
205 #define FxpmCreatePixmapFromXpmImage(a,b,c,d,e,f) 0
206 #define FxpmFreeXpmImage(a)
207 #define FxpmFreeXpmInfo(a)
208 #define FxpmReadFileToPixmap(a,b,c,d,e,f) 0
209 #define FxpmCreatePixmapFromData(a,b,c,d,e,f) 0
211 #endif /* XpmSupport */
213 #endif /* FXPM_H */