Desc : Declara classe XYText.
Autores : Carlos Henrique Levy e Jaudênia Cavalcante.
Data : 15 fev 96.
Classe abstrata que encapsula a primitiva de texto do CD. Possui todos
os atributos que o CD oferece mais um atributo de orientação de escrita
que pode ser horizontal, vertical de cima para baixo ou de baixo
para cima.
class XYText : public XYObject
enum Orientation {
vertTopBot = -1,
horizontal,
vertBotTop
};
enum Alignment {
north,
south,
east,
west,
northEast,
northWest,
southEast,
southWest,
center,
baseLeft,
baseCenter,
baseRight,
leftBase = baseLeft,
centerBase = baseCenter,
rightBase = baseRight
};
enum Typeface {
common,
timesRoman,
courier,
helvetica
};
enum Style {
plain,
bold,
italic,
boldItalic,
italicBold = boldItalic
};
Construtores e Destrutor
XYText (
const char* text, // texto a ser desenhado
// posição em relação a área ocupada pelo gráfico
XYCoordinate x, // coordenada x
XYCoordinate y, // coordenada y
long color, // cor do texto
Typeface font, // tipo de fonte usada
Style style, // estilo de escrita
Alignment alignment, // alinhamento (rosa dos ventos)
Orientation orientation, // orientação do texto
bool underline = false, // sublinhado (true or false)
bool visible = true); // visibilidade
XYText (
const char* text, // texto a ser desenhado
// posição em relação a área ocupada pelo gráfico
XYCoordinate x, // coordenada x
XYCoordinate y, // coordenada y
bool visible = true); // visibilidade
XYText (
const char* text, // texto a ser desenhado
long color, // cor do texto
Typeface font, // tipo de fonte usada
Style style, // estilo de escrita
Alignment alignment, // alinhamento (rosa dos ventos)
Orientation orientation, // orientação do texto
bool underline = false, // sublinhado (true or false)
bool visible = true); // visibilidade
XYText (
long color, // cor
Typeface font, // tipo de fonte usada
Style style, // estilo de escrita
Alignment alignment, // alinhamento (rosa dos ventos)
Orientation orientation, // orientação do texto
bool underline = false, // confirma ou não sublinhado
bool visible = true); // visibilidade
virtual ~XYText (void);
Define/Consulta atributos
virtual void color (long c);
virtual long color (void) const;
virtual void font (Typeface f);
virtual int font (void) const;
virtual void style (Style sl);
virtual int style (void) const;
virtual void align (Alignment a);
virtual int align (void) const;
virtual void orientation (Orientation o);
virtual int orientation (void) const;
virtual void text (const char* s);
virtual char* text (void) const;
virtual void underline (bool u);
virtual bool underline (void) const;
Operadores sobrecarregados
virtual void operator= (const XYText &t);
Métodos de Pick
virtual bool pick (int px, int py);
virtual bool fence (int x0, int y0, int x1, int y1);
Métodos de Draw
virtual void draw (void) = 0;
virtual void draw (int xmin, int ymin, int xmax, int ymax) const = 0;
BoundingBox
virtual void boundingBox (int& bxmin, int& bymin, int& bxmax, int& bymax) const = 0;