// Annotation.h: interface for the CAnnotation class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_ANNOTATION_H__DE65EA5D_AEE5_456C_97DD_9BEA04E3ACE2__INCLUDED_)
#define AFX_ANNOTATION_H__DE65EA5D_AEE5_456C_97DD_9BEA04E3ACE2__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <fstream>		// rqd. for serialization
using namespace std;	// rqd. for ofstream

class CAnnotation  
{
public:
	void ReadAnnotationDataFromFile(ifstream &fin);
	void WriteAnnotationDataToFile(ofstream &fout);
	const CFont &GetAnnotationFontCopy(void) const;
	CAnnotation(const CAnnotation &an);
	CSize GetOutputTextSize(void) const;
	CFont &GetAnnotationFont(void);
	void CreateAnnotationFont(CFont &fAnnotationFont) const;
	void DrawAnnotation(CDC *pDC);
	bool FormatAnnotation(CPoint point);
	void SetStyle(CString style);
	CString GetStyle(void) const;
	void SetStringFont(CString font);
	CString GetStringFont(void) const;
	void SetColor(CString color);
	CString GetColor(void) const;
	void SetStringAnnotation(CString an);
	CString GetStringAnnotation(void) const;
	void SetPosition(CPoint point);
	CPoint GetPosition(void) const;
	void SetSize(int size);
	int GetSize(void) const;
	CAnnotation();
	virtual ~CAnnotation();

private:
	CSize m_sOutputTextSize;
	CFont m_fAnnotationFont;
	int m_iSize;
	CPoint m_ptPosition;
	CString m_strAnnotation;
	CString m_strColor;
	CString m_strFont;
	CString m_strStyle;
};

#endif // !defined(AFX_ANNOTATION_H__DE65EA5D_AEE5_456C_97DD_9BEA04E3ACE2__INCLUDED_)
