// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __javax_imageio_plugins_jpeg_JPEGImageWriteParam__
#define __javax_imageio_plugins_jpeg_JPEGImageWriteParam__

#pragma interface

#include <javax/imageio/ImageWriteParam.h>
#include <gcj/array.h>

extern "Java"
{
  namespace javax
  {
    namespace imageio
    {
      namespace plugins
      {
        namespace jpeg
        {
            class JPEGHuffmanTable;
            class JPEGImageWriteParam;
            class JPEGQTable;
        }
      }
    }
  }
}

class javax::imageio::plugins::jpeg::JPEGImageWriteParam : public ::javax::imageio::ImageWriteParam
{

public:
  JPEGImageWriteParam(::java::util::Locale *);
  virtual void unsetCompression();
  virtual jboolean isCompressionLossless();
  virtual JArray< ::java::lang::String * > * getCompressionQualityDescriptions();
  virtual JArray< jfloat > * getCompressionQualityValues();
  virtual jboolean areTablesSet();
  virtual void setEncodeTables(JArray< ::javax::imageio::plugins::jpeg::JPEGQTable * > *, JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > *, JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > *);
  virtual void unsetEncodeTables();
  virtual JArray< ::javax::imageio::plugins::jpeg::JPEGQTable * > * getQTables();
  virtual JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * getDCHuffmanTables();
  virtual JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * getACHuffmanTables();
  virtual void setOptimizeHuffmanTables(jboolean);
  virtual jboolean getOptimizeHuffmanTables();
private:
  JArray< ::javax::imageio::plugins::jpeg::JPEGQTable * > * __attribute__((aligned(__alignof__( ::javax::imageio::ImageWriteParam)))) qTables;
  JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * DCHuffmanTables;
  JArray< ::javax::imageio::plugins::jpeg::JPEGHuffmanTable * > * ACHuffmanTables;
  jboolean optimize;
  JArray< ::java::lang::String * > * compressionQualityDescriptions;
  JArray< jfloat > * compressionQualityValues;
  ::java::util::ResourceBundle * messages;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_imageio_plugins_jpeg_JPEGImageWriteParam__