home *** CD-ROM | disk | FTP | other *** search
/ Australian Personal Computer 2004 July / APC0407D2.iso / workshop / onlineco / files / ImageMagick-6.0.1-Q16-windows-dll.exe / {app} / include / magick / blob.h < prev    next >
Encoding:
C/C++ Source or Header  |  2004-02-21  |  3.0 KB  |  115 lines

  1. /*
  2.   ImageMagick Binary Large OBjects Methods.
  3. */
  4. #ifndef _MAGICK_BLOB_H
  5. #define _MAGICK_BLOB_H
  6.  
  7. #if defined(__cplusplus) || defined(c_plusplus)
  8. extern "C" {
  9. #endif
  10.  
  11. #include "magick/image.h"
  12. #include "magick/stream.h"
  13.  
  14. typedef enum
  15. {
  16.   UndefinedBlobMode,
  17.   ReadBlobMode,
  18.   ReadBinaryBlobMode,
  19.   WriteBlobMode,
  20.   WriteBinaryBlobMode,
  21.   IOBinaryBlobMode
  22. } BlobMode;
  23.  
  24. typedef enum
  25. {
  26.   ReadMode,
  27.   WriteMode,
  28.   IOMode
  29. } MapMode;
  30.  
  31. typedef int
  32.   *(*BlobFifo)(const Image *,const void *,const size_t);
  33.  
  34. typedef struct _BlobInfo
  35.   BlobInfo;
  36.  
  37. extern MagickExport BlobInfo
  38.   *CloneBlobInfo(const BlobInfo *),
  39.   *ReferenceBlob(BlobInfo *);
  40.  
  41. extern MagickExport char
  42.   *ReadBlobString(Image *,char *);
  43.  
  44. extern MagickExport FILE
  45.   *GetBlobFileHandle(const Image *);
  46.  
  47. extern MagickExport Image
  48.   *BlobToImage(const ImageInfo *,const void *,const size_t,ExceptionInfo *),
  49.   *PingBlob(const ImageInfo *,const void *,const size_t,ExceptionInfo *);
  50.  
  51. extern MagickExport int
  52.   EOFBlob(const Image *),
  53.   ReadBlobByte(Image *),
  54.   SyncBlob(Image *);
  55.  
  56. extern MagickExport MagickOffsetType
  57.   SeekBlob(Image *,const MagickOffsetType,const int),
  58.   TellBlob(const Image *image);
  59.  
  60. extern MagickExport MagickSizeType
  61.   GetBlobSize(const Image *image);
  62.  
  63. extern MagickExport ssize_t
  64.   ReadBlob(Image *,const size_t,unsigned char *),
  65.   WriteBlob(Image *,const size_t,const unsigned char *),
  66.   WriteBlobByte(Image *,const unsigned char),
  67.   WriteBlobLSBLong(Image *,const unsigned long),
  68.   WriteBlobLSBShort(Image *,const unsigned short),
  69.   WriteBlobMSBLong(Image *,const unsigned long),
  70.   WriteBlobMSBShort(Image *,const unsigned short),
  71.   WriteBlobString(Image *,const char *);
  72.  
  73. extern MagickExport StreamHandler
  74.   GetBlobStreamHandler(const Image *);
  75.  
  76. extern MagickExport unsigned char
  77.   *FileToBlob(const char *,size_t *,ExceptionInfo *),
  78.   *GetBlobStreamData(const Image *),
  79.   *ImageToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *),
  80.   *MapBlob(int,const MapMode,const MagickOffsetType,const size_t);
  81.  
  82. extern MagickExport unsigned int
  83.   BlobToFile(char *,const void *,const size_t,ExceptionInfo *),
  84.   GetBlobError(const Image *),
  85.   ImageToFile(Image *,char *,ExceptionInfo *),
  86.   IsBlobExempt(const Image *),
  87.   IsBlobSeekable(const Image *),
  88.   IsBlobTemporary(const Image *),
  89.   OpenBlob(const ImageInfo *,Image *,const BlobMode,ExceptionInfo *),
  90.   UnmapBlob(void *,const size_t);
  91.  
  92. extern MagickExport unsigned long
  93.   ReadBlobLSBLong(Image *),
  94.   ReadBlobMSBLong(Image *);
  95.  
  96. extern MagickExport unsigned short
  97.   ReadBlobLSBShort(Image *),
  98.   ReadBlobMSBShort(Image *);
  99.  
  100. extern MagickExport void
  101.   AttachBlob(BlobInfo *,const void *,const size_t),
  102.   CloseBlob(Image *),
  103.   DestroyBlob(Image *),
  104.   DetachBlob(BlobInfo *),
  105.   GetBlobInfo(BlobInfo *),
  106.   MSBOrderLong(unsigned char *,const size_t),
  107.   MSBOrderShort(unsigned char *,const size_t),
  108.   SetBlobExempt(Image *,const unsigned int);
  109.  
  110. #if defined(__cplusplus) || defined(c_plusplus)
  111. }
  112. #endif
  113.  
  114. #endif
  115.