201 {
202 Vis->ext_data=NULL;
203 Vis->class = DirectColor ;
204 Vis->red_mask = 0x00FF0000;
205 Vis->green_mask = 0x0000FF00 ;
206 Vis->blue_mask = 0x000000FF ;
207 Vis->map_entries = 256 ;
208 Vis->bits_per_rgb = 8 ;
209 }
210
211 static void
212 QueryColorMap(Display *disp, Colormap src_cmap, Visual *src_vis,
213 XColor **src_colors, int *rShift, int *gShift, int *bShift)
214 {
215 unsigned int ncolors,i ;
216 unsigned long redMask, greenMask, blueMask;
217 int redShift, greenShift, blueShift;
218 XColor *colors ;
219
220 ncolors = (unsigned) src_vis->map_entries ;
221 *src_colors = colors = (XColor *)malloc(ncolors * sizeof(XColor) ) ;
222
223 if(src_vis->class != TrueColor && src_vis->class != DirectColor)
224 {
225 for(i=0 ; i < ncolors ; i++)
226 {
227 colors[i].pixel = i ;
228 colors[i].pad = 0;
229 colors[i].flags = DoRed|DoGreen|DoBlue;
230 }
231 }
232 else /** src is decomposed rgb ***/
233 {
234 /* Get the X colormap */
235 redMask = src_vis->red_mask;
236 greenMask = src_vis->green_mask;
237 blueMask = src_vis->blue_mask;
238 redShift = 0; while (!(redMask&0x1)) {
239 redShift++;
240 redMask = redMask>>1;
241 }
|
201 {
202 Vis->ext_data=NULL;
203 Vis->class = DirectColor ;
204 Vis->red_mask = 0x00FF0000;
205 Vis->green_mask = 0x0000FF00 ;
206 Vis->blue_mask = 0x000000FF ;
207 Vis->map_entries = 256 ;
208 Vis->bits_per_rgb = 8 ;
209 }
210
211 static void
212 QueryColorMap(Display *disp, Colormap src_cmap, Visual *src_vis,
213 XColor **src_colors, int *rShift, int *gShift, int *bShift)
214 {
215 unsigned int ncolors,i ;
216 unsigned long redMask, greenMask, blueMask;
217 int redShift, greenShift, blueShift;
218 XColor *colors ;
219
220 ncolors = (unsigned) src_vis->map_entries ;
221 /* JDK modification.
222 * use calloc instead of malloc to initialize allocated memory
223 * *src_colors = colors = (XColor *)malloc(ncolors * sizeof(XColor) ) ;
224 */
225 *src_colors = colors = (XColor *)calloc(ncolors, sizeof(XColor));
226
227 if(src_vis->class != TrueColor && src_vis->class != DirectColor)
228 {
229 for(i=0 ; i < ncolors ; i++)
230 {
231 colors[i].pixel = i ;
232 colors[i].pad = 0;
233 colors[i].flags = DoRed|DoGreen|DoBlue;
234 }
235 }
236 else /** src is decomposed rgb ***/
237 {
238 /* Get the X colormap */
239 redMask = src_vis->red_mask;
240 greenMask = src_vis->green_mask;
241 blueMask = src_vis->blue_mask;
242 redShift = 0; while (!(redMask&0x1)) {
243 redShift++;
244 redMask = redMask>>1;
245 }
|