Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

xyvtext.h

Go to the documentation of this file.
00001 //* Módulo   : xyvtext.h                                                         
00002 // _Desc_    : Declara classe XYVectorText.
00003 // _Autores_ : Carlos Henrique Levy e Jaudênia Cavalcante.                       
00004 // _Data_    : 20 jun 97.                                                           
00005 
00006 #ifndef __XYVECTORTEXT_H
00007 #define __XYVECTORTEXT_H
00008 
00009 #include "xytext.h"
00010 
00011 //* XYVectorText 
00012 //    Classe especializada responsável pelo desenho de textos vetoriais.     
00013 class XYVectorText : public XYText
00014 {
00015    public:
00016 
00017  //* Construtores e Destrutor
00018    //* Construtor A
00019    XYVectorText (
00020         const char* text,    // texto a ser desenhado
00021         // posição em relação a área ocupada pelo gráfico
00022         XYCoordinate x,      // coordenada x
00023         XYCoordinate y,      // coordenada y
00024         long color,          // cor do texto
00025         double height,       // altura do texto, em coord. normalizadas
00026         double width,        // altura do texto, em coord. normalizadas
00027         Typeface font,       // tipo de fonte usada
00028         Style style,         // estilo de escrita
00029         Alignment alignment,     // alinhamento (rosa dos ventos)
00030         Orientation orientation, // orientação do texto
00031         xybool underline = xyfalse,  // sublinhado (xytrue or xyfalse)
00032         xybool visible = xytrue);    // visibilidade
00033 
00034    //* Construtor B
00035    XYVectorText (
00036         const char* text,     // texto a ser desenhado
00037         // posição em relação a área ocupada pelo gráfico
00038         XYCoordinate x,       // coordenada x
00039         XYCoordinate y,       // coordenada y
00040         xybool visible = xytrue); // visibilidade
00041 
00042    //* Construtor C
00043    XYVectorText (
00044         const char* text,  // texto a ser desenhado
00045         long color,        // cor do texto
00046         double height,     // altura do texto, em coord. normalizadas
00047         double width,      // altura do texto, em coord. normalizadas
00048         Typeface font,     // tipo de fonte usada
00049         Style style,       // estilo de escrita
00050         Alignment alignment,     // alinhamento (rosa dos ventos)
00051         Orientation orientation, // orientação do texto
00052         xybool underline = xyfalse,  // sublinhado (xytrue or xyfalse)
00053         xybool visible = xytrue);    // visibilidade
00054 
00055    //* Construtor D (atributos)
00056    XYVectorText (
00057         long color,        // cor
00058         double height,     // altura do texto, em coord. normalizadas
00059         double width,      // altura do texto, em coord. normalizadas
00060         Typeface font,     // tipo de fonte usada
00061         Style style,       // estilo de escrita
00062         Alignment alignment,     // alinhamento (rosa dos ventos)
00063         Orientation orientation, // orientação do texto
00064         xybool underline = xyfalse,  // confirma ou não sublinhado
00065         xybool visible = xytrue);    // visibilidade
00066 
00067    //* Destrutor da classe XYVectorText
00068    virtual ~XYVectorText (void);
00069 
00070  //* Define/Consulta atributos
00071    //* Define a altura do texto, em coordenadas normalizadas
00072    virtual void height (double s);
00073    //* Consulta a altura do texto
00074    virtual double height (void) const;
00075 
00076    //* Define a largura do texto, em coordenadas normalizadas
00077    virtual void width (double s);
00078    //* Consulta a largura do texto
00079    virtual double width (void) const;
00080 
00081    //* Define a matriz de tranformacao do texto
00082    virtual void matrix (double *s);
00083    //* Acumula a matriz de tranformacao do texto
00084    virtual void accmatrix (double *s);
00085    //* Consulta a matriz de tranformacao do texto
00086    virtual double *matrix (void) const;
00087 
00088  //* Métodos de Draw
00089    //* Desenha um texto
00090    virtual void draw (void);
00091    //* Desenha um texto numa região
00092    virtual void draw (int xmin, int ymin, int xmax, int ymax) const;
00093 
00094  //* BoundingBox
00095    //* Retorna menor retângulo que contém o texto, suas coordenadas são dadas em pixel
00096    virtual void boundingBox (int& bxmin, int& bymin, int& bxmax, int& bymax) const;
00097 
00098    private:
00099 
00100    double _height;        // altura do texto, em coord. normalizadas
00101    double _width;         // largura do texto, em coord. normalizadas
00102    double *_tmatrix;      // matriz de transformacao
00103 };
00104 
00105 #endif

XY
Tecgraf / PUC-Rio - Computer Graphics Technology Group