File: macimf.h

package info (click to toggle)
xconq 7.2.2-2
  • links: PTS
  • area: main
  • in suites: slink
  • size: 8,296 kB
  • ctags: 9,199
  • sloc: ansic: 107,849; sh: 2,108; perl: 2,057; makefile: 1,177; sed: 161; csh: 50; awk: 49; lisp: 39
file content (66 lines) | stat: -rw-r--r-- 2,620 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/* Definitions of Mac-specific data about image families in Xconq.
   Copyright (C) 1992-1995, 1997 Stanley T. Shebs.

Xconq is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.  See the file COPYING.  */

/* Structure containing the Mac-specific parts of an image in an image family. */

typedef struct a_mac_image {
	Image *generic;					/* pointer back to generic image */
	short patdefined;				/* true if mono pattern data is defined */
	Pattern monopat;				/* mono pattern data */
	Handle monosicn;				/* 16x16 mono icon */
	Handle masksicn;				/* 16x16 mask icon */
	Handle monoicon;				/* 32x32 mono icon */
	Handle maskicon;				/* 32x32 mask icon */
	Handle colricon;				/* color icon (can be any size) */
	short cicn_inited;				/* true when the color icon has been run thru PlotCIcon */
	PixPatHandle colrpat;			/* color pattern (can be 8x8 up to 64x64) */
	short colordefined;
	RGBColor color;
	/* (should implement all of the following) */
	PicHandle monopict;				/* mono picture */
	PicHandle colrpict;				/* color picture */
	PicHandle maskpict;				/* mask picture */
	PicHandle groupmonopict;		/* mono group picture */
	PicHandle groupcolrpict;		/* color group picture */
	PicHandle groupmaskpict;		/* mask group picture */
	short groupmonox, groupmonoy;	/* Position of mono image in a group picture */
	short groupcolrx, groupcolry;	/* Position of color image in a group picture */
	short groupmaskx, groupmasky;	/* Position of mask image in a group picture */
} MacImage;

#ifdef MPW_C
/* dangerous way */
#define SET_IMG_PAT(mimg,i,val) ((mimg)->monopat[(i)] = (val))
#define IMG_PAT(mimg) ((unsigned char *) &((mimg)->monopat))
#define QD_PAT_ADDR(p) ((unsigned char *) p)
#endif

#ifdef THINK_C
/* dangerous way */
#define SET_IMG_PAT(mimg,i,val) ((mimg)->monopat[(i)] = (val))
#define IMG_PAT(mimg) ((unsigned char *) &((mimg)->monopat))
#define QD_PAT_ADDR(p) ((unsigned char *) p)
#endif

#ifdef __MWERKS__
#define SET_IMG_PAT(mimg,i,val) (((mimg)->monopat.pat)[(i)] = (val))
#define IMG_PAT(mimg) (&((mimg)->monopat))
#define QD_PAT_ADDR(p) ((unsigned char *) (p.pat))
#endif

#define c2p(STR,PBUF) \
  strcpy(((char *) PBUF) + 1, STR);  \
  PBUF[0] = strlen(STR);

#define p2c(PSTR,BUF)  \
  strncpy(BUF, ((char *) (PSTR) + 1), PSTR[0]);  \
  BUF[PSTR[0]] = '\0';

extern MacImage *get_mac_image(Image *img);
extern ImageFamily *mac_load_imf(ImageFamily *imf);
extern ImageFamily *mac_interp_imf(ImageFamily *imf, Image *img, int force);