Blame lib/Xm/XpmP.h

Packit b099d7
/*
Packit b099d7
 * (c) Copyright 1996 Digital Equipment Corporation.
Packit b099d7
 * (c) Copyright 1996 Hewlett-Packard Company.
Packit b099d7
 * (c) Copyright 1996 International Business Machines Corp.
Packit b099d7
 * (c) Copyright 1996 Sun Microsystems, Inc.
Packit b099d7
 * (c) Copyright 1996 Novell, Inc.
Packit b099d7
 * (c) Copyright 1996 FUJITSU LIMITED.
Packit b099d7
 * (c) Copyright 1996 Hitachi.
Packit b099d7
 *
Packit b099d7
 * $XConsortium: XpmP.h /main/3 1996/09/20 08:13:01 pascale $
Packit b099d7
 */
Packit b099d7
Packit b099d7
#ifndef _XpmP_h
Packit b099d7
#define _XpmP_h
Packit b099d7
Packit b099d7
/* Xpm external symbols are prefixed with Xme */
Packit b099d7
Packit b099d7
#define XpmCreatePixmapFromData XmeXpmCreatePixmapFromData
Packit b099d7
#define XpmCreateDataFromPixmap XmeXpmCreateDataFromPixmap
Packit b099d7
#define XpmReadFileToPixmap XmeXpmReadFileToPixmap
Packit b099d7
#define XpmWriteFileFromPixmap XmeXpmWriteFileFromPixmap
Packit b099d7
#define XpmCreateImageFromData XmeXpmCreateImageFromData
Packit b099d7
#define XpmCreateDataFromImage XmeXpmCreateDataFromImage
Packit b099d7
#define XpmReadFileToImage XmeXpmReadFileToImage
Packit b099d7
#define XpmWriteFileFromImage XmeXpmWriteFileFromImage
Packit b099d7
#define XpmCreateImageFromBuffer XmeXpmCreateImageFromBuffer
Packit b099d7
#define XpmCreatePixmapFromBuffer XmeXpmCreatePixmapFromBuffer
Packit b099d7
#define XpmCreateBufferFromImage XmeXpmCreateBufferFromImage
Packit b099d7
#define XpmCreateBufferFromPixmap XmeXpmCreateBufferFromPixmap
Packit b099d7
#define XpmReadFileToBuffer XmeXpmReadFileToBuffer
Packit b099d7
#define XpmWriteFileFromBuffer XmeXpmWriteFileFromBuffer
Packit b099d7
#define XpmReadFileToData XmeXpmReadFileToData
Packit b099d7
#define XpmWriteFileFromData XmeXpmWriteFileFromData
Packit b099d7
#define XpmAttributesSize XmeXpmAttributesSize
Packit b099d7
#define XpmFreeAttributes XmeXpmFreeAttributes
Packit b099d7
#define XpmFreeExtensions XmeXpmFreeExtensions
Packit b099d7
#define XpmFreeXpmImage XmeXpmFreeXpmImage
Packit b099d7
#define XpmFreeXpmInfo XmeXpmFreeXpmInfo
Packit b099d7
#define XpmGetErrorString XmeXpmGetErrorString
Packit b099d7
#define XpmLibraryVersion XmeXpmLibraryVersion
Packit b099d7
#define XpmReadFileToXpmImage XmeXpmReadFileToXpmImage
Packit b099d7
#define XpmWriteFileFromXpmImage XmeXpmWriteFileFromXpmImage
Packit b099d7
#define XpmCreatePixmapFromXpmImage XmeXpmCreatePixmapFromXpmImage
Packit b099d7
#define XpmCreateImageFromXpmImage XmeXpmCreateImageFromXpmImage
Packit b099d7
#define XpmCreateXpmImageFromImage XmeXpmCreateXpmImageFromImage
Packit b099d7
#define XpmCreateXpmImageFromPixmap XmeXpmCreateXpmImageFromPixmap
Packit b099d7
#define XpmCreateDataFromXpmImage XmeXpmCreateDataFromXpmImage
Packit b099d7
#define XpmCreateXpmImageFromData XmeXpmCreateXpmImageFromData
Packit b099d7
#define XpmCreateXpmImageFromBuffer XmeXpmCreateXpmImageFromBuffer
Packit b099d7
#define XpmCreateBufferFromXpmImage XmeXpmCreateBufferFromXpmImage
Packit b099d7
#define XpmFree XmeXpmFree
Packit b099d7
Packit b099d7
/* The following is the original xpm.h header file */
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * Copyright (C) 1989-95 GROUPE BULL
Packit b099d7
 *
Packit b099d7
 * Permission is hereby granted, free of charge, to any person obtaining a copy
Packit b099d7
 * of this software and associated documentation files (the "Software"), to
Packit b099d7
 * deal in the Software without restriction, including without limitation the
Packit b099d7
 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
Packit b099d7
 * sell copies of the Software, and to permit persons to whom the Software is
Packit b099d7
 * furnished to do so, subject to the following conditions:
Packit b099d7
 *
Packit b099d7
 * The above copyright notice and this permission notice shall be included in
Packit b099d7
 * all copies or substantial portions of the Software.
Packit b099d7
 *
Packit b099d7
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Packit b099d7
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Packit b099d7
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
Packit b099d7
 * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
Packit b099d7
 * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
Packit b099d7
 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Packit b099d7
 *
Packit b099d7
 * Except as contained in this notice, the name of GROUPE BULL shall not be
Packit b099d7
 * used in advertising or otherwise to promote the sale, use or other dealings
Packit b099d7
 * in this Software without prior written authorization from GROUPE BULL.
Packit b099d7
 */
Packit b099d7
Packit b099d7
/*****************************************************************************\
Packit b099d7
* xpm.h:                                                                      *
Packit b099d7
*                                                                             *
Packit b099d7
*  XPM library                                                                *
Packit b099d7
*  Include file                                                               *
Packit b099d7
*                                                                             *
Packit b099d7
*  Developed by Arnaud Le Hors                                                *
Packit b099d7
\*****************************************************************************/
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * The code related to FOR_MSW has been added by
Packit b099d7
 * HeDu (hedu@cul-ipn.uni-kiel.de) 4/94
Packit b099d7
 */
Packit b099d7
Packit b099d7
#ifndef XPM_h
Packit b099d7
#define XPM_h
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * first some identification numbers:
Packit b099d7
 * the version and revision numbers are determined with the following rule:
Packit b099d7
 * SO Major number = LIB minor version number.
Packit b099d7
 * SO Minor number = LIB sub-minor version number.
Packit b099d7
 * e.g: Xpm version 3.2f
Packit b099d7
 *      we forget the 3 which is the format number, 2 gives 2, and f gives 6.
Packit b099d7
 *      thus we have XpmVersion = 2 and XpmRevision = 6
Packit b099d7
 *      which gives  SOXPMLIBREV = 2.6
Packit b099d7
 *
Packit b099d7
 * Then the XpmIncludeVersion number is built from these numbers.
Packit b099d7
 */
Packit b099d7
#define XpmFormat 3
Packit b099d7
#define XpmVersion 4
Packit b099d7
#define XpmRevision 9
Packit b099d7
#define XpmIncludeVersion ((XpmFormat * 100 + XpmVersion) * 100 + XpmRevision)
Packit b099d7
Packit b099d7
#ifndef XPM_NUMBERS
Packit b099d7
Packit b099d7
#ifdef FOR_MSW
Packit b099d7
# define SYSV			/* uses memcpy string.h etc. */
Packit b099d7
# include <malloc.h>
Packit b099d7
# include "simx.h"		/* defines some X stuff using MSW types */
Packit b099d7
#define NEED_STRCASECMP		/* at least for MSVC++ */
Packit b099d7
#else /* FOR_MSW */
Packit b099d7
# include <X11/Xlib.h>
Packit b099d7
# include <X11/Xutil.h>
Packit b099d7
#endif /* FOR_MSW */
Packit b099d7
Packit b099d7
/* let's define Pixel if it is not done yet */
Packit b099d7
#if ! defined(_XtIntrinsic_h) && ! defined(PIXEL_ALREADY_TYPEDEFED)
Packit b099d7
typedef unsigned long Pixel;	/* Index into colormap */
Packit b099d7
# define PIXEL_ALREADY_TYPEDEFED
Packit b099d7
#endif
Packit b099d7
Packit b099d7
/* make sure we know whether function prototypes are needed or not */
Packit b099d7
#ifndef NeedFunctionPrototypes
Packit b099d7
# if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
Packit b099d7
#  define NeedFunctionPrototypes 1
Packit b099d7
# else
Packit b099d7
#  define NeedFunctionPrototypes 0
Packit b099d7
# endif
Packit b099d7
#endif
Packit b099d7
Packit b099d7
Packit b099d7
/* Return ErrorStatus codes:
Packit b099d7
 * null     if full success
Packit b099d7
 * positive if partial success
Packit b099d7
 * negative if failure
Packit b099d7
 */
Packit b099d7
Packit b099d7
#define XpmColorError    1
Packit b099d7
#define XpmSuccess       0
Packit b099d7
#define XpmOpenFailed   -1
Packit b099d7
#define XpmFileInvalid  -2
Packit b099d7
#define XpmNoMemory     -3
Packit b099d7
#define XpmColorFailed  -4
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    char *name;			/* Symbolic color name */
Packit b099d7
    char *value;		/* Color value */
Packit b099d7
    Pixel pixel;		/* Color pixel */
Packit b099d7
}      XpmColorSymbol;
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    char *name;			/* name of the extension */
Packit b099d7
    unsigned int nlines;	/* number of lines in this extension */
Packit b099d7
    char **lines;		/* pointer to the extension array of strings */
Packit b099d7
}      XpmExtension;
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    char *string;		/* characters string */
Packit b099d7
    char *symbolic;		/* symbolic name */
Packit b099d7
    char *m_color;		/* monochrom default */
Packit b099d7
    char *g4_color;		/* 4 level grayscale default */
Packit b099d7
    char *g_color;		/* other level grayscale default */
Packit b099d7
    char *c_color;		/* color default */
Packit b099d7
}      XpmColor;
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    unsigned int width;		/* image width */
Packit b099d7
    unsigned int height;	/* image height */
Packit b099d7
    unsigned int cpp;		/* number of characters per pixel */
Packit b099d7
    unsigned int ncolors;	/* number of colors */
Packit b099d7
    XpmColor *colorTable;	/* list of related colors */
Packit b099d7
    unsigned int *data;		/* image data */
Packit b099d7
}      XpmImage;
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    unsigned long valuemask;	/* Specifies which attributes are defined */
Packit b099d7
    char *hints_cmt;		/* Comment of the hints section */
Packit b099d7
    char *colors_cmt;		/* Comment of the colors section */
Packit b099d7
    char *pixels_cmt;		/* Comment of the pixels section */
Packit b099d7
    unsigned int x_hotspot;	/* Returns the x hotspot's coordinate */
Packit b099d7
    unsigned int y_hotspot;	/* Returns the y hotspot's coordinate */
Packit b099d7
    unsigned int nextensions;	/* number of extensions */
Packit b099d7
    XpmExtension *extensions;	/* pointer to array of extensions */
Packit b099d7
}      XpmInfo;
Packit b099d7
Packit b099d7
typedef int (*XpmAllocColorFunc)(
Packit b099d7
#if NeedFunctionPrototypes
Packit b099d7
    Display*			/* display */,
Packit b099d7
    Colormap			/* colormap */,
Packit b099d7
    char*			/* colorname */,
Packit b099d7
    XColor*			/* xcolor */,
Packit b099d7
    void*			/* closure */
Packit b099d7
#endif
Packit b099d7
);
Packit b099d7
Packit b099d7
typedef int (*XpmFreeColorsFunc)(
Packit b099d7
#if NeedFunctionPrototypes
Packit b099d7
    Display*			/* display */,
Packit b099d7
    Colormap			/* colormap */,
Packit b099d7
    Pixel*			/* pixels */,
Packit b099d7
    int				/* npixels */,
Packit b099d7
    void*			/* closure */
Packit b099d7
#endif
Packit b099d7
);
Packit b099d7
Packit b099d7
typedef struct {
Packit b099d7
    unsigned long valuemask;		/* Specifies which attributes are
Packit b099d7
					   defined */
Packit b099d7
Packit b099d7
    Visual *visual;			/* Specifies the visual to use */
Packit b099d7
    Colormap colormap;			/* Specifies the colormap to use */
Packit b099d7
    unsigned int depth;			/* Specifies the depth */
Packit b099d7
    unsigned int width;			/* Returns the width of the created
Packit b099d7
					   pixmap */
Packit b099d7
    unsigned int height;		/* Returns the height of the created
Packit b099d7
					   pixmap */
Packit b099d7
    unsigned int x_hotspot;		/* Returns the x hotspot's
Packit b099d7
					   coordinate */
Packit b099d7
    unsigned int y_hotspot;		/* Returns the y hotspot's
Packit b099d7
					   coordinate */
Packit b099d7
    unsigned int cpp;			/* Specifies the number of char per
Packit b099d7
					   pixel */
Packit b099d7
    Pixel *pixels;			/* List of used color pixels */
Packit b099d7
    unsigned int npixels;		/* Number of used pixels */
Packit b099d7
    XpmColorSymbol *colorsymbols;	/* List of color symbols to override */
Packit b099d7
    unsigned int numsymbols;		/* Number of symbols */
Packit b099d7
    char *rgb_fname;			/* RGB text file name */
Packit b099d7
    unsigned int nextensions;		/* Number of extensions */
Packit b099d7
    XpmExtension *extensions;		/* List of extensions */
Packit b099d7
Packit b099d7
    unsigned int ncolors;               /* Number of colors */
Packit b099d7
    XpmColor *colorTable;               /* List of colors */
Packit b099d7
/* 3.2 backward compatibility code */
Packit b099d7
    char *hints_cmt;                    /* Comment of the hints section */
Packit b099d7
    char *colors_cmt;                   /* Comment of the colors section */
Packit b099d7
    char *pixels_cmt;                   /* Comment of the pixels section */
Packit b099d7
/* end 3.2 bc */
Packit b099d7
    unsigned int mask_pixel;            /* Color table index of transparent
Packit b099d7
                                           color */
Packit b099d7
Packit b099d7
    /* Color Allocation Directives */
Packit b099d7
    Bool exactColors;			/* Only use exact colors for visual */
Packit b099d7
    unsigned int closeness;		/* Allowable RGB deviation */
Packit b099d7
    unsigned int red_closeness;		/* Allowable red deviation */
Packit b099d7
    unsigned int green_closeness;	/* Allowable green deviation */
Packit b099d7
    unsigned int blue_closeness;	/* Allowable blue deviation */
Packit b099d7
    int color_key;			/* Use colors from this color set */
Packit b099d7
Packit b099d7
    Pixel *alloc_pixels;		/* Returns the list of alloc'ed color
Packit b099d7
					   pixels */
Packit b099d7
    Bool nalloc_pixels;			/* Returns the number of alloc'ed
Packit b099d7
					   color pixels */
Packit b099d7
Packit b099d7
    Bool alloc_close_colors;    	/* Specify whether close colors should
Packit b099d7
					   be allocated using XAllocColor
Packit b099d7
					   or not */
Packit b099d7
    int bitmap_format;			/* Specify the format of 1bit depth
Packit b099d7
					   images: ZPixmap or XYBitmap */
Packit b099d7
Packit b099d7
    /* Color functions */
Packit b099d7
    XpmAllocColorFunc alloc_color;	/* Application color allocator */
Packit b099d7
    XpmFreeColorsFunc free_colors;	/* Application color de-allocator */
Packit b099d7
    void *color_closure;		/* Application private data to pass to
Packit b099d7
					   alloc_color and free_colors */
Packit b099d7
Packit b099d7
}      XpmAttributes;
Packit b099d7
Packit b099d7
/* XpmAttributes value masks bits */
Packit b099d7
#define XpmVisual	   (1L<<0)
Packit b099d7
#define XpmColormap	   (1L<<1)
Packit b099d7
#define XpmDepth	   (1L<<2)
Packit b099d7
#define XpmSize		   (1L<<3)	/* width & height */
Packit b099d7
#define XpmHotspot	   (1L<<4)	/* x_hotspot & y_hotspot */
Packit b099d7
#define XpmCharsPerPixel   (1L<<5)
Packit b099d7
#define XpmColorSymbols	   (1L<<6)
Packit b099d7
#define XpmRgbFilename	   (1L<<7)
Packit b099d7
/* 3.2 backward compatibility code */
Packit b099d7
#define XpmInfos	   (1L<<8)
Packit b099d7
#define XpmReturnInfos	   XpmInfos
Packit b099d7
/* end 3.2 bc */
Packit b099d7
#define XpmReturnPixels	   (1L<<9)
Packit b099d7
#define XpmExtensions      (1L<<10)
Packit b099d7
#define XpmReturnExtensions XpmExtensions
Packit b099d7
Packit b099d7
#define XpmExactColors     (1L<<11)
Packit b099d7
#define XpmCloseness	   (1L<<12)
Packit b099d7
#define XpmRGBCloseness	   (1L<<13)
Packit b099d7
#define XpmColorKey	   (1L<<14)
Packit b099d7
Packit b099d7
#define XpmColorTable      (1L<<15)
Packit b099d7
#define XpmReturnColorTable XpmColorTable
Packit b099d7
Packit b099d7
#define XpmReturnAllocPixels (1L<<16)
Packit b099d7
#define XpmAllocCloseColors (1L<<17)
Packit b099d7
#define XpmBitmapFormat    (1L<<18)
Packit b099d7
Packit b099d7
#define XpmAllocColor      (1L<<19)
Packit b099d7
#define XpmFreeColors      (1L<<20)
Packit b099d7
#define XpmColorClosure    (1L<<21)
Packit b099d7
Packit b099d7
Packit b099d7
/* XpmInfo value masks bits */
Packit b099d7
#define XpmComments        XpmInfos
Packit b099d7
#define XpmReturnComments  XpmComments
Packit b099d7
Packit b099d7
/* XpmAttributes mask_pixel value when there is no mask */
Packit b099d7
#ifndef FOR_MSW
Packit b099d7
#define XpmUndefPixel 0x80000000
Packit b099d7
#else
Packit b099d7
/* int is only 16 bit for MSW */
Packit b099d7
#define XpmUndefPixel 0x8000
Packit b099d7
#endif
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * color keys for visual type, they must fit along with the number key of
Packit b099d7
 * each related element in xpmColorKeys[] defined in XpmI.h
Packit b099d7
 */
Packit b099d7
#define XPM_MONO	2
Packit b099d7
#define XPM_GREY4	3
Packit b099d7
#define XPM_GRAY4	3
Packit b099d7
#define XPM_GREY 	4
Packit b099d7
#define XPM_GRAY 	4
Packit b099d7
#define XPM_COLOR	5
Packit b099d7
Packit b099d7
Packit b099d7
/* macros for forward declarations of functions with prototypes */
Packit b099d7
#if NeedFunctionPrototypes
Packit b099d7
#define FUNC(f, t, p) extern t f p
Packit b099d7
#define LFUNC(f, t, p) static t f p
Packit b099d7
#else
Packit b099d7
#define FUNC(f, t, p) extern t f()
Packit b099d7
#define LFUNC(f, t, p) static t f()
Packit b099d7
#endif
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * functions declarations
Packit b099d7
 */
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
/* FOR_MSW, all ..Pixmap.. are excluded, only the ..XImage.. are used */
Packit b099d7
Packit b099d7
#ifndef FOR_MSW
Packit b099d7
    FUNC(XpmCreatePixmapFromData, int, (Display *display,
Packit b099d7
					Drawable d,
Packit b099d7
					char **data,
Packit b099d7
					Pixmap *pixmap_return,
Packit b099d7
					Pixmap *shapemask_return,
Packit b099d7
					XpmAttributes *attributes));
Packit b099d7
Packit b099d7
    FUNC(XpmCreateDataFromPixmap, int, (Display *display,
Packit b099d7
					char ***data_return,
Packit b099d7
					Pixmap pixmap,
Packit b099d7
					Pixmap shapemask,
Packit b099d7
					XpmAttributes *attributes));
Packit b099d7
Packit b099d7
    FUNC(XpmReadFileToPixmap, int, (Display *display,
Packit b099d7
				    Drawable d,
Packit b099d7
				    char *filename,
Packit b099d7
				    Pixmap *pixmap_return,
Packit b099d7
				    Pixmap *shapemask_return,
Packit b099d7
				    XpmAttributes *attributes));
Packit b099d7
Packit b099d7
    FUNC(XpmWriteFileFromPixmap, int, (Display *display,
Packit b099d7
				       char *filename,
Packit b099d7
				       Pixmap pixmap,
Packit b099d7
				       Pixmap shapemask,
Packit b099d7
				       XpmAttributes *attributes));
Packit b099d7
#endif  /* ndef FOR_MSW */
Packit b099d7
Packit b099d7
    FUNC(XpmCreateImageFromData, int, (Display *display,
Packit b099d7
				       char **data,
Packit b099d7
				       XImage **image_return,
Packit b099d7
				       XImage **shapemask_return,
Packit b099d7
				       XpmAttributes *attributes));
Packit b099d7
Packit b099d7
    FUNC(XpmCreateDataFromImage, int, (Display *display,
Packit b099d7
				       char ***data_return,
Packit b099d7
				       XImage *image,
Packit b099d7
				       XImage *shapeimage,
Packit b099d7
				       XpmAttributes *attributes));
Packit b099d7
Packit b099d7
    FUNC(XpmReadFileToImage, int, (Display *display,
Packit b099d7
				   char *filename,
Packit b099d7
				   XImage **image_return,
Packit b099d7
				   XImage **shapeimage_return,
Packit b099d7
				   XpmAttributes *attributes));
Packit b099d7
Packit b099d7
    FUNC(XpmWriteFileFromImage, int, (Display *display,
Packit b099d7
				      char *filename,
Packit b099d7
				      XImage *image,
Packit b099d7
				      XImage *shapeimage,
Packit b099d7
				      XpmAttributes *attributes));
Packit b099d7
Packit b099d7
    FUNC(XpmCreateImageFromBuffer, int, (Display *display,
Packit b099d7
					 char *buffer,
Packit b099d7
					 XImage **image_return,
Packit b099d7
					 XImage **shapemask_return,
Packit b099d7
					 XpmAttributes *attributes));
Packit b099d7
#ifndef FOR_MSW
Packit b099d7
    FUNC(XpmCreatePixmapFromBuffer, int, (Display *display,
Packit b099d7
					  Drawable d,
Packit b099d7
					  char *buffer,
Packit b099d7
					  Pixmap *pixmap_return,
Packit b099d7
					  Pixmap *shapemask_return,
Packit b099d7
					  XpmAttributes *attributes));
Packit b099d7
Packit b099d7
    FUNC(XpmCreateBufferFromImage, int, (Display *display,
Packit b099d7
					 char **buffer_return,
Packit b099d7
					 XImage *image,
Packit b099d7
					 XImage *shapeimage,
Packit b099d7
					 XpmAttributes *attributes));
Packit b099d7
Packit b099d7
    FUNC(XpmCreateBufferFromPixmap, int, (Display *display,
Packit b099d7
					  char **buffer_return,
Packit b099d7
					  Pixmap pixmap,
Packit b099d7
					  Pixmap shapemask,
Packit b099d7
					  XpmAttributes *attributes));
Packit b099d7
#endif  /* ndef FOR_MSW */
Packit b099d7
    FUNC(XpmReadFileToBuffer, int, (char *filename, char **buffer_return));
Packit b099d7
    FUNC(XpmWriteFileFromBuffer, int, (char *filename, char *buffer));
Packit b099d7
Packit b099d7
    FUNC(XpmReadFileToData, int, (char *filename, char ***data_return));
Packit b099d7
    FUNC(XpmWriteFileFromData, int, (char *filename, char **data));
Packit b099d7
Packit b099d7
    FUNC(XpmAttributesSize, int, ());
Packit b099d7
    FUNC(XpmFreeAttributes, void, (XpmAttributes *attributes));
Packit b099d7
    FUNC(XpmFreeExtensions, void, (XpmExtension *extensions,
Packit b099d7
				   int nextensions));
Packit b099d7
Packit b099d7
    FUNC(XpmFreeXpmImage, void, (XpmImage *image));
Packit b099d7
    FUNC(XpmFreeXpmInfo, void, (XpmInfo *info));
Packit b099d7
    FUNC(XpmGetErrorString, char *, (int errcode));
Packit b099d7
    FUNC(XpmLibraryVersion, int, ());
Packit b099d7
Packit b099d7
    /* XpmImage functions */
Packit b099d7
    FUNC(XpmReadFileToXpmImage, int, (char *filename,
Packit b099d7
				      XpmImage *image,
Packit b099d7
				      XpmInfo *info));
Packit b099d7
Packit b099d7
    FUNC(XpmWriteFileFromXpmImage, int, (char *filename,
Packit b099d7
					 XpmImage *image,
Packit b099d7
					 XpmInfo *info));
Packit b099d7
#ifndef FOR_MSW
Packit b099d7
    FUNC(XpmCreatePixmapFromXpmImage, int, (Display *display,
Packit b099d7
					    Drawable d,
Packit b099d7
					    XpmImage *image,
Packit b099d7
					    Pixmap *pixmap_return,
Packit b099d7
					    Pixmap *shapemask_return,
Packit b099d7
					    XpmAttributes *attributes));
Packit b099d7
#endif
Packit b099d7
    FUNC(XpmCreateImageFromXpmImage, int, (Display *display,
Packit b099d7
					   XpmImage *image,
Packit b099d7
					   XImage **image_return,
Packit b099d7
					   XImage **shapeimage_return,
Packit b099d7
					   XpmAttributes *attributes));
Packit b099d7
Packit b099d7
    FUNC(XpmCreateXpmImageFromImage, int, (Display *display,
Packit b099d7
					   XImage *image,
Packit b099d7
					   XImage *shapeimage,
Packit b099d7
					   XpmImage *xpmimage,
Packit b099d7
					   XpmAttributes *attributes));
Packit b099d7
#ifndef FOR_MSW
Packit b099d7
    FUNC(XpmCreateXpmImageFromPixmap, int, (Display *display,
Packit b099d7
					    Pixmap pixmap,
Packit b099d7
					    Pixmap shapemask,
Packit b099d7
					    XpmImage *xpmimage,
Packit b099d7
					    XpmAttributes *attributes));
Packit b099d7
#endif
Packit b099d7
    FUNC(XpmCreateDataFromXpmImage, int, (char ***data_return,
Packit b099d7
					  XpmImage *image,
Packit b099d7
					  XpmInfo *info));
Packit b099d7
Packit b099d7
    FUNC(XpmCreateXpmImageFromData, int, (char **data,
Packit b099d7
					  XpmImage *image,
Packit b099d7
					  XpmInfo *info));
Packit b099d7
Packit b099d7
    FUNC(XpmCreateXpmImageFromBuffer, int, (char *buffer,
Packit b099d7
					    XpmImage *image,
Packit b099d7
					    XpmInfo *info));
Packit b099d7
Packit b099d7
    FUNC(XpmCreateBufferFromXpmImage, int, (char **buffer_return,
Packit b099d7
					    XpmImage *image,
Packit b099d7
					    XpmInfo *info));
Packit b099d7
Packit b099d7
    FUNC(XpmFree, void, (void *ptr));
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
} /* for C++ V2.0 */
Packit b099d7
#endif
Packit b099d7
Packit b099d7
Packit b099d7
/* backward compatibility */
Packit b099d7
Packit b099d7
/* for version 3.0c */
Packit b099d7
#define XpmPixmapColorError  XpmColorError
Packit b099d7
#define XpmPixmapSuccess     XpmSuccess
Packit b099d7
#define XpmPixmapOpenFailed  XpmOpenFailed
Packit b099d7
#define XpmPixmapFileInvalid XpmFileInvalid
Packit b099d7
#define XpmPixmapNoMemory    XpmNoMemory
Packit b099d7
#define XpmPixmapColorFailed XpmColorFailed
Packit b099d7
Packit b099d7
#define XpmReadPixmapFile(dpy, d, file, pix, mask, att) \
Packit b099d7
    XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
Packit b099d7
#define XpmWritePixmapFile(dpy, file, pix, mask, att) \
Packit b099d7
    XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
Packit b099d7
Packit b099d7
/* for version 3.0b */
Packit b099d7
#define PixmapColorError  XpmColorError
Packit b099d7
#define PixmapSuccess     XpmSuccess
Packit b099d7
#define PixmapOpenFailed  XpmOpenFailed
Packit b099d7
#define PixmapFileInvalid XpmFileInvalid
Packit b099d7
#define PixmapNoMemory    XpmNoMemory
Packit b099d7
#define PixmapColorFailed XpmColorFailed
Packit b099d7
Packit b099d7
#define ColorSymbol XpmColorSymbol
Packit b099d7
Packit b099d7
#define XReadPixmapFile(dpy, d, file, pix, mask, att) \
Packit b099d7
    XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
Packit b099d7
#define XWritePixmapFile(dpy, file, pix, mask, att) \
Packit b099d7
    XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
Packit b099d7
#define XCreatePixmapFromData(dpy, d, data, pix, mask, att) \
Packit b099d7
    XpmCreatePixmapFromData(dpy, d, data, pix, mask, att)
Packit b099d7
#define XCreateDataFromPixmap(dpy, data, pix, mask, att) \
Packit b099d7
    XpmCreateDataFromPixmap(dpy, data, pix, mask, att)
Packit b099d7
Packit b099d7
#endif /* XPM_NUMBERS */
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#endif /* _XpmP_h */