Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа 31 / oot / OLEApp / TextInTriangle
.h// 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
Соседние файлы в папке OLEApp