From 880928146d1022fdd5e6a9a79130cd7c55adf8da Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Mon, 21 Mar 2005 17:34:03 +0000 Subject: Image reading, template handling, and printing bug fixes. CHANGES: - Add fl_read_image() note and move documentation STRs back to the top of the list... fluid/fluid.cxx: - Use printer choice data instead of the label text, since we have to escape / in printer names. - Change page number in header to n/N. fluid/print_panel.*: - Don't disable properties button, ever. - Quote / in printer names. - Put copy of real printer name in the user data. - Use user data instead of label text for printer name. fluid/template_panel.*: - Only free the files array if num_files > 0. src/fl_read_image.cxx: - Use fl_visual->visual->*_mask instead of fl_*mask and fl_*shift when the XGetImage() data does not have them set. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4157 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/fl_read_image.cxx | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'src/fl_read_image.cxx') diff --git a/src/fl_read_image.cxx b/src/fl_read_image.cxx index 71afda059..e0405328f 100644 --- a/src/fl_read_image.cxx +++ b/src/fl_read_image.cxx @@ -111,6 +111,7 @@ fl_read_image(uchar *p, // I - Pixel buffer or NULL to allocate printf("red_mask = %08x\n", image->red_mask); printf("green_mask = %08x\n", image->green_mask); printf("blue_mask = %08x\n", image->blue_mask); + printf("map_entries = %d\n", fl_visual->visual->map_entries); #endif // DEBUG d = alpha ? 4 : 3; @@ -124,9 +125,22 @@ fl_read_image(uchar *p, // I - Pixel buffer or NULL to allocate // Check that we have valid mask/shift values... if (!image->red_mask && image->bits_per_pixel > 12) { // Greater than 12 bits must be TrueColor... - image->red_mask = fl_redmask << fl_redshift; - image->green_mask = fl_greenmask << fl_greenshift; - image->blue_mask = fl_bluemask << fl_blueshift; + image->red_mask = fl_visual->visual->red_mask; + image->green_mask = fl_visual->visual->green_mask; + image->blue_mask = fl_visual->visual->blue_mask; + +#ifdef DEBUG + puts("\n---- UPDATED ----"); + printf("fl_redmask = %08x\n", fl_redmask); + printf("fl_redshift = %d\n", fl_redshift); + printf("fl_greenmask = %08x\n", fl_greenmask); + printf("fl_greenshift = %d\n", fl_greenshift); + printf("fl_bluemask = %08x\n", fl_bluemask); + printf("fl_blueshift = %d\n", fl_blueshift); + printf("red_mask = %08x\n", image->red_mask); + printf("green_mask = %08x\n", image->green_mask); + printf("blue_mask = %08x\n", image->blue_mask); +#endif // DEBUG } // Check if we have colormap image... -- cgit v1.2.3