/*
* grfmt_imageio.h
*
*
* Created by Morgan Conbere on 5/17/07.
*
*/
#ifndef _GRFMT_IMAGEIO_H_
#define _GRFMT_IMAGEIO_H_
#ifdef HAVE_IMAGEIO
#include "grfmt_base.h"
#include <ApplicationServices/ApplicationServices.h>
class GrFmtImageIOReader : public GrFmtReader
{
public:
GrFmtImageIOReader( const char* filename );
~GrFmtImageIOReader();
bool ReadData( uchar* data, int step, int color );
bool ReadHeader();
void Close();
protected:
CGImageRef imageRef;
};
class GrFmtImageIOWriter : public GrFmtWriter
{
public:
GrFmtImageIOWriter( const char* filename );
~GrFmtImageIOWriter();
bool WriteImage( const uchar* data, int step,
int width, int height, int depth, int channels );
};
// ImageIO filter factory
class GrFmtImageIO :public GrFmtFilterFactory
{
public:
GrFmtImageIO();
~GrFmtImageIO();
bool CheckFile( const char* filename );
GrFmtReader* NewReader( const char* filename );
GrFmtWriter* NewWriter( const char* filename );
};
#endif/*HAVE_IMAGEIO*/
#endif/*_GRFMT_IMAGEIO_H_*/