Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторная работа 2 / Sketcher02 / shapes / Text
.h// Copyright (C) 1991 - 1999 Rational Software Corporation
//////////////////////////////////////////////////////////////////////////
#if defined (_MSC_VER) && (_MSC_VER >= 1000)
#pragma once
#endif
#ifndef _INC_TEXT_46F50C7401C5_INCLUDED
#define _INC_TEXT_46F50C7401C5_INCLUDED
//////////////////////////////////////////////////////////////////////////
#include <string>
#include <list>
#include "Shape.h"
//////////////////////////////////////////////////////////////////////////
class ostream;
using std::list;
//////////////////////////////////////////////////////////////////////////
//текст
class Text
: public virtual Shape
{
private:
//указатели на созданные тексты
static list<Text*> _texts;
protected:
Text(std::string content, float x, float y);
//содержимое текста
std::string _content;
//вывести состояние прямоугольника в поток
virtual std::ostream& speak(std::ostream& os) const;
public:
// Virtual draw operation
virtual void Draw(CDC* pDC, CElement* pElement = 0, bool isIdVisible = true);
//идентификатор типа объекта
virtual int getType() const;
Text();
virtual void Serialize(CArchive& ar);
const std::string& get__content() const;
void set__content(std::string& value);
//выдает указатель на уже существующий текст, если он имеет заданные параметры
//если такого не существует - создает новый
static Text* create(std::string content = "", float x = NULL, float y = NULL);
static Text* create(CPoint Start, CPoint End, COLORREF aColor);
virtual ~Text();
//вычисляет площадь фигуры
virtual float Area() const;
};
//////////////////////////////////////////////////////////////////////////
#endif /* _INC_TEXT_46F50C7401C5_INCLUDED */