+ // For JPEG 8 Bits, body in file gdcmJpeg.cxx
+ bool gdcm_read_JPEG_file (FILE* fp, void* image_buffer);
+ bool gdcm_write_JPEG_file (FILE* fp, void* image_buffer,
+ int image_width, int image_heigh,
+ int quality);
+
+ // For JPEG 12 Bits, body in file gdcmJpeg12.cxx
+ bool gdcm_read_JPEG_file12 (FILE* fp, void* image_buffer);
+ bool gdcm_write_JPEG_file12 (FILE* fp, void* image_buffer,
+ int image_width, int image_height,
+ int quality);
+
+ // For JPEG 2000, body in file gdcmJpeg2000.cxx
+ bool gdcm_read_JPEG2000_file (FILE* fp, void* image_buffer);
+
+ // For Run Length Encoding
+ bool gdcm_read_RLE_file (FILE* fp, void* image_buffer);
+// FIXME : *sure* it's NOT static (C++)
+// (would be static in C, or embedded in ADA)
+// It's NOT a method, but a not user intended fonction.
+// How do we write that in C++ ?)
+ static int gdcm_read_RLE_fragment(char **areaToRead, long lengthToDecode,
+ long uncompressedSegmentSize, FILE* fp);
+
+ void SaveInitialValues(); // will belong to the future gdcmPixelData class
+ void RestoreInitialValues(); // will belong to the future gdcmPixelData class
+ void DeleteInitialValues(); // will belong to the future gdcmPixelData class
+
+// members variables:
+
+ /// \brief Header to use to load the file
+ gdcmHeader *Header;
+
+ /// \brief Whether the underlying \ref gdcmHeader was loaded by
+ /// the constructor or passed to the constructor. When false
+ /// the destructor is in charge of deletion.
+ bool SelfHeader;
+
+ /// wether already parsed
+ bool Parsed;
+
+//
+// --------------- Will be moved to a gdcmPixelData class
+//
+
+ /// \brief to hold the Pixels (when read)
+ uint8_t* Pixel_Data; // (was PixelData)
+
+ /// \brief Size (in bytes) of required memory to hold the Gray Level pixels
+ /// represented in this file. This is used when the user DOESN'T want
+ /// the RGB pixels image when it's stored as a PALETTE COLOR image
+ size_t ImageDataSizeRaw;