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