Скачиваний:
10
Добавлен:
01.05.2014
Размер:
1.7 Кб
Скачать
// Copyright (C) 1991 - 1999 Rational Software Corporation
#if defined (_MSC_VER) && (_MSC_VER >= 1000)
#pragma once
#endif
#ifndef _INC_TEXTINOVAL_46F50C7B01D4_INCLUDED
#define _INC_TEXTINOVAL_46F50C7B01D4_INCLUDED
//////////////////////////////////////////////////////////////////////////
#include "Oval.h"
#include "Text.h"
//////////////////////////////////////////////////////////////////////////
//текст в овале

class TextInOval 
: public virtual Oval
, public virtual Text
{
private:
    
    TextInOval(float firstRad, float secondRad, std::string content, float x, float y);

    //указатели на созданные тексты в овалах
    
    static list<TextInOval*> _textsInOvals;
public:
	// Virtual draw operation
	
	virtual void Draw(CDC* pDC, CElement* pElement = 0, bool isIdVisible = true);

	//идентификатор типа объекта
	
	virtual int getType() const;

	
	TextInOval();

	
	virtual void Serialize(CArchive& ar);

    //выдает указатель на уже существующий текст в овале, если он имеет заданные 
    //параметры
    //если такого не существует - создает новый
    
    static TextInOval* create( float firstRad = NULL, float secondRad = NULL, std::string content = "", float x = NULL, float y = NULL );

	
    static TextInOval* create(CPoint Start, CPoint End, COLORREF aColor);

	
	virtual ~TextInOval();
    
    //вычисляет площадь фигуры
    
    virtual float Area() const;
protected:
    //вывести состояние текста в овале в поток
    
    virtual std::ostream& speak(std::ostream& os) const;
};



//////////////////////////////////////////////////////////////////////////
#endif /* _INC_TEXTINOVAL_46F50C7B01D4_INCLUDED */
Соседние файлы в папке shapes