1/* 2 * General image handling function bits 3 */ 4#ifndef _CTWM_IMAGE_H 5#define _CTWM_IMAGE_H 6 7 8/* Widely used through the codebase */ 9struct Image { 10 Pixmap pixmap; 11 Pixmap mask; 12 int width; 13 int height; 14 Image *next; 15}; 16 17 18Image *GetImage(const char *name, ColorPair cp); 19Image *AllocImage(void); 20void FreeImage(Image *image); 21 22 23/* Used internally in image*.c */ 24extern bool reportfilenotfound; 25extern Colormap AlternateCmap; 26 27char *ExpandPixmapPath(const char *name); 28Image *get_image_anim_cp(const char *name, ColorPair cp, 29 Image * (*imgloader)(const char *, ColorPair)); 30 31 32/* 33 * These are really image_bitmap_builtin stuff, but a few places in the 34 * codebase reference them, and there's no need for them to pull in a 35 * pretty deep internal header to do it. 36 */ 37#define TBPM_DOT ":dot" /* name of titlebar pixmap for dot */ 38#define TBPM_ICONIFY ":iconify" /* same image as dot */ 39#define TBPM_RESIZE ":resize" /* name of titlebar pixmap for resize button */ 40#define TBPM_XLOGO ":xlogo" /* name of titlebar pixmap for xlogo */ 41#define TBPM_DELETE ":delete" /* same image as xlogo */ 42#define TBPM_MENU ":menu" /* name of titlebar pixmap for menus */ 43#define TBPM_QUESTION ":question" /* name of unknown titlebar pixmap */ 44 45#define TBPM_3DCROSS ":xpm:cross" 46#define TBPM_3DICONIFY ":xpm:iconify" 47#define TBPM_3DSUNKEN_RESIZE ":xpm:sunkresize" 48#define TBPM_3DBOX ":xpm:box" 49 50#define TBPM_3DDOT ":xpm:dot" /* name of titlebar pixmap for dot */ 51#define TBPM_3DRESIZE ":xpm:resize" /* name of titlebar pixmap for resize button */ 52#define TBPM_3DMENU ":xpm:menu" /* name of titlebar pixmap for menus */ 53#define TBPM_3DZOOM ":xpm:zoom" 54#define TBPM_3DBAR ":xpm:bar" 55#define TBPM_3DVBAR ":xpm:vbar" 56 57/* Ditto for a few funcs */ 58Pixmap mk_blackgray_pixmap(const char *which, Drawable dw, 59 unsigned long fg, unsigned long bg); 60void get_blackgray_size(int *width, int *height); 61 62#endif /* _CTWM_IMAGE_H */ 63