// Copyright (C) 1991 - 1999 Rational Software Corporation

#if defined (_MSC_VER) && (_MSC_VER >= 1000)
#pragma once
#endif
#ifndef _INC_TEXT_47091CD5005D_INCLUDED
#define _INC_TEXT_47091CD5005D_INCLUDED

#include "Figure.h"

#include <iostream.h>

class ostream;

//##ModelId=47091CD5005D
class Text 
: virtual public Figure
{
public:
	//##ModelId=470A459400BB
	Text(const Text& orig);

	//##ModelId=470A3EA602EE
	Text& operator+(const Text & txt   );

	//##ModelId=470A3C0F037B
	friend ostream& operator<<(ostream& o, const Text& rhs) {
		char*txt = rhs.getText();
		o <<"Text: ID = " << rhs.ID << " ( " << rhs.startX << " , " << rhs.startY  << " ) " << txt;
		delete txt;
		return o;
	};

	//##ModelId=470A2E39031C
	void draw();

	//##ModelId=472F625A009C
	double area();

	//##ModelId=472F625A00BB
	void moveTo(double newX, double newY);

	//##ModelId=470A15AA03B9
	virtual ~Text();

	//##ModelId=4709256800AB
	Text(char* txt, double startX, double startY);

	//##ModelId=470924BF01B5
	setText(char* txt);

	//##ModelId=470925300203
	char* getText() const;

	virtual void writeIn(ostream& o) const;

private:
	//##ModelId=472F625A0196
	double startX;

	//##ModelId=472F625A0232
	double startY;
	
	//##ModelId=470A2A86032C
	static long count_ID;

	//##ModelId=470A2A8B0186
	long ID;

	//##ModelId=47092C5702CE
	char* text;

};

#endif /* _INC_TEXT_47091CD5005D_INCLUDED */
Соседние файлы в папке LAB1_CONSOLE - final