]> granicus.if.org Git - imagemagick/blobdiff - coders/braille.c
(no commit message)
[imagemagick] / coders / braille.c
index 91afa1e3c05c971f11345d4f2a69eb76816d2c5d..ec930d6ed0a5b6b9ac5ec949f3d91e7ae6591f79 100644 (file)
@@ -15,7 +15,7 @@
 %                                February 2008                                %
 %                                                                             %
 %                                                                             %
-%  Copyright 1999-2011 ImageMagick Studio LLC, a non-profit organization      %
+%  Copyright 1999-2012 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.  You may  %
 /*
   Include declarations.
 */
-#include "magick/studio.h"
-#include "magick/blob.h"
-#include "magick/blob-private.h"
-#include "magick/cache.h"
-#include "magick/color-private.h"
-#include "magick/colorspace.h"
-#include "magick/constitute.h"
-#include "magick/exception.h"
-#include "magick/exception-private.h"
-#include "magick/image.h"
-#include "magick/image-private.h"
-#include "magick/list.h"
-#include "magick/magick.h"
-#include "magick/memory_.h"
-#include "magick/module.h"
-#include "magick/monitor.h"
-#include "magick/monitor-private.h"
-#include "magick/property.h"
-#include "magick/quantize.h"
-#include "magick/static.h"
-#include "magick/string_.h"
-#include "magick/utility.h"
+#include "MagickCore/studio.h"
+#include "MagickCore/attribute.h"
+#include "MagickCore/blob.h"
+#include "MagickCore/blob-private.h"
+#include "MagickCore/cache.h"
+#include "MagickCore/color-private.h"
+#include "MagickCore/colorspace.h"
+#include "MagickCore/constitute.h"
+#include "MagickCore/exception.h"
+#include "MagickCore/exception-private.h"
+#include "MagickCore/image.h"
+#include "MagickCore/image-private.h"
+#include "MagickCore/list.h"
+#include "MagickCore/magick.h"
+#include "MagickCore/memory_.h"
+#include "MagickCore/module.h"
+#include "MagickCore/monitor.h"
+#include "MagickCore/monitor-private.h"
+#include "MagickCore/pixel-accessor.h"
+#include "MagickCore/property.h"
+#include "MagickCore/quantize.h"
+#include "MagickCore/static.h"
+#include "MagickCore/string_.h"
+#include "MagickCore/utility.h"
 \f
 /*
   Forward declarations.
 */
 static MagickBooleanType
-  WriteBRAILLEImage(const ImageInfo *,Image *);
+  WriteBRAILLEImage(const ImageInfo *,Image *,ExceptionInfo *);
 \f
 /*
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -157,7 +159,7 @@ ModuleExport void UnregisterBRAILLEImage(void)
 %  The format of the WriteBRAILLEImage method is:
 %
 %      MagickBooleanType WriteBRAILLEImage(const ImageInfo *image_info,
-%        Image *image)
+%        Image *image,ExceptionInfo *exception)
 %
 %  A description of each parameter follows.
 %
@@ -165,9 +167,11 @@ ModuleExport void UnregisterBRAILLEImage(void)
 %
 %    o image:  The image.
 %
+%    o exception: return any errors or warnings in this structure.
+%
 */
 static MagickBooleanType WriteBRAILLEImage(const ImageInfo *image_info,
-  Image *image)
+  Image *image,ExceptionInfo *exception)
 {
   char
     buffer[MaxTextExtent];
@@ -175,9 +179,6 @@ static MagickBooleanType WriteBRAILLEImage(const ImageInfo *image_info,
   const char
     *value;
 
-  IndexPacket
-    polarity;
-
   int
     unicode = 0,
     iso_11548_1 = 0;
@@ -185,10 +186,10 @@ static MagickBooleanType WriteBRAILLEImage(const ImageInfo *image_info,
   MagickBooleanType
     status;
 
-  register const IndexPacket
-    *indexes;
+  Quantum
+    polarity;
 
-  register const PixelPacket
+  register const Quantum
     *p;
 
   register ssize_t
@@ -216,55 +217,56 @@ static MagickBooleanType WriteBRAILLEImage(const ImageInfo *image_info,
       cell_height=3;
   if (image->debug != MagickFalse)
     (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",image->filename);
-  status=OpenBlob(image_info,image,WriteBinaryBlobMode,&image->exception);
+  assert(exception != (ExceptionInfo *) NULL);
+  assert(exception->signature == MagickSignature);
+  status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
   if (status == MagickFalse)
     return(status);
   if (!iso_11548_1)
     {
-      value=GetImageProperty(image,"label");
+      value=GetImageProperty(image,"label",exception);
       if (value != (const char *) NULL)
         {
-          (void) FormatMagickString(buffer,MaxTextExtent,"Title: %s\n", value);
+          (void) FormatLocaleString(buffer,MaxTextExtent,"Title: %s\n", value);
           (void) WriteBlobString(image,buffer);
         }
       if (image->page.x != 0)
         {
-          (void) FormatMagickString(buffer,MaxTextExtent,"X: %.20g\n",(double) 
+          (void) FormatLocaleString(buffer,MaxTextExtent,"X: %.20g\n",(double) 
             image->page.x);
           (void) WriteBlobString(image,buffer);
         }
       if (image->page.y != 0)
         {
-          (void) FormatMagickString(buffer,MaxTextExtent,"Y: %.20g\n",(double) 
+          (void) FormatLocaleString(buffer,MaxTextExtent,"Y: %.20g\n",(double) 
             image->page.y);
           (void) WriteBlobString(image,buffer);
         }
-      (void) FormatMagickString(buffer,MaxTextExtent,"Width: %.20g\n",(double)
+      (void) FormatLocaleString(buffer,MaxTextExtent,"Width: %.20g\n",(double)
         (image->columns+(image->columns % 2)));
       (void) WriteBlobString(image,buffer);
-      (void) FormatMagickString(buffer,MaxTextExtent,"Height: %.20g\n",(double)
+      (void) FormatLocaleString(buffer,MaxTextExtent,"Height: %.20g\n",(double)
         image->rows);
       (void) WriteBlobString(image,buffer);
       (void) WriteBlobString(image,"\n");
     }
-  (void) SetImageType(image,BilevelType);
+  (void) SetImageType(image,BilevelType,exception);
   polarity = 0;
   if (image->storage_class == PseudoClass) {
-    polarity=(IndexPacket) (PixelIntensityToQuantum(&image->colormap[0]) >=
+    polarity=(Quantum) (GetPixelInfoIntensity(&image->colormap[0]) >=
       (Quantum) (QuantumRange/2));
     if (image->colors == 2)
-      polarity=(IndexPacket) (PixelIntensityToQuantum(&image->colormap[0]) >=
-         PixelIntensityToQuantum(&image->colormap[1]));
+      polarity=(Quantum) (GetPixelInfoIntensity(&image->colormap[0]) >=
+        GetPixelInfoIntensity(&image->colormap[1]));
   }
   for (y=0; y < (ssize_t) image->rows; y+=(ssize_t) cell_height)
   {
     if ((y+cell_height) > image->rows)
       cell_height = (size_t) (image->rows-y);
 
-    p=GetVirtualPixels(image,0,y,image->columns,cell_height,&image->exception);
-    if (p == (const PixelPacket *) NULL)
+    p=GetVirtualPixels(image,0,y,image->columns,cell_height,exception);
+    if (p == (const Quantum *) NULL)
       break;
-    indexes=GetVirtualIndexQueue(image);
     for (x=0; x < (ssize_t) image->columns; x+=2)
     {
       unsigned char cell = 0;
@@ -274,9 +276,9 @@ static MagickBooleanType WriteBRAILLEImage(const ImageInfo *image_info,
       {
 #define do_cell(dx,dy,bit) do { \
         if (image->storage_class == PseudoClass) \
-          cell |= (GetIndexPixelComponent(indexes+x+dx+dy*image->columns) == polarity) << bit; \
+          cell |= (GetPixelIndex(image,p+x+dx+dy*image->columns) == polarity) << bit; \
         else \
-          cell |= (GetGreenPixelComponent(p+x+dx+dy*image->columns) == 0) << bit; \
+          cell |= (GetPixelGreen(image,p+x+dx+dy*image->columns) == 0) << bit; \
 } while (0) 
 
         do_cell(0,0,0);