Project is dead, but if you wish for some reason to build pixieplus, you can try to apply the patch (gcc4 & ImageMagick 6.3.3-6 fixes)
source: http://ftp.osuosl.org/pub/ubuntu/pool/universe/p/pixieplus/pixieplus_0.5.4-2.tar.gz Configure with: CXXFLAGS="-fPIC" \ ac_cv_header_magick_resource_h=yes \ ./configure --prefix=/opt --x-libraries=$(pkg-config --variable=libdir x11) Patch: diff -Naur pixieplus-0.5.4-orig/app/batch.cpp pixieplus-0.5.4/app/batch.cpp --- pixieplus-0.5.4-orig/app/batch.cpp 2003-02-09 11:56:49.000000000 +0700 +++ pixieplus-0.5.4/app/batch.cpp 2007-05-03 03:38:38.000000000 +0800 @@ -196,7 +196,7 @@ connect(bbox->addButton(i18n("Cancel")), SIGNAL(clicked()), this, SLOT(reject())); layout->addWidget(bbox); -}; +} KIFShadeDialog::KIFShadeDialog(QWidget *parent, const char *name) : QDialog(parent, name, true) @@ -228,7 +228,7 @@ connect(bbox->addButton(i18n("Cancel")), SIGNAL(clicked()), this, SLOT(reject())); layout->addWidget(bbox); -}; +} KIFTextDialog::KIFTextDialog(QWidget *parent, const char *name) : QDialog(parent, name, true) @@ -618,9 +618,9 @@ else if(type == Equalize) EqualizeImage(img); else if(type == IncContrast) - ContrastImage(img, true); + ContrastImage(img, (MagickBooleanType)true); else if(type == DecContrast) - ContrastImage(img, false); + ContrastImage(img, (MagickBooleanType)false); else if(type == Solarize) SolarizeImage(img, weight); else if(type == Threshold) @@ -752,7 +752,7 @@ save = false; } else if(type == Shade){ - Image *tmp = ShadeImage(img, useColor, a, e, &exception); + Image *tmp = ShadeImage(img, (MagickBooleanType)useColor, a, e, &exception); if(tmp){ if(img->next) DestroyImageList(img); diff -Naur pixieplus-0.5.4-orig/app/batch.h pixieplus-0.5.4/app/batch.h --- pixieplus-0.5.4-orig/app/batch.h 2003-02-09 11:56:53.000000000 +0700 +++ pixieplus-0.5.4/app/batch.h 2007-05-03 03:38:38.000000000 +0800 @@ -17,7 +17,7 @@ #define off_t long long extern "C"{ #include <api.h> -}; +} class KProgress; class QLabel; diff -Naur pixieplus-0.5.4-orig/app/blob-private.h pixieplus-0.5.4/app/blob-private.h --- pixieplus-0.5.4-orig/app/blob-private.h 1970-01-01 07:00:00.000000000 +0700 +++ pixieplus-0.5.4/app/blob-private.h 2007-05-03 03:38:38.000000000 +0800 @@ -0,0 +1,109 @@ +/* + Copyright 1999-2007 ImageMagick Studio LLC, a non-profit organization + dedicated to making software imaging solutions freely available. + + You may not use this file except in compliance with the License. + obtain a copy of the License at + + http://www.imagemagick.org/script/license.php + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + MagickCore Binary Large OBjects private methods. +*/ +#ifndef _MAGICKCORE_BLOB_PRIVATE_H +#define _MAGICKCORE_BLOB_PRIVATE_H + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#include "magick/image.h" +#include "magick/stream.h" + +#if !defined(MagickMaxBufferSize) +#define MagickMaxBufferSize 0x3c005UL +#endif +#define MinBlobExtent 0x3c005UL + +typedef enum +{ + UndefinedBlobMode, + ReadBlobMode, + ReadBinaryBlobMode, + WriteBlobMode, + WriteBinaryBlobMode, + IOBinaryBlobMode +} BlobMode; + +typedef int + *(*BlobFifo)(const Image *,const void *,const size_t); + +typedef struct _BlobInfo + BlobInfo; + +extern MagickExport BlobInfo + *CloneBlobInfo(const BlobInfo *), + *ReferenceBlob(BlobInfo *); + +extern MagickExport char + *ReadBlobString(Image *,char *); + +extern MagickExport const unsigned char + *ReadBlobStream(Image *,const size_t,unsigned char *,ssize_t *); + +extern MagickExport int + EOFBlob(const Image *), + ReadBlobByte(Image *), + SyncBlob(Image *); + +extern MagickExport MagickBooleanType + OpenBlob(const ImageInfo *,Image *,const BlobMode,ExceptionInfo *), + UnmapBlob(void *,const size_t); + +extern MagickExport MagickOffsetType + SeekBlob(Image *,const MagickOffsetType,const int), + TellBlob(const Image *image); + +extern MagickExport ssize_t + ReadBlob(Image *,const size_t,unsigned char *), + WriteBlob(Image *,const size_t,const unsigned char *), + WriteBlobByte(Image *,const unsigned char), + WriteBlobLong(Image *,const unsigned long), + WriteBlobShort(Image *,const unsigned short), + WriteBlobLSBLong(Image *,const unsigned long), + WriteBlobLSBShort(Image *,const unsigned short), + WriteBlobMSBLong(Image *,const unsigned long), + WriteBlobMSBShort(Image *,const unsigned short), + WriteBlobString(Image *,const char *); + +extern MagickExport unsigned char + *DetachBlob(BlobInfo *), + *MapBlob(int,const MapMode,const MagickOffsetType,const size_t); + +extern MagickExport unsigned long + ReadBlobLong(Image *), + ReadBlobLSBLong(Image *), + ReadBlobMSBLong(Image *); + +extern MagickExport unsigned short + ReadBlobShort(Image *), + ReadBlobLSBShort(Image *), + ReadBlobMSBShort(Image *); + +extern MagickExport void + AttachBlob(BlobInfo *,const void *,const size_t), + CloseBlob(Image *), + GetBlobInfo(BlobInfo *), + MSBOrderLong(unsigned char *,const size_t), + MSBOrderShort(unsigned char *,const size_t); + +#if defined(__cplusplus) || defined(c_plusplus) +} +#endif + +#endif diff -Naur pixieplus-0.5.4-orig/app/compressedgif.cpp pixieplus-0.5.4/app/compressedgif.cpp --- pixieplus-0.5.4-orig/app/compressedgif.cpp 2003-02-09 11:56:50.000000000 +0700 +++ pixieplus-0.5.4/app/compressedgif.cpp 2007-05-03 03:38:38.000000000 +0800 @@ -8,6 +8,9 @@ #include <sys/types.h> #include <api.h> #include <assert.h> +#include "blob-private.h" +#include "exception-private.h" +#include "image-private.h" #ifndef False #define False 0 @@ -63,7 +66,7 @@ if (byte_count >= 254) \ { \ (void) WriteBlobByte(image,byte_count); \ - (void) WriteBlob(image,byte_count,(char *) packet); \ + (void) WriteBlob(image,byte_count,(const unsigned char *) packet); \ byte_count=0; \ } \ datum>>=8; \ @@ -280,7 +283,7 @@ if (byte_count >= 254) { (void) WriteBlobByte(image,byte_count); - (void) WriteBlob(image,byte_count,(char *) packet); + (void) WriteBlob(image,byte_count,(const unsigned char *) packet); byte_count=0; } } @@ -290,7 +293,7 @@ if (byte_count > 0) { (void) WriteBlobByte(image,byte_count); - (void) WriteBlob(image,byte_count,(char *) packet); + (void) WriteBlob(image,byte_count,(const unsigned char *) packet); } /* Free encoder memory. @@ -359,7 +362,7 @@ assert(image->signature == MagickSignature); status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception); if (status == false) - ThrowWriterException(FileOpenError,"Unable to open file",image); + ThrowWriterException(FileOpenError,"Unable to open file"); /* Determine image bounding box. */ @@ -384,7 +387,7 @@ colormap=(unsigned char *) AcquireMemory(768); if ((global_colormap == (unsigned char *) NULL) || (colormap == (unsigned char *) NULL)) - ThrowWriterException(ResourceLimitError,"Memory allocation failed",image); + ThrowWriterException(ResourceLimitError,"Memory allocation failed"); for (i=0; i < 768; i++) colormap[i]=0; /* @@ -392,12 +395,12 @@ */ if ((GetImageAttribute(image,"comment") == (ImageAttribute *) NULL) && !image_info->adjoin && !image->matte) - (void) WriteBlob(image,6,"GIF87a"); + (void) WriteBlob(image,6,(const unsigned char *)"GIF87a"); else if (LocaleCompare(image_info->magick,"GIF87") == 0) - (void) WriteBlob(image,6,"GIF87a"); + (void) WriteBlob(image,6,(const unsigned char *)"GIF87a"); else - (void) WriteBlob(image,6,"GIF89a"); + (void) WriteBlob(image,6,(const unsigned char *)"GIF89a"); page.x=image->page.x; page.y=image->page.y; if ((image->page.width != 0) && (image->page.height != 0)) @@ -437,7 +440,7 @@ LiberateMemory((void **) &global_colormap); LiberateMemory((void **) &colormap); ThrowWriterException(ResourceLimitError, - "Memory allocation failed",image) + "Memory allocation failed") } image->colormap[opacity]=image->background_color; for (y=0; y < (long) image->rows; y++) @@ -515,7 +518,7 @@ break; (void) WriteBlobByte(image,(long) j); /* background color */ (void) WriteBlobByte(image,0x0); /* reserved */ - (void) WriteBlob(image,3*(1 << bits_per_pixel),(char *) colormap); + (void) WriteBlob(image,3*(1 << bits_per_pixel),(const unsigned char *) colormap); for (j=0; j < 768; j++) global_colormap[j]=colormap[j]; } @@ -570,7 +573,7 @@ (void) WriteBlobByte(image,0x21); (void) WriteBlobByte(image,0xff); (void) WriteBlobByte(image,0x0b); - (void) WriteBlob(image,11,"NETSCAPE2.0"); + (void) WriteBlob(image,11,(const unsigned char *)"NETSCAPE2.0"); (void) WriteBlobByte(image,0x03); (void) WriteBlobByte(image,0x01); (void) WriteBlobLSBShort(image,image->iterations); @@ -602,7 +605,7 @@ c|=0x80; c|=(bits_per_pixel-1); /* size of local colormap */ (void) WriteBlobByte(image,c); - (void) WriteBlob(image,3*(1 << bits_per_pixel),(char *) colormap); + (void) WriteBlob(image,3*(1 << bits_per_pixel),(const unsigned char *) colormap); } /* Write the image data. @@ -614,8 +617,7 @@ { LiberateMemory((void **) &global_colormap); LiberateMemory((void **) &colormap); - ThrowWriterException(ResourceLimitError,"Memory allocation failed", - image) + ThrowWriterException(ResourceLimitError,"Memory allocation failed") } (void) WriteBlobByte(image,0x0); if (image->next == (Image *) NULL) diff -Naur pixieplus-0.5.4-orig/app/exception-private.h pixieplus-0.5.4/app/exception-private.h --- pixieplus-0.5.4-orig/app/exception-private.h 1970-01-01 07:00:00.000000000 +0700 +++ pixieplus-0.5.4/app/exception-private.h 2007-05-03 03:38:38.000000000 +0800 @@ -0,0 +1,99 @@ +/* + Copyright 1999-2007 ImageMagick Studio LLC, a non-profit organization + dedicated to making software imaging solutions freely available. + + You may not use this file except in compliance with the License. + obtain a copy of the License at + + http://www.imagemagick.org/script/license.php + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + MagickCore exception private methods. +*/ +#ifndef _MAGICKCORE_EXCEPTION_PRIVATE_H +#define _MAGICKCORE_EXCEPTION_PRIVATE_H + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#include "magick/log.h" + +#define ThrowBinaryException(severity,tag,context) \ +{ \ + if (image != (Image *) NULL) \ + (void) ThrowMagickException(&image->exception,GetMagickModule(),severity, \ + tag == (const char *) NULL ? "unknown" : tag,"`%s'",context); \ + return(MagickFalse); \ +} +#define ThrowFileException(exception,severity,tag,context) \ +{ \ + char \ + *message; \ + \ + message=GetExceptionMessage(errno); \ + (void) ThrowMagickException(exception,GetMagickModule(),severity, \ + tag == (const char *) NULL ? "unknown" : tag,"`%s': %s",context,message); \ + message=(char *) RelinquishMagickMemory(message); \ +} +#define ThrowImageException(severity,tag) \ +{ \ + (void) ThrowMagickException(exception,GetMagickModule(),severity, \ + tag == (const char *) NULL ? "unknown" : tag,"`%s'",image->filename); \ + return((Image *) NULL); \ +} +#define ThrowMagickFatalException(severity,tag,context) \ +{ \ + ExceptionInfo \ + exception; \ + \ + GetExceptionInfo(&exception); \ + (void) ThrowMagickException(&exception,GetMagickModule(),severity, \ + tag == (const char *) NULL ? "unknown" : tag,"`%s'",context); \ + CatchException(&exception); \ + (void) DestroyExceptionInfo(&exception); \ +} +#define ThrowReaderException(severity,tag) \ +{ \ + (void) ThrowMagickException(exception,GetMagickModule(),severity, \ + tag == (const char *) NULL ? "unknown" : tag,"`%s'",image_info->filename); \ + if ((image) != (Image *) NULL) \ + { \ + CloseBlob(image); \ + image=DestroyImageList(image); \ + } \ + return((Image *) NULL); \ +} +#define ThrowWriterException(severity,tag) \ +{ \ + assert(image != (Image *) NULL); \ + (void) ThrowMagickException(&image->exception,GetMagickModule(),severity, \ + tag == (const char *) NULL ? "unknown" : tag,"`%s'",image->filename); \ + if (image_info->adjoin != MagickFalse) \ + while (image->previous != (Image *) NULL) \ + image=image->previous; \ + CloseBlob(image); \ + return(MagickFalse); \ +} +#define ThrowXWindowException(severity,tag,context) \ +{ \ + ExceptionInfo \ + exception; \ + \ + GetExceptionInfo(&exception); \ + (void) ThrowMagickException(&exception,GetMagickModule(),severity, \ + tag == (const char *) NULL ? "unknown" : tag,"`%s'",context); \ + CatchException(&exception); \ + (void) DestroyExceptionInfo(&exception); \ +} + +#if defined(__cplusplus) || defined(c_plusplus) +} +#endif + +#endif diff -Naur pixieplus-0.5.4-orig/app/ifapp.cpp pixieplus-0.5.4/app/ifapp.cpp --- pixieplus-0.5.4-orig/app/ifapp.cpp 2003-02-09 11:56:50.000000000 +0700 +++ pixieplus-0.5.4/app/ifapp.cpp 2007-05-03 03:38:38.000000000 +0800 @@ -33,18 +33,18 @@ // ImageMagick message and progress stubs extern "C"{ - unsigned int magickMonitor(const char *msg, const off_t value, - const size_t span, ExceptionInfo *) + MagickBooleanType magickMonitor(const char *msg, MagickOffsetType value, + MagickSizeType span, ExceptionInfo *) { if(!appPtr) - return(true); + return((MagickBooleanType)true); int val = (int)((((float)value)/((float)span))*100.0); if(appPtr->magickMessageProgress()) appPtr->magickMessageProgress()->setValue(val); if(appPtr->magickMessageLabel()) appPtr->magickMessageLabel()->setText(msg); appPtr->processEvents(); - return(true); + return((MagickBooleanType)true); } void magickWarning(const ExceptionType /*warning*/, const char *reason, diff -Naur pixieplus-0.5.4-orig/app/ifapp.h pixieplus-0.5.4/app/ifapp.h --- pixieplus-0.5.4-orig/app/ifapp.h 2003-02-09 11:56:53.000000000 +0700 +++ pixieplus-0.5.4/app/ifapp.h 2007-05-03 03:38:38.000000000 +0800 @@ -14,7 +14,7 @@ #define off_t long long extern "C"{ #include <api.h> -}; +} class KIFFileList; class KIFImage; diff -Naur pixieplus-0.5.4-orig/app/imageheaders.cpp pixieplus-0.5.4/app/imageheaders.cpp --- pixieplus-0.5.4-orig/app/imageheaders.cpp 2003-02-09 11:56:50.000000000 +0700 +++ pixieplus-0.5.4/app/imageheaders.cpp 2007-05-03 03:38:38.000000000 +0800 @@ -90,7 +90,7 @@ if(TIFFSetDirectory(t, thumbDir)){ TIFFGetField(t, TIFFTAG_IMAGELENGTH, &height); img.create(minWidth, height, 32); - if(!TIFFReadRGBAImage(t, minWidth, height, (unsigned long*) + if(!TIFFReadRGBAImage(t, minWidth, height, (uint32*) img.bits(), 0)) img.reset(); else{ diff -Naur pixieplus-0.5.4-orig/app/image-private.h pixieplus-0.5.4/app/image-private.h --- pixieplus-0.5.4-orig/app/image-private.h 1970-01-01 07:00:00.000000000 +0700 +++ pixieplus-0.5.4/app/image-private.h 2007-05-03 03:38:38.000000000 +0800 @@ -0,0 +1,96 @@ +/* + Copyright 1999-2007 ImageMagick Studio LLC, a non-profit organization + dedicated to making software imaging solutions freely available. + + You may not use this file except in compliance with the License. + obtain a copy of the License at + + http://www.imagemagick.org/script/license.php + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + MagickCore image private methods. +*/ +#ifndef _MAGICKCORE_IMAGE_PRIVATE_H +#define _MAGICKCORE_IMAGE_PRIVATE_H + +#if defined(__cplusplus) || defined(c_plusplus) +extern "C" { +#endif + +#define MagickPI 3.14159265358979323846264338327950288419716939937510 +#define MagickSQ1_2 0.7071067811865475244008443621048490 +#define MagickSQ2PI 2.50662827463100024161235523934010416269302368164062 +#define QuantumScale ((MagickRealType) 1.0/(MagickRealType) QuantumRange) +#define UndefinedTicksPerSecond 100L +#define UndefinedCompressionQuality 0UL + +extern MagickExport const char + *BackgroundColor, + *BorderColor, + *DefaultTileFrame, + *DefaultTileGeometry, + *DefaultTileLabel, + *ForegroundColor, + *MatteColor, + *LoadImageTag, + *LoadImagesTag, + *PSDensityGeometry, + *PSPageGeometry, + *SaveImageTag, + *SaveImagesTag; + +extern MagickExport const double + DefaultResolution; + +static inline double DegreesToRadians(const double degrees) +{ + return(MagickPI*degrees/180.0); +} + +static inline MagickBooleanType QuantumTick(const MagickOffsetType offset, + const MagickSizeType span) +{ + if ((offset & (offset-1)) == 0) + return(MagickTrue); + if ((offset & 0x7f) == 0) + return(MagickTrue); + if (offset == (MagickOffsetType) (span-1)) + return(MagickTrue); + return(MagickFalse); +} + +static inline MagickRealType RadiansToDegrees(const MagickRealType radians) +{ + return(180.0*radians/MagickPI); +} + +static inline unsigned char ScaleColor5to8(const unsigned long color) +{ + return((unsigned char) (((color) << 3) | ((color) >> 2))); +} + +static inline unsigned char ScaleColor6to8(const unsigned long color) +{ + return((unsigned char) (((color) << 2) | ((color) >> 4))); +} + +static inline unsigned long ScaleColor8to5(const unsigned char color) +{ + return((unsigned long) (((color) & ~0x07) >> 3)); +} + +static inline unsigned long ScaleColor8to6(const unsigned char color) +{ + return((unsigned long) (((color) & ~0x03) >> 2)); +} + +#if defined(__cplusplus) || defined(c_plusplus) +} +#endif + +#endif diff -Naur pixieplus-0.5.4-orig/app/imageutils.cpp pixieplus-0.5.4/app/imageutils.cpp --- pixieplus-0.5.4-orig/app/imageutils.cpp 2003-02-09 11:56:50.000000000 +0700 +++ pixieplus-0.5.4/app/imageutils.cpp 2007-05-03 03:38:38.000000000 +0800 @@ -23,7 +23,7 @@ #define off_t long long extern "C"{ #include <api.h> -}; +} // in compressedgif.cpp unsigned int WriteCompressedGIFImage(const ImageInfo *image_info, diff -Naur pixieplus-0.5.4-orig/app/main.cpp pixieplus-0.5.4/app/main.cpp --- pixieplus-0.5.4-orig/app/main.cpp 2003-02-09 11:56:50.000000000 +0700 +++ pixieplus-0.5.4/app/main.cpp 2007-05-03 03:38:38.000000000 +0800 @@ -21,7 +21,7 @@ #define off_t long long extern "C"{ #include <api.h> -}; +} /* Signal handlers. We install them for pretty much everything that can diff -Naur pixieplus-0.5.4-orig/app/rightclick.cpp pixieplus-0.5.4/app/rightclick.cpp --- pixieplus-0.5.4-orig/app/rightclick.cpp 2003-02-09 11:56:50.000000000 +0700 +++ pixieplus-0.5.4/app/rightclick.cpp 2007-05-03 03:38:38.000000000 +0800 @@ -220,13 +220,13 @@ idx = -1; } if(idx != -1){ - QStringList itemList(view->itemCatagories(&itemList[idx])); - for(it=catList.begin(), i=1000; it != catList.end(); ++it, ++i){ - if(itemList.findIndex((*it)) == -1) - addMnu->insertItem((*it), i); - else - delMnu->insertItem((*it), i+1000); - } + //QStringList itemList(view->itemCatagories(&itemList[idx])); + //for(it=catList.begin(), i=1000; it != catList.end(); ++it, ++i){ + // if(itemList.findIndex((*it)) == -1) + // addMnu->insertItem((*it), i); + // else + // delMnu->insertItem((*it), i+1000); + //} } else{ for(it=catList.begin(), i=1000; it != catList.end(); ++it, ++i){ diff -Naur pixieplus-0.5.4-orig/app/screengrab.cpp pixieplus-0.5.4/app/screengrab.cpp --- pixieplus-0.5.4-orig/app/screengrab.cpp 2003-02-09 11:56:50.000000000 +0700 +++ pixieplus-0.5.4/app/screengrab.cpp 2007-05-03 03:38:38.000000000 +0800 @@ -125,7 +125,7 @@ while(inLoop) kapp->processEvents(); delete this; -}; +} void KIFScreenGrab::slotCheckIfDelay() { diff -Naur pixieplus-0.5.4-orig/misc/qxcfi.cpp pixieplus-0.5.4/misc/qxcfi.cpp --- pixieplus-0.5.4-orig/misc/qxcfi.cpp 2003-01-20 07:22:48.000000000 +0700 +++ pixieplus-0.5.4/misc/qxcfi.cpp 2007-05-03 03:38:38.000000000 +0800 @@ -1342,7 +1342,7 @@ bool XCFImageFormat::loadProperty ( QDataStream& xcf_io, PropType& type, QByteArray& bytes ) { - xcf_io >> (Q_UINT32)type; + xcf_io >> (Q_UINT32&)type; if ( xcf_io.device()->status() != IO_Ok ) { qDebug( "XCF: read failure on property type" ); -- http://linuxfromscratch.org/mailman/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page