// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- #ifndef __gnu_javax_imageio_jpeg_JPEGDecoder__ #define __gnu_javax_imageio_jpeg_JPEGDecoder__ #pragma interface #include #include extern "Java" { namespace gnu { namespace javax { namespace imageio { namespace jpeg { class JPEGDecoder; class JPEGImageInputStream; } } } } namespace java { namespace awt { namespace image { class BufferedImage; } } } namespace javax { namespace imageio { namespace plugins { namespace jpeg { class JPEGHuffmanTable; class JPEGQTable; } } namespace stream { class ImageInputStream; } } } } class gnu::javax::imageio::jpeg::JPEGDecoder : public ::java::lang::Object { public: virtual jint getHeight(); virtual jint getWidth(); JPEGDecoder(::javax::imageio::stream::ImageInputStream *); virtual void decode(); private: void decodeJFIFExtension(); public: virtual ::java::awt::image::BufferedImage * getImage(); public: // actually package-private jbyte __attribute__((aligned(__alignof__( ::java::lang::Object)))) majorVersion; jbyte minorVersion; jbyte units; jshort Xdensity; jshort Ydensity; jbyte Xthumbnail; jbyte Ythumbnail; JArray< jbyte > * thumbnail; ::java::awt::image::BufferedImage * image; jint width; jint height; jbyte marker; public: static const jbyte MAJOR_VERSION = 1; static const jbyte MINOR_VERSION = 2; static const jshort JFIF_FIXED_LENGTH = 16; static const jshort JFXX_FIXED_LENGTH = 8; private: ::gnu::javax::imageio::jpeg::JPEGImageInputStream * jpegStream; public: // actually package-private ::java::util::ArrayList * jpegFrames; JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * dcTables; JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * acTables; JArray< ::javax::imageio::plugins::jpeg::JPEGQTable * > * qTables; public: static ::java::lang::Class class$; }; #endif // __gnu_javax_imageio_jpeg_JPEGDecoder__