1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
/*
* Motif Tools Library, Version 3.1
* $Id$
*
* Written by David Flanagan.
* Copyright (c) 1992-2001 by David Flanagan.
* All Rights Reserved. See the file COPYRIGHT for details.
* This is open source software. See the file LICENSE for details.
* There is no warranty for this software. See NO_WARRANTY for details.
*
* $Log$
* Revision 1.1.1.1 2001/07/18 11:06:03 root
* Initial checkin.
*
* Revision 1.2 2001/06/12 16:25:28 andre
* *** empty log message ***
*
*
*/
/*
* This file is derived in part from the XPM 3.0 distribution by
* Arnaud Le Hors. See the file COPYRIGHT for the Groupe Bull copyright.
*/
#ifndef _XmtXpm_h
#define _XmtXpm_h
#include <Xmt/Color.h>
/*
* the visual types we recognize colors for.
*/
typedef enum {
Mono=0, Gray4=1, Gray=2, Color=3
} XmtXpmVisualClass;
#define NVISUALS 4
typedef struct {
String symbolic_name; /* a symbolic name for this color, quarkified */
String default_colors[NVISUALS]; /* a color string for each Visual type */
} XmtXpmColor, *XmtXpmColorTable;
/*
* structure containing data related to an Xpm pixmap.
* Each pixel of the image is stored as a byte in the data field.
* The values in this char array are indexes into the color table.
* We use chars to conserve space, which means that images cannot
* contain more than 256 colors. Since this package is intended for
* use for UI icons and the like, this is not an unreasonable
* restriction.
*/
typedef struct {
unsigned short width;
unsigned short height;
XPoint hotspot;
Boolean has_hotspot;
unsigned short ncolors;
XmtXpmColorTable color_table;
unsigned char *data;
} XmtImage;
_XFUNCPROTOBEGIN
#if NeedFunctionPrototypes
extern XmtImage *XmtParseXpmFile(StringConst);
extern XmtImage *XmtParseXpmData(String *);
extern XmtImage *XmtParseXpmString(StringConst);
extern void XmtFreeXmtImage(XmtImage *);
extern Boolean XmtCreateXImageFromXmtImage(Widget, Visual *, Colormap,
unsigned int, XmtColorTable, XmtImage *,
XImage **, XImage **, Pixel **, int *);
extern Boolean XmtCreatePixmapFromXmtImage(Widget, Drawable, Visual *,
Colormap, unsigned int, XmtColorTable,
XmtImage *, Pixmap *, Pixmap *,
Pixel **, int *);
#else
extern XmtImage *XmtParseXpmFile();
extern XmtImage *XmtParseXpmData();
extern XmtImage *XmtParseXpmString();
extern void XmtFreeXmtImage();
extern Boolean XmtCreateXImageFromXmtImage();
extern Boolean XmtCreatePixmapFromXmtImage();
#endif
_XFUNCPROTOEND
#endif /* _XmtXpm_h */
|