///////////////////////////////////////////////////////////////////////////////
// Compressor.h
// 
//     This compressor class compresses (or decompresses) a graphics image.
///////////////////////////////////////////////////////////////////////////////

// The following preprocessor directives makes sure this header
// only gets included once.

#ifndef COMPRESSOR_HSPC
#define COMPRESSOR_HSPC

// The compressor class uses the Image class and the stream classes
//   Include them here.

#include <iostream.h>
#include "Image.h"

// Define the Compressor class.

class Compressor
{
  public:
    // You may not add any variables or functions to the public
    // portion of this class!  You may not modify anything in the
    // public portion of this class!
  
    Compressor ();   // Default constructor
    ~Compressor ();  // Destructor

    // This routine compresses an image and writes the compressed
    // data to the output stream.

    void compress (Image & source, ostream & out);

    // This routine reads compressed data from the input stream and
    // rebuilds an image from the compressed data.

    Image decompress (istream & in);

    // You may not add any variables or functions to the public
    // portion of this class!  You may not modify anything in the
    // public portion of this class!
  
  private:

    // Add declarations for your object variables here.  If you intend
    // to add a static variable, please see the rules.  Normal variables
    // are OK.


  
    // Add declarations for your helper functions here.


  
};


#endif // COMPRESSOR_HSPC













