/* * Image.h -- Image support routines. * * Authors : Patrick LECOANET * Creation date : Wed Dec 8 11:04:44 1999 * * $Id$ */ /* * Copyright (c) 1999 CENA, Patrick Lecoanet -- * * This code is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This code is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this code; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */ #ifndef _Image_h #define _Image_h #ifdef GLX #include #endif #include "Types.h" struct _WidgetInfo; typedef void *ZnImage; #define ZnGetBitmapPixel(bits, stride, x, y)\ (((bits)[(y)*(stride)+((x)>>3)]<<((x)&7))&0x80) ZnImage ZnGetImage(struct _WidgetInfo *wi, char *image_name); ZnImage ZnGetImageByValue(ZnImage image); ZnImage ZnGetBitmap(struct _WidgetInfo *wi, char *bitmap_name); void ZnFreeImage(ZnImage image); char * ZnNameOfImage(ZnImage image); void ZnSizeOfImage(ZnImage image, int *width, int *height); char * ZnImagePattern(ZnImage image, int *stride); XImage * ZnImageMask(ZnImage image); ZnBool ZnImageIsBitmap(ZnImage image); Pixmap ZnImagePixmap(ZnImage image, Pixmap *mask_pmap); #ifdef GLX GLuint ZnImageTex(ZnImage image, ZnReal *t, ZnReal *s); #endif #ifdef GLX typedef struct _ZnTexGlyphVertexInfo { GLfloat t0[2]; GLshort v0[2]; GLfloat t1[2]; GLshort v1[2]; GLfloat t2[2]; GLshort v2[2]; GLfloat t3[2]; GLshort v3[2]; GLfloat advance; } ZnTexGVI; typedef void *ZnTexFontInfo; ZnTexFontInfo ZnGetTexFont(struct _WidgetInfo *wi, ZnFont font); void ZnFreeTexFont(ZnTexFontInfo tfi); ZnBool ZnCharInTexFont(ZnTexFontInfo tfi, int c); ZnTexGVI * ZnTexFontGVI(ZnTexFontInfo tfi, int c); GLuint ZnTexFontTex(ZnTexFontInfo tfi); #endif #endif /* _Image_h */