cdesktopenv/cde/lib/DtHelp/il/ilxpm.h

252 lines
7.6 KiB
C

/*
* CDE - Common Desktop Environment
*
* Copyright (c) 1993-2012, The Open Group. All rights reserved.
*
* These libraries and programs are free software; you can
* redistribute them and/or modify them under the terms of the GNU
* Lesser General Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* These libraries and programs are distributed in the hope that
* they will be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with these libraries and programs; if not, write
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301 USA
*/
/* $XConsortium: ilxpm.h /main/4 1995/10/23 16:03:21 rswiston $ */
/* Copyright 1990,91 GROUPE BULL -- See licence conditions in file COPYRIGHT */
/*****************************************************************************\
* xpm.h: *
* *
* XPM library *
* Include file *
* *
* Developed by Arnaud Le Hors *
\*****************************************************************************/
#ifndef XPM_h
#define XPM_h
#ifdef VMS
/*
#include "decw$include:Xlib.h"
#include "decw$include:Intrinsic.h"
*/
#include "sys$library:stdio.h"
#else
/*
#include <X11/Xlib.h>
#include <X11/Intrinsic.h>
*/
#include <stdio.h>
#endif
/* we keep the same codes as for Bitmap management */
/*
#ifndef _XUTIL_H_
#ifdef VMS
#include "decw$include:Xutil.h"
#else
#include <X11/Xutil.h>
#endif
#endif
*/
/* Return ErrorStatus codes:
* null if full success
* positive if partial success
* negative if failure
*/
#define XpmColorError 1
#define XpmSuccess 0
#define XpmOpenFailed -1
#define XpmFileInvalid -2
#define XpmNoMemory -3
#define XpmColorFailed -4
typedef struct {
char *name; /* Symbolic color name */
char *value; /* Color value */
/* Pixel pixel; /* Color pixel */
} XpmColorSymbol;
typedef struct {
unsigned long valuemask; /* Specifies which attributes are
* defined */
/* Visual *visual; /* Specifies the visual to use */
/* Colormap colormap; /* Specifies the colormap to use */
unsigned int depth; /* Specifies the depth */
unsigned int width; /* Returns the width of the created
* pixmap */
unsigned int height; /* Returns the height of the created
* pixmap */
unsigned int x_hotspot; /* Returns the x hotspot's
* coordinate */
unsigned int y_hotspot; /* Returns the y hotspot's
* coordinate */
unsigned int cpp; /* Specifies the number of char per
* pixel */
/* Pixel *pixels; /* List of used color pixels */
unsigned int npixels; /* Number of pixels */
XpmColorSymbol *colorsymbols; /* Array of color symbols to
* override */
unsigned int numsymbols; /* Number of symbols */
char *rgb_fname; /* RGB text file name */
/* Infos */
unsigned int ncolors; /* Number of colors */
char ***colorTable; /* Color table pointer */
char *hints_cmt; /* Comment of the hints section */
char *colors_cmt; /* Comment of the colors section */
char *pixels_cmt; /* Comment of the pixels section */
unsigned int mask_pixel; /* Transparent pixel's color table
* index */
} XpmAttributes;
/* Xpm attribute value masks bits */
#define XpmVisual (1L<<0)
#define XpmColormap (1L<<1)
#define XpmDepth (1L<<2)
#define XpmSize (1L<<3) /* width & height */
#define XpmHotspot (1L<<4) /* x_hotspot & y_hotspot */
#define XpmCharsPerPixel (1L<<5)
#define XpmColorSymbols (1L<<6)
#define XpmRgbFilename (1L<<7)
#define XpmInfos (1L<<8) /* all infos members */
#define XpmReturnPixels (1L<<9)
#define XpmReturnInfos XpmInfos
/*
* minimal portability layer between ansi and KR C
*/
/* forward declaration of functions with prototypes */
#if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
/* ANSI || C++ */
#define FUNC(f, t, p) extern t f p
#define LFUNC(f, t, p) static t f p
#else /* K&R */
#define FUNC(f, t, p) extern t f()
#define LFUNC(f, t, p) static t f()
#endif /* end of K&R */
/*
* functions declarations
*/
#ifdef __cplusplus
extern "C" {
#endif
/*
FUNC(XpmCreatePixmapFromData, int, (Display * display,
Drawable d,
char **data,
Pixmap * pixmap_return,
Pixmap * shapemask_return,
XpmAttributes * attributes));
FUNC(XpmCreateDataFromPixmap, int, (Display * display,
char ***data_return,
Pixmap pixmap,
Pixmap shapemask,
XpmAttributes * attributes));
FUNC(XpmReadFileToPixmap, int, (Display * display,
Drawable d,
char *filename,
Pixmap * pixmap_return,
Pixmap * shapemask_return,
XpmAttributes * attributes));
FUNC(XpmWriteFileFromPixmap, int, (Display * display,
char *filename,
Pixmap pixmap,
Pixmap shapemask,
XpmAttributes * attributes));
FUNC(XpmCreateImageFromData, int, (Display * display,
char **data,
XImage ** image_return,
XImage ** shapemask_return,
XpmAttributes * attributes));
FUNC(XpmCreateDataFromImage, int, (Display * display,
char ***data_return,
XImage * image,
XImage * shapeimage,
XpmAttributes * attributes));
FUNC(XpmReadFileToImage, int, (Display * display,
char *filename,
XImage ** image_return,
XImage ** shapeimage_return,
XpmAttributes * attributes));
FUNC(XpmWriteFileFromImage, int, (Display * display,
char *filename,
XImage * image,
XImage * shapeimage,
XpmAttributes * attributes));
*/
FUNC(XpmAttributesSize, int, ());
FUNC(XpmFreeAttributes, int, (XpmAttributes * attributes));
#ifdef __cplusplus
} /* for C++ V2.0 */
#endif
/* bakward compatibility */
/* for version 3.0c */
#define XpmPixmapColorError XpmColorError
#define XpmPixmapSuccess XpmSuccess
#define XpmPixmapOpenFailed XpmOpenFailed
#define XpmPixmapFileInvalid XpmFileInvalid
#define XpmPixmapNoMemory XpmNoMemory
#define XpmPixmapColorFailed XpmColorFailed
#define XpmReadPixmapFile(dpy, d, file, pix, mask, att) \
XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
#define XpmWritePixmapFile(dpy, file, pix, mask, att) \
XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
/* for version 3.0b */
#define PixmapColorError XpmColorError
#define PixmapSuccess XpmSuccess
#define PixmapOpenFailed XpmOpenFailed
#define PixmapFileInvalid XpmFileInvalid
#define PixmapNoMemory XpmNoMemory
#define PixmapColorFailed XpmColorFailed
#define ColorSymbol XpmColorSymbol
#define XReadPixmapFile(dpy, d, file, pix, mask, att) \
XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
#define XWritePixmapFile(dpy, file, pix, mask, att) \
XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
#define XCreatePixmapFromData(dpy, d, data, pix, mask, att) \
XpmCreatePixmapFromData(dpy, d, data, pix, mask, att)
#define XCreateDataFromPixmap(dpy, data, pix, mask, att) \
XpmCreateDataFromPixmap(dpy, data, pix, mask, att)
#endif