/*------------------------------------------------------------------------------*
 * File Name: ImageControlBase.h												*
 * Creation: CPY 9/12/2005														*
 * Purpose: Image Control in a dialog, general support							*
 * Copyright (c) OriginLab Corp. 2005											*
 * All Rights Reserved															*
 * 																				*
 * Modification Log:															*
 * EJP 2006-03-17 v8.0376 QA70-8187 GET_DATA_VALUES_DIRECT_FROM_IMAGE			*
 * CPY 10/26/06 QA70-9063 DYNAMIC_ERR_MSG_IN_GETN_DIALOGS						*
 *------------------------------------------------------------------------------*/
#ifndef _IMAGE_CONTROL_BASE_H
#define _IMAGE_CONTROL_BASE_H

#include <ocImgLT.h>

/*
#ifndef _OC_IMG_LT_H
struct BITMAPHANDLE;
//class BITMAPHANDLE;
typedef BITMAPHANDLE* pBITMAPHANDLE;
#endif //_OC_IMG_LT_H
*/

#ifndef _OC_IMG_LT_H
	#pragma message("struct forward declared for pBITMAPHANDLE")
	struct struct_LEAD_Bitmap;
	typedef struct_LEAD_Bitmap BITMAPHANDLE;
	typedef BITMAPHANDLE* pBITMAPHANDLE;
#endif //_OC_IMG_LT_H

class ImageControlBase
{
public:	
	ImageControlBase()
	{
	}
	~ImageControlBase()
	{
	}
	// update the display
	virtual void Update(pBITMAPHANDLE pLBmp = NULL) { }
	virtual pBITMAPHANDLE	GetBitmapHandlePtr() { return NULL;}

	/// EJP 2006-03-17 v8.0376 QA70-8187 GET_DATA_VALUES_DIRECT_FROM_IMAGE
	///virtual bool CopyBitmapHandle(pBITMAPHANDLE pLBmp) {return false;}
	virtual pBITMAPHANDLE CopyBitmapHandle() {return NULL;}
	/// end GET_DATA_VALUES_DIRECT_FROM_IMAGE

	virtual int GetImageWidth() {return -1;}
	virtual int GetImageHeight() {return -1;}
	//---- CPY 9/5/06 IMG_DLG_REMOVE_MATRIXOBJ_DEPENDENCY
 	//virtual MatrixObject GetMatrixObject() {MatrixObject junk; return junk;}
 	//virtual bool SetImage(MatrixObject& mo, bool bUpdateMatrixOnDestruct) { return false;}
 	virtual bool SetImage(Image& img) {return false;}
 	//----
 	
 	virtual HWND GetParent() {return NULL;} //---- CPY 10/26/06 QA70-9063 DYNAMIC_ERR_MSG_IN_GETN_DIALOGS
};


#endif //_IMAGE_CONTROL_BASE_H



