Update of /cvs/poppler/poppler/poppler
In directory kemper:/tmp/cvs-serv26437/poppler

Modified Files:
        SplashOutputDev.cc 
Log Message:
        * poppler/SplashOutputDev.cc:
        * qt/poppler-private.h:
        * qt4/src/poppler-private.h:
        * splash/Splash.cc:
        * splash/SplashBitmap.cc:
        * splash/SplashTypes.h: Rename splashModeRGBX8 to splashModeXBGR8 and
        hopefully fix qt frontends image generation


Index: SplashOutputDev.cc
===================================================================
RCS file: /cvs/poppler/poppler/poppler/SplashOutputDev.cc,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- SplashOutputDev.cc  25 Apr 2007 19:59:10 -0000      1.13
+++ SplashOutputDev.cc  28 Apr 2007 23:25:59 -0000      1.14
@@ -244,7 +244,7 @@
   case splashModeMono8:
     blend[0] = dest[0];
     break;
-  case splashModeRGBX8:
+  case splashModeXBGR8:
     src[3] = 255;
   case splashModeRGB8:
   case splashModeBGR8:
@@ -285,7 +285,7 @@
   case splashModeMono8:
     blend[0] = dest[0];
     break;
-  case splashModeRGBX8:
+  case splashModeXBGR8:
     src[3] = 255;
   case splashModeRGB8:
   case splashModeBGR8:
@@ -325,7 +325,7 @@
   case splashModeMono8:
     blend[0] = dest[0];
     break;
-  case splashModeRGBX8:
+  case splashModeXBGR8:
     src[3] = 255;
   case splashModeRGB8:
   case splashModeBGR8:
@@ -366,7 +366,7 @@
   case splashModeMono8:
     blend[0] = dest[0];
     break;
-  case splashModeRGBX8:
+  case splashModeXBGR8:
     src[3] = 255;
   case splashModeRGB8:
   case splashModeBGR8:
@@ -722,7 +722,7 @@
   case splashModeMono8:
     color[0] = 0;
     break;
-  case splashModeRGBX8:
+  case splashModeXBGR8:
     color[3] = 255;
   case splashModeRGB8:
   case splashModeBGR8:
@@ -900,7 +900,7 @@
     color[0] = colToByte(gray);
     pattern = new SplashSolidColor(color);
     break;
-  case splashModeRGBX8:
+  case splashModeXBGR8:
     color[3] = 255;
   case splashModeRGB8:
   case splashModeBGR8:
@@ -1720,7 +1720,6 @@
        *q++ = imgData->lookup[*p];
       }
     break;
-  case splashModeRGBX8:
   case splashModeRGB8:
   case splashModeBGR8:
       for (x = 0, p = imgData->imgStr->getLine(), q = colorLine;
@@ -1730,9 +1729,19 @@
        *q++ = col[0];
        *q++ = col[1];
        *q++ = col[2];
-       if (imgData->colorMode == splashModeRGBX8) *q++ = 255;
       }
     break;
+  case splashModeXBGR8:
+      for (x = 0, p = imgData->imgStr->getLine(), q = colorLine;
+          x < imgData->width;
+          ++x, ++p) {
+       col = &imgData->lookup[4 * *p];
+       *q++ = col[0];
+       *q++ = col[1];
+       *q++ = col[2];
+       *q++ = col[3];
+      }
+      break;
 #if SPLASH_CMYK
     case splashModeCMYK8:
       for (x = 0, p = imgData->imgStr->getLine(), q = colorLine;
@@ -1758,7 +1767,7 @@
        *q++ = colToByte(gray);
       }
        break;
-       case splashModeRGBX8:
+       case splashModeXBGR8:
     case splashModeRGB8:
     case splashModeBGR8:
       for (x = 0, p = imgData->imgStr->getLine(), q = colorLine;
@@ -1768,7 +1777,7 @@
        *q++ = colToByte(rgb.r);
        *q++ = colToByte(rgb.g);
        *q++ = colToByte(rgb.b);
-       if (imgData->colorMode == splashModeRGBX8) *q++ = 255;
+       if (imgData->colorMode == splashModeXBGR8) *q++ = 255;
       }
       break;
 #if SPLASH_CMYK
@@ -1828,14 +1837,20 @@
        *q++ = imgData->lookup[*p];
        *aq++ = alpha;
        break;
-      case splashModeRGBX8:
       case splashModeRGB8:
       case splashModeBGR8:
        col = &imgData->lookup[3 * *p];
        *q++ = col[0];
        *q++ = col[1];
        *q++ = col[2];
-       if (imgData->colorMode == splashModeRGBX8) *q++ = 255;
+       *aq++ = alpha;
+       break;
+      case splashModeXBGR8:
+       col = &imgData->lookup[4 * *p];
+       *q++ = col[0];
+       *q++ = col[1];
+       *q++ = col[2];
+       *q++ = 255;
        *aq++ = alpha;
        break;
 #if SPLASH_CMYK
@@ -1857,14 +1872,14 @@
        *q++ = colToByte(gray);
        *aq++ = alpha;
        break;
-      case splashModeRGBX8:
+      case splashModeXBGR8:
       case splashModeRGB8:
       case splashModeBGR8:
        imgData->colorMap->getRGB(p, &rgb);
        *q++ = colToByte(rgb.r);
        *q++ = colToByte(rgb.g);
        *q++ = colToByte(rgb.b);
-       if (imgData->colorMode == splashModeRGBX8) *q++ = 255;
+       if (imgData->colorMode == splashModeXBGR8) *q++ = 255;
        *aq++ = alpha;
        break;
 #if SPLASH_CMYK
@@ -1936,7 +1951,6 @@
        imgData.lookup[i] = colToByte(gray);
       }
       break;
-    case splashModeRGBX8:
     case splashModeRGB8:
     case splashModeBGR8:
       imgData.lookup = (SplashColorPtr)gmalloc(3 * n);
@@ -1946,7 +1960,17 @@
        imgData.lookup[3*i] = colToByte(rgb.r);
        imgData.lookup[3*i+1] = colToByte(rgb.g);
        imgData.lookup[3*i+2] = colToByte(rgb.b);
-       if (colorMode == splashModeRGBX8) imgData.lookup[3*i+3] = 255;
+      }
+      break;
+    case splashModeXBGR8:
+      imgData.lookup = (SplashColorPtr)gmalloc(4 * n);
+      for (i = 0; i < n; ++i) {
+       pix = (Guchar)i;
+       colorMap->getRGB(&pix, &rgb);
+       imgData.lookup[4*i] = colToByte(rgb.r);
+       imgData.lookup[4*i+1] = colToByte(rgb.g);
+       imgData.lookup[4*i+2] = colToByte(rgb.b);
+       imgData.lookup[4*i+3] = 255;
       }
       break;
 #if SPLASH_CMYK
@@ -2027,14 +2051,20 @@
        *q++ = imgData->lookup[*p];
        *aq++ = alpha;
        break;
-      case splashModeRGBX8:
       case splashModeRGB8:
       case splashModeBGR8:
        col = &imgData->lookup[3 * *p];
        *q++ = col[0];
        *q++ = col[1];
        *q++ = col[2];
-       if (imgData->colorMode == splashModeRGBX8) *q++ = 255;
+       *aq++ = alpha;
+       break;
+      case splashModeXBGR8:
+       col = &imgData->lookup[4 * *p];
+       *q++ = col[0];
+       *q++ = col[1];
+       *q++ = col[2];
+       *q++ = 255;
        *aq++ = alpha;
        break;
 #if SPLASH_CMYK
@@ -2056,14 +2086,14 @@
        *q++ = colToByte(gray);
        *aq++ = alpha;
        break;
-      case splashModeRGBX8:
+      case splashModeXBGR8:
       case splashModeRGB8:
       case splashModeBGR8:
        imgData->colorMap->getRGB(p, &rgb);
        *q++ = colToByte(rgb.r);
        *q++ = colToByte(rgb.g);
        *q++ = colToByte(rgb.b);
-       if (imgData->colorMode == splashModeRGBX8) *q++ = 255;
+       if (imgData->colorMode == splashModeXBGR8) *q++ = 255;
        *aq++ = alpha;
        break;
 #if SPLASH_CMYK
@@ -2186,7 +2216,6 @@
          imgData.lookup[i] = colToByte(gray);
        }
        break;
-      case splashModeRGBX8:
       case splashModeRGB8:
       case splashModeBGR8:
        imgData.lookup = (SplashColorPtr)gmalloc(3 * n);
@@ -2196,7 +2225,17 @@
          imgData.lookup[3*i] = colToByte(rgb.r);
          imgData.lookup[3*i+1] = colToByte(rgb.g);
          imgData.lookup[3*i+2] = colToByte(rgb.b);
-         if (colorMode == splashModeRGBX8) imgData.lookup[3*i+2] = 255;
+       }
+       break;
+      case splashModeXBGR8:
+       imgData.lookup = (SplashColorPtr)gmalloc(4 * n);
+       for (i = 0; i < n; ++i) {
+         pix = (Guchar)i;
+         colorMap->getRGB(&pix, &rgb);
+         imgData.lookup[4*i] = colToByte(rgb.r);
+         imgData.lookup[4*i+1] = colToByte(rgb.g);
+         imgData.lookup[4*i+2] = colToByte(rgb.b);
+         imgData.lookup[4*i+3] = 255;
        }
        break;
 #if SPLASH_CMYK
@@ -2321,7 +2360,6 @@
       }
       break;
     case splashModeRGB8:
-    case splashModeRGBX8:
     case splashModeBGR8:
       imgData.lookup = (SplashColorPtr)gmalloc(3 * n);
       for (i = 0; i < n; ++i) {
@@ -2330,7 +2368,17 @@
        imgData.lookup[3*i] = colToByte(rgb.r);
        imgData.lookup[3*i+1] = colToByte(rgb.g);
        imgData.lookup[3*i+2] = colToByte(rgb.b);
-       if (colorMode == splashModeRGBX8) imgData.lookup[3*i+2] = 255;
+      }
+      break;
+    case splashModeXBGR8:
+      imgData.lookup = (SplashColorPtr)gmalloc(4 * n);
+      for (i = 0; i < n; ++i) {
+       pix = (Guchar)i;
+       colorMap->getRGB(&pix, &rgb);
+       imgData.lookup[4*i] = colToByte(rgb.r);
+       imgData.lookup[4*i+1] = colToByte(rgb.g);
+       imgData.lookup[4*i+2] = colToByte(rgb.b);
+       imgData.lookup[4*i+3] = 255;
       }
       break;
 #if SPLASH_CMYK
@@ -2461,7 +2509,7 @@
     case splashModeMono8:
       color[0] = 0;
       break;
-    case splashModeRGBX8:
+    case splashModeXBGR8:
       color[3] = 255;
     case splashModeRGB8:
     case splashModeBGR8:
@@ -2559,7 +2607,7 @@
        color[0] = colToByte(gray);
        tSplash->compositeBackground(color);
        break;
-      case splashModeRGBX8:
+      case splashModeXBGR8:
        color[3] = 255;
       case splashModeRGB8:
       case splashModeBGR8:
@@ -2601,7 +2649,7 @@
        case splashModeMono8:
          lum = color[0] / 255.0;
          break;
-       case splashModeRGBX8:
+       case splashModeXBGR8:
        case splashModeRGB8:
        case splashModeBGR8:
          lum = (0.3 / 255.0) * color[0] +

_______________________________________________
poppler mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to