Скачиваний:
10
Добавлен:
01.05.2014
Размер:
1.51 Кб
Скачать
// TextInTriangle.h: interface for the TextInTriangle class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(TEXTINTRIANGLE_H)
#define TEXTINTRIANGLE_H

#include "Text.h"
#include "Triangle.h"
#include "OurConstants.h"
#include "utils.h"

class TextInTriangle: virtual public Text, virtual public Triangle{
	private:
	    static unsigned long int count;

	    static unsigned long int total;

		const unsigned long int id;

		void buildEnclosingRectangle();

	public:
		TextInTriangle();

		TextInTriangle(Triangle* triangle, string text, COLORREF aColor = BLACK);

		TextInTriangle(CPoint p1, CPoint p2, CPoint p3, string text, COLORREF aColor = BLACK);

		TextInTriangle(const TextInTriangle* triangle);

		TextInTriangle(const TextInTriangle& triangle);

		virtual ~TextInTriangle();

		ostream& print(ostream& os) const;

		string toString() const;

		TextInTriangle& operator= (const TextInTriangle& o);

		int operator==(const TextInTriangle& o) const;

		void Move(CSize& aSize);  // Move an element

		CRect GetBoundRect();

		virtual void Draw(CDC* pDC, CElement* pElement=0, string key = "");

		unsigned long int getObjectId() const{
			return id;
		}

		static unsigned long int getNumberOfObjects(){ //const
			return count;
		}

		int hashCode() const{
			return buildHashCode(toString());
		}

		virtual CArchive& save(CArchive& ar);

		virtual CArchive& load(CArchive& ar);
};

#endif 
Соседние файлы в папке Sketcher05