1 2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- 3 4 #ifndef __gnu_javax_imageio_jpeg_HuffmanTable__ 5 #define __gnu_javax_imageio_jpeg_HuffmanTable__ 6 7 #pragma interface 8 9 #include <java/lang/Object.h> 10 #include <gcj/array.h> 11 12 extern "Java" 13 { 14 namespace gnu 15 { 16 namespace javax 17 { 18 namespace imageio 19 { 20 namespace jpeg 21 { 22 class HuffmanTable; 23 class JPEGImageInputStream; 24 } 25 } 26 } 27 } 28 namespace javax 29 { 30 namespace imageio 31 { 32 namespace plugins 33 { 34 namespace jpeg 35 { 36 class JPEGHuffmanTable; 37 } 38 } 39 } 40 } 41 } 42 43 class gnu::javax::imageio::jpeg::HuffmanTable : public ::java::lang::Object 44 { 45 46 public: 47 HuffmanTable(::javax::imageio::plugins::jpeg::JPEGHuffmanTable *); 48 private: 49 void generateSizeTable(); 50 void generateCodeTable(); 51 void generateDecoderTables(); 52 public: 53 virtual void orderCodes(jboolean); 54 static jint extend(jint, jint); 55 virtual jint decode(::gnu::javax::imageio::jpeg::JPEGImageInputStream *); 56 static const jint HUFFMAN_MAX_TABLES = 4; 57 private: 58 JArray< jshort > * __attribute__((aligned(__alignof__( ::java::lang::Object)))) huffcode; 59 JArray< jshort > * huffsize; 60 JArray< jshort > * EHUFCO; 61 JArray< jshort > * EHUFSI; 62 JArray< jshort > * valptr; 63 JArray< jshort > * mincode; 64 JArray< jshort > * maxcode; 65 JArray< jshort > * huffval; 66 JArray< jshort > * bits; 67 public: // actually package-private 68 static jbyte JPEG_DC_TABLE; 69 static jbyte JPEG_AC_TABLE; 70 private: 71 jshort lastk; 72 public: 73 static ::java::lang::Class class$; 74 }; 75 76 #endif // __gnu_javax_imageio_jpeg_HuffmanTable__ 77