123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- /*
- * 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: GraphicsP.h /main/4 1996/05/09 03:43:09 drk $ */
- #ifndef _DtGraphicsP_h
- #define _DtGraphicsP_h
- #include <stdio.h>
- #include <X11/Intrinsic.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- /*
- * Input stream data structures
- */
- /* Stream source types */
- enum _DtGrStreamType { _DtGrNONE, _DtGrBUFFER, _DtGrFILE };
- /* Stream file data */
- typedef struct
- {
- FILE *fileptr;
- char *filename;
- char *uncompressed_filename;
- } _DtGrFile;
- /* Stream buffer data */
- typedef struct
- {
- const char *base;
- long size;
- char *current;
- char *end;
- } _DtGrBuffer;
- /* Stream data */
- typedef struct
- {
- enum _DtGrStreamType type;
- union
- {
- _DtGrFile file;
- _DtGrBuffer buffer;
- } source;
- } _DtGrStream;
- /*
- * Input stream function prototypes
- */
- /* Open a file stream */
- int _DtGrOpenFile(
- _DtGrStream *stream,
- char *path
- );
- /* Open a buffer stream */
- int _DtGrOpenBuffer(
- _DtGrStream *stream,
- const char *buffer,
- int buffer_size
- );
- /* Close a stream */
- int _DtGrCloseStream(
- _DtGrStream *stream
- );
- /* Reads data from a stream into a buffer */
- size_t _DtGrRead(
- void *buffer,
- size_t size,
- size_t num_items,
- _DtGrStream *stream
- );
- /* Sets the position of the next input operation on a stream */
- int _DtGrSeek(
- _DtGrStream *stream,
- long offset,
- int whence
- );
- /* Reads a character from a stream and advances the stream position */
- int _DtGrGetChar(
- _DtGrStream *stream
- );
- /* Reads a string from a stream and advances the stream position */
- char *_DtGrGetString(
- char *buffer,
- int num_bytes,
- _DtGrStream *stream
- );
- /*
- * Inline graphics data structures
- */
- enum _DtGrColorModel { _DtGrCOLOR, _DtGrGRAY_SCALE, _DtGrBITONAL };
- enum _DtGrLoadStatus { _DtGrSUCCESS, _DtGrCOLOR_REDUCE,_DtGrCONVERT_FAILURE,
- _DtGrOPEN_FAILED, _DtGrFILE_INVALID, _DtGrNO_MEMORY,
- _DtGrCOLOR_FAILED };
- /* Context structure used by image type converters */
- typedef struct {
- char *image_type;
- XPointer context;
- } _DtGrContext;
- typedef enum _DtGrLoadStatus (*_DtGrLoadProc)(
- _DtGrStream *stream,
- Screen *screen,
- int depth,
- Colormap colormap,
- Visual *visual,
- Pixel foreground,
- Pixel background,
- GC gc,
- enum _DtGrColorModel color_model,
- Boolean allow_reduced_colors,
- Dimension *in_out_width,
- Dimension *in_out_height,
- unsigned short media_resolution,
- Pixmap *ret_pixmap,
- Pixmap *ret_mask,
- Pixel **ret_colors,
- int *ret_num_colors,
- _DtGrContext *context);
- typedef void (*_DtGrDestroyContextProc)(
- _DtGrContext *context);
- /*
- * Inline graphics function prototypes
- */
- /* Loads an image into a pixmap */
- enum _DtGrLoadStatus _DtGrLoad(
- _DtGrStream *stream,
- char **image_type,
- Screen *screen,
- int depth,
- Colormap colormap,
- Visual *visual,
- Pixel foreground,
- Pixel background,
- GC gc,
- enum _DtGrColorModel color_model,
- Boolean allow_reduced_colors,
- Dimension *in_out_width,
- Dimension *in_out_height,
- unsigned short media_resolution,
- Pixmap *ret_pixmap,
- Pixmap *ret_mask,
- Pixel **ret_colors,
- int *ret_num_colors,
- _DtGrContext *context);
- /* Destroys a context */
- void _DtGrDestroyContext(
- _DtGrContext *context);
- /* Registers a converter for a graphic type */
- void _DtGrRegisterConverter(
- char *image_type,
- _DtGrLoadProc convert_proc,
- _DtGrDestroyContextProc destroy_context_proc,
- _DtGrLoadProc *current_convert_proc,
- _DtGrDestroyContextProc *current_destroy_proc);
- #ifdef __cplusplus
- }
- #endif
- #endif /* _DtGraphicsP_h */
- /* DON'T ADD ANYTHING AFTER THIS #endif */
|