< prev index next >

src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c

Print this page




 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         }


< prev index next >