72 UNAVAILABLE_COLOR = 2,
73 ALLOCATED_COLOR = 3
74 };
75
76 /*
77 * Constants to control the filling of the colormap.
78 * By default, try to allocate colors in the default colormap until
79 * CMAP_ALLOC_DEFAULT colors are being used (by Java and/or other
80 * applications).
81 * For cases where the default colormap may already have a large
82 * number of colors in it, make sure that we ourselves try to add
83 * at least CMAP_ALLOC_MIN new colors, even if we need to allocate
84 * more than the DEFAULT to do that.
85 * Under no circumstances will the colormap be filled to more than
86 * CMAP_ALLOC_MAX colors.
87 */
88 #define CMAP_ALLOC_MIN 100 /* minimum number of colors to "add" */
89 #define CMAP_ALLOC_DEFAULT 200 /* default number of colors in cmap */
90 #define CMAP_ALLOC_MAX 245 /* maximum number of colors in cmap */
91
92 #ifdef __solaris__
93 #include <sys/utsname.h>
94
95 struct {
96 char *machine;
97 int cubesize;
98 } machinemap[] = {
99 { "i86pc", LOOKUPSIZE / 4 }, /* BugTraq ID 4102599 */
100 { "sun4c", LOOKUPSIZE / 4 },
101 { "sun4m", LOOKUPSIZE / 2 },
102 { "sun4d", LOOKUPSIZE / 2 },
103 { "sun4u", LOOKUPSIZE / 1 },
104 };
105
106 #define MACHMAPSIZE (sizeof(machinemap) / sizeof(machinemap[0]))
107
108 int getVirtCubeSize() {
109 struct utsname name;
110 int i, ret;
111
112 ret = uname(&name);
113 if (ret < 0) {
114 #ifdef DEBUG
115 #include <errno.h>
116 jio_fprintf(stderr, "uname errno = %d, using default cubesize %d\n",
117 errno, LOOKUPSIZE);
118 #endif
119 return LOOKUPSIZE;
120 }
121
122 for (i = 0; i < MACHMAPSIZE; i++) {
123 if (strcmp(name.machine, machinemap[i].machine) == 0) {
124 #ifdef DEBUG
125 if (debug_colormap) {
126 jio_fprintf(stderr, "'%s'.cubesize = '%d'\n",
127 machinemap[i].machine, machinemap[i].cubesize);
128 }
129 #endif
130 return machinemap[i].cubesize;
131 }
132 }
133
134 #ifdef DEBUG
135 if (debug_colormap) {
136 jio_fprintf(stderr, "unknown machine '%s' using cubesize %d\n",
137 name.machine, LOOKUPSIZE);
138 }
139 #endif
140 return LOOKUPSIZE;
141 }
142 #else /* __solaris__ */
143 #define getVirtCubeSize() (LOOKUPSIZE)
144 #endif /* __solaris__ */
145
146 unsigned char img_bwgamma[256];
147 uns_ordered_dither_array img_oda_alpha;
148
149 #ifdef NEED_IMAGE_CONVERT
150 ImgConvertFcn DirectImageConvert;
151 ImgConvertFcn Dir16IcmOpqUnsImageConvert;
152 ImgConvertFcn Dir16IcmTrnUnsImageConvert;
153 ImgConvertFcn Dir16IcmOpqSclImageConvert;
154 ImgConvertFcn Dir16DcmOpqUnsImageConvert;
155 ImgConvertFcn Dir16DcmTrnUnsImageConvert;
156 ImgConvertFcn Dir16DcmOpqSclImageConvert;
157 ImgConvertFcn Dir32IcmOpqUnsImageConvert;
158 ImgConvertFcn Dir32IcmTrnUnsImageConvert;
159 ImgConvertFcn Dir32IcmOpqSclImageConvert;
160 ImgConvertFcn Dir32DcmOpqUnsImageConvert;
161 ImgConvertFcn Dir32DcmTrnUnsImageConvert;
162 ImgConvertFcn Dir32DcmOpqSclImageConvert;
163
164 ImgConvertFcn PseudoImageConvert;
|
72 UNAVAILABLE_COLOR = 2,
73 ALLOCATED_COLOR = 3
74 };
75
76 /*
77 * Constants to control the filling of the colormap.
78 * By default, try to allocate colors in the default colormap until
79 * CMAP_ALLOC_DEFAULT colors are being used (by Java and/or other
80 * applications).
81 * For cases where the default colormap may already have a large
82 * number of colors in it, make sure that we ourselves try to add
83 * at least CMAP_ALLOC_MIN new colors, even if we need to allocate
84 * more than the DEFAULT to do that.
85 * Under no circumstances will the colormap be filled to more than
86 * CMAP_ALLOC_MAX colors.
87 */
88 #define CMAP_ALLOC_MIN 100 /* minimum number of colors to "add" */
89 #define CMAP_ALLOC_DEFAULT 200 /* default number of colors in cmap */
90 #define CMAP_ALLOC_MAX 245 /* maximum number of colors in cmap */
91
92 #define getVirtCubeSize() (LOOKUPSIZE)
93
94 unsigned char img_bwgamma[256];
95 uns_ordered_dither_array img_oda_alpha;
96
97 #ifdef NEED_IMAGE_CONVERT
98 ImgConvertFcn DirectImageConvert;
99 ImgConvertFcn Dir16IcmOpqUnsImageConvert;
100 ImgConvertFcn Dir16IcmTrnUnsImageConvert;
101 ImgConvertFcn Dir16IcmOpqSclImageConvert;
102 ImgConvertFcn Dir16DcmOpqUnsImageConvert;
103 ImgConvertFcn Dir16DcmTrnUnsImageConvert;
104 ImgConvertFcn Dir16DcmOpqSclImageConvert;
105 ImgConvertFcn Dir32IcmOpqUnsImageConvert;
106 ImgConvertFcn Dir32IcmTrnUnsImageConvert;
107 ImgConvertFcn Dir32IcmOpqSclImageConvert;
108 ImgConvertFcn Dir32DcmOpqUnsImageConvert;
109 ImgConvertFcn Dir32DcmTrnUnsImageConvert;
110 ImgConvertFcn Dir32DcmOpqSclImageConvert;
111
112 ImgConvertFcn PseudoImageConvert;
|