#if !defined(AFX_IMAGE_H__A00B80D6_9201_445A_99FD_B7A34599A8B5__INCLUDED_)
#define AFX_IMAGE_H__A00B80D6_9201_445A_99FD_B7A34599A8B5__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++

// NOTE: Do not modify the contents of this file.  If this class is regenerated by
//  Microsoft Visual C++, your modifications will be overwritten.


// Dispatch interfaces referenced by this interface
class CCallback;
class CPicture;
class CLabels;
class CExtents;

/////////////////////////////////////////////////////////////////////////////
// CGISImage wrapper class



class CGISImage : public COleDispatchDriver
{
public:
	CGISImage() {}		// Calls COleDispatchDriver default constructor
	CGISImage(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
	CGISImage(const CGISImage& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}

// Attributes
public:

// Operations
public:
	BOOL Open(LPCTSTR ImageFileName, long fileType, BOOL InRam, LPDISPATCH cBack);
	BOOL Save(LPCTSTR ImageFileName, BOOL WriteWorldFile, long fileType, LPDISPATCH cBack);
	BOOL CreateNew(long NewWidth, long NewHeight);
	BOOL Close();
	BOOL Clear(unsigned long CanvasColor, LPDISPATCH cBack);
	BOOL GetRow(long Row, long* Vals);
	long GetWidth();
	long GetHeight();
	double GetYllCenter();
	void SetYllCenter(double newValue);
	double GetXllCenter();
	void SetXllCenter(double newValue);
	double GetDY();
	void SetDY(double newValue);
	double GetDX();
	void SetDX(double newValue);
	long GetValue(long Row, long col);
	void SetValue(long Row, long col, long nNewValue);
	BOOL GetIsInRam();
	unsigned long GetTransparencyColor();
	void SetTransparencyColor(unsigned long newValue);
	BOOL GetUseTransparencyColor();
	void SetUseTransparencyColor(BOOL bNewValue);
	long GetLastErrorCode();
	CString GetErrorMsg(long ErrorCode);
	CString GetCdlgFilter();
	CCallback GetGlobalCallback();
	void SetGlobalCallback(LPDISPATCH newValue);
	CString GetKey();
	void SetKey(LPCTSTR lpszNewValue);
	long GetImageType();
	CPicture GetPicture();
	void SetRefPicture(LPDISPATCH newValue);
	CString GetFilename();
	BOOL GetImageBitsDC(long hdc);
	BOOL SetImageBitsDC(long hdc);
	BOOL SetProjection(LPCTSTR Proj4);
	CString GetProjection();
	long GetOriginalWidth();
	long GetOriginalHeight();
	BOOL Resource(LPCTSTR newImgPath);
	BOOL _pushSchemetkRaster(LPDISPATCH cScheme);
	BOOL GetAllowHillshade();
	void SetAllowHillshade(BOOL bNewValue);
	BOOL GetSetToGrey();
	void SetSetToGrey(BOOL bNewValue);
	BOOL GetUseHistogram();
	void SetUseHistogram(BOOL bNewValue);
	BOOL GetHasColorTable();
	CString GetPaletteInterpretation();
	long GetBufferSize();
	void SetBufferSize(long nNewValue);
	long GetNoBands();
	long GetImageColorScheme();
	void SetImageColorScheme(long nNewValue);
	long GetDrawingMethod();
	void SetDrawingMethod(long nNewValue);
	// method 'BuildOverviews' not emitted because of invalid return type or parameter type
	BOOL GetClearGDALCache();
	void SetClearGDALCache(BOOL bNewValue);
	double GetTransparencyPercent();
	void SetTransparencyPercent(double newValue);
	unsigned long GetTransparencyColor2();
	void SetTransparencyColor2(unsigned long newValue);
	long GetDownsamplingMode();
	void SetDownsamplingMode(long nNewValue);
	long GetUpsamplingMode();
	void SetUpsamplingMode(long nNewValue);
	CLabels GetLabels();
	void SetLabels(LPDISPATCH newValue);
	CExtents GetExtents();
	void ProjectionToImage(double projX, double projY, long* ImageX, long* ImageY);
	void ImageToProjection(long ImageX, long ImageY, double* projX, double* projY);
	void ProjectionToBuffer(double projX, double projY, long* BufferX, long* BufferY);
	void BufferToProjection(long BufferX, long BufferY, double* projX, double* projY);
	BOOL GetCanUseGrouping();
	void SetCanUseGrouping(BOOL bNewValue);
	double GetOriginalXllCenter();
	void SetOriginalXllCenter(double newValue);
	double GetOriginalYllCenter();
	void SetOriginalYllCenter(double newValue);
	double GetOriginalDX();
	void SetOriginalDX(double newValue);
	double GetOriginalDY();
	void SetOriginalDY(double newValue);
	long GetUniqueColors(double MaxBufferSizeMB, VARIANT* Colors, VARIANT* Frequencies);
	void SetNoDataValue(double Value, BOOL* Result);
	long GetNumOverviews();
	BOOL LoadBuffer(double maxBufferSize);
	long GetSourceType();
	CString Serialize(BOOL SerializePixels);
	void Deserialize(LPCTSTR newVal);
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_IMAGE_H__A00B80D6_9201_445A_99FD_B7A34599A8B5__INCLUDED_)