//<copyright>
//
// Copyright (c) 1995
// Institute for Information Processing and Computer Supported New Media (IICM),
// Graz University of Technology, Austria.
//
//</copyright>


//<file>
//
//
// Name :       tiffimage.h
//
// Purpose :    Interface to class TiffImage
//
// Created :    04 Jan 95    Bernhard Marschall
// Modified :   04 Jan 95    Bernhard Marschall
// Modified :   03 Aug 95    Bernhard Marschall
//
//
// Description:
// Lots of stuff has been copied from InterViews' tiff.c
//
//</file>

#ifndef harmony_widgets_tiffimage_h
#define harmony_widgets_tiffimage_h

// we need type boolean!
#include <InterViews/enter-scope.h>

#include "libwidgets.h"
#include "rimage.h"

class TiffImpl;


//<class>
//
// Name:       TiffImage
//
// Purpose:    implements loading of TIFF images
//
//
// Public Interface:
//
//
//
// Description:
//
//</class>


class TiffImage : public RasterImage {
public:
  TiffImage(FILE*, const char* fname, Raster*& raster,
            HgRasterCallback* = nil, boolean dither = true);
  virtual ~TiffImage();

  virtual void decode(int numrows);
  virtual void finishDecode();

private:
  TiffImpl* impl_;
};

#endif
