Author: arekm                        Date: Fri Aug  1 09:11:51 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- port to new GraphicsMagick; untested

---- Files affected:
SOURCES:
   koffice-gmagick.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/koffice-gmagick.patch
diff -u /dev/null SOURCES/koffice-gmagick.patch:1.1
--- /dev/null   Fri Aug  1 11:11:52 2008
+++ SOURCES/koffice-gmagick.patch       Fri Aug  1 11:11:45 2008
@@ -0,0 +1,141 @@
+--- koffice-1.6.3/filters/krita/gmagick/kis_image_magick_converter.cc.org      
2008-08-01 00:44:03.911882893 +0200
++++ koffice-1.6.3/filters/krita/gmagick/kis_image_magick_converter.cc  
2008-08-01 11:08:43.918137184 +0200
+@@ -182,17 +182,25 @@
+ 
+             image -> addAnnotation(annotation);
+         }
+-        for(int i = 0; i < src->generic_profiles; i++)
+-        {
++      const char *profile_name;
++      size_t profile_length;
++      const unsigned char * profile_info;
++      ImageProfileIterator profile_iterator;
++
++      profile_iterator=AllocateImageProfileIterator(src);
++      while(NextImageProfile(profile_iterator,&profile_name,&profile_info,
++                              &profile_length) != MagickFail)
++      {
+             QByteArray rawdata;
+             rawdata.resize(length);
+-            memcpy(rawdata.data(), src->generic_profile[i].info, 
src->generic_profile[i].length);
++            memcpy(rawdata.data(), profile_info, profile_length);
+             
+-            KisAnnotation* annotation = new 
KisAnnotation(QString(src->generic_profile[i].name), "", rawdata);
++            KisAnnotation* annotation = new 
KisAnnotation(QString(profile_name), "", rawdata);
+             Q_CHECK_PTR(annotation);
+ 
+             image -> addAnnotation(annotation);
+         }
++      DeallocateImageProfileIterator(profile_iterator);
+         
+         const ImageAttribute* imgAttr = GetImageAttribute(src, NULL);
+         while(imgAttr)
+@@ -480,7 +488,7 @@
+             Q_UINT8 opacity = OPACITY_OPAQUE;
+             const ImageAttribute * attr = GetImageAttribute(image, 
"[layer-opacity]");
+             if (attr != 0) {
+-                opacity = Q_UINT8_MAX - 
Downscale(QString(attr->value).toInt());
++                opacity = Q_UINT8_MAX - 
ScaleQuantumToChar(QString(attr->value).toInt());
+             }
+ 
+             KisPaintLayerSP layer = 0;
+@@ -534,17 +542,17 @@
+                         while (!hiter.isDone())
+                         {
+                             Q_UINT8 *ptr= hiter.rawData();
+-                            *(ptr++) = Downscale(pp->red); // cyan
+-                            *(ptr++) = Downscale(pp->green); // magenta
+-                            *(ptr++) = Downscale(pp->blue); // yellow
+-                            *(ptr++) = Downscale(indexes[x]); // Black
++                            *(ptr++) = ScaleQuantumToChar(pp->red); // cyan
++                            *(ptr++) = ScaleQuantumToChar(pp->green); // 
magenta
++                            *(ptr++) = ScaleQuantumToChar(pp->blue); // yellow
++                            *(ptr++) = ScaleQuantumToChar(indexes[x]); // 
Black
+ // XXX: Warning! This ifdef messes up the paren matching big-time!
+ #ifdef HAVE_MAGICK6
+                             if (image->matte != MagickFalse) {
+ #else
+                             if (image->matte == true) {
+ #endif
+-                                *(ptr++) = OPACITY_OPAQUE - 
Downscale(pp->opacity);
++                                *(ptr++) = OPACITY_OPAQUE - 
ScaleQuantumToChar(pp->opacity);
+                             }
+                             else {
+                                 *(ptr++) = OPACITY_OPAQUE;
+@@ -578,10 +586,10 @@
+                             {
+                                 Q_UINT8 *ptr= hiter.rawData();
+                                 // XXX: not colorstrategy and bitdepth 
independent
+-                                *(ptr++) = Downscale(pp->blue);
+-                                *(ptr++) = Downscale(pp->green);
+-                                *(ptr++) = Downscale(pp->red);
+-                                *(ptr++) = OPACITY_OPAQUE - 
Downscale(pp->opacity);
++                                *(ptr++) = ScaleQuantumToChar(pp->blue);
++                                *(ptr++) = ScaleQuantumToChar(pp->green);
++                                *(ptr++) = ScaleQuantumToChar(pp->red);
++                                *(ptr++) = OPACITY_OPAQUE - 
ScaleQuantumToChar(pp->opacity);
+ 
+                                 pp++;
+                                 ++hiter;
+@@ -608,8 +616,8 @@
+                             {
+                                 Q_UINT8 *ptr= hiter.rawData();
+                                 // XXX: not colorstrategy and bitdepth 
independent
+-                                *(ptr++) = Downscale(pp->blue);
+-                                *(ptr++) = OPACITY_OPAQUE - 
Downscale(pp->opacity);
++                                *(ptr++) = ScaleQuantumToChar(pp->blue);
++                                *(ptr++) = OPACITY_OPAQUE - 
ScaleQuantumToChar(pp->opacity);
+ 
+                                 pp++;
+                                 ++hiter;
+@@ -812,13 +820,13 @@
+                     while (!it.isDone()) {
+ 
+                         Q_UINT8 * d = it.rawData();
+-                        pp -> red = Upscale(d[PIXEL_CYAN]);
+-                        pp -> green = Upscale(d[PIXEL_MAGENTA]);
+-                        pp -> blue = Upscale(d[PIXEL_YELLOW]);
++                        pp -> red = ScaleCharToQuantum(d[PIXEL_CYAN]);
++                        pp -> green = ScaleCharToQuantum(d[PIXEL_MAGENTA]);
++                        pp -> blue = ScaleCharToQuantum(d[PIXEL_YELLOW]);
+                         if (alpha)
+-                            pp -> opacity = Upscale(OPACITY_OPAQUE - 
d[PIXEL_CMYK_ALPHA]);
++                            pp -> opacity = ScaleCharToQuantum(OPACITY_OPAQUE 
- d[PIXEL_CMYK_ALPHA]);
+ 
+-                        indexes[x]= Upscale(d[PIXEL_BLACK]);
++                        indexes[x]= ScaleCharToQuantum(d[PIXEL_BLACK]);
+ 
+                         x++;
+                         pp++;
+@@ -848,11 +856,11 @@
+                     while (!it.isDone()) {
+ 
+                         Q_UINT8 * d = it.rawData();
+-                        pp -> red = Upscale(d[PIXEL_RED]);
+-                        pp -> green = Upscale(d[PIXEL_GREEN]);
+-                        pp -> blue = Upscale(d[PIXEL_BLUE]);
++                        pp -> red = ScaleCharToQuantum(d[PIXEL_RED]);
++                        pp -> green = ScaleCharToQuantum(d[PIXEL_GREEN]);
++                        pp -> blue = ScaleCharToQuantum(d[PIXEL_BLUE]);
+                         if (alpha)
+-                            pp -> opacity = Upscale(OPACITY_OPAQUE - 
d[PIXEL_ALPHA]);
++                            pp -> opacity = ScaleCharToQuantum(OPACITY_OPAQUE 
- d[PIXEL_ALPHA]);
+ 
+                         pp++;
+                         ++it;
+@@ -879,11 +887,11 @@
+                 else {
+                     while (!it.isDone()) {
+                         Q_UINT8 * d = it.rawData();
+-                        pp -> red = Upscale(d[PIXEL_GRAY]);
+-                        pp -> green = Upscale(d[PIXEL_GRAY]);
+-                        pp -> blue = Upscale(d[PIXEL_GRAY]);
++                        pp -> red = ScaleCharToQuantum(d[PIXEL_GRAY]);
++                        pp -> green = ScaleCharToQuantum(d[PIXEL_GRAY]);
++                        pp -> blue = ScaleCharToQuantum(d[PIXEL_GRAY]);
+                         if (alpha)
+-                            pp -> opacity = Upscale(OPACITY_OPAQUE - 
d[PIXEL_GRAY_ALPHA]);
++                            pp -> opacity = ScaleCharToQuantum(OPACITY_OPAQUE 
- d[PIXEL_GRAY_ALPHA]);
+ 
+                         pp++;
+                         ++it;
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to