+
+protected:
+ bool WriteBase(std::string FileName, FileType type);
+
+private:
+ void SwapZone(void* im, int swap, int lgr, int nb);
+
+ bool ReadPixelData(void * destination);
+
+ // For JPEG 8 Bits, body in file gdcmJpeg.cxx
+ bool gdcm_read_JPEG_file (FILE *fp,void * image_buffer);
+ static int gdcm_read_RLE_fragment(char **areaToRead, long lengthToDecode,
+ long uncompressedSegmentSize,FILE *fp);
+ // For JPEG 12 Bits, body in file gdcmJpeg12.cxx
+ bool gdcm_read_JPEG_file12 (FILE *fp,void * image_buffer);
+ // For JPEG 2000, body in file gdcmJpeg2000.cxx
+ bool gdcm_read_JPEG2000_file (FILE *fp,void * image_buffer);
+
+ // For Run Length Encoding (TOCHECK)
+ bool gdcm_read_RLE_file (FILE *fp,void * image_buffer);
+
+// Variables
+ gdcmHeader *Header; // Header to use to load the file
+ bool SelfHeader;
+
+ void* PixelData;
+ size_t lgrTotaleRaw; // Area length to receive the pixels
+ size_t lgrTotale; // Area length to receive the RGB pixels
+ // from Grey Plane + Palette Color
+ int PixelRead; // ==1 if GetImageDataRaw was used
+ // ==0 if GetImageData was used
+ // ==-1 if ImageData never read.
+
+ int Parsed; // weather already parsed
+ std::string OrigFileName; // To avoid file overwrite