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

xymcaln.h

Go to the documentation of this file.
00001 //* Módulo   : xymcaln.h                                                         
00002 // _Desc_    : Declara classe XYCartesianLineMask.
00003 // _Autores_ : Carlos Henrique Levy e Jaudênia Cavalcante.                       
00004 // _Data_    : 08 mar 96.                                                           
00005 
00006 #ifndef __XYCARTESIANLINEMASK_H
00007 #define __XYCARTESIANLINEMASK_H
00008 
00009 #include "xymca.h"
00010 
00011 //* XYCartesianLineMask
00012 //    Classe especializada que representa através de segmentos de retas   
00013 // conectados um conjunto de dados num gráfico cartesiano.                     
00014 class XYCartesianLineMask : public XYCartesianMask
00015 {
00016    public:
00017 
00018  //* Construtores e Destrutor
00019    //* Construtor A
00020    XYCartesianLineMask (
00021         XYText* name,          // nome da máscara
00022         XYSeries* series,      // servidor de dados
00023         const XYAxis* x_axis,  // eixo na direção x
00024         const XYAxis* y_axis,  // eixo na direção y
00025         long color,            // cor da linha
00026         int width,             // espessura da linha
00027         LineStyle style,       // estilo de linha
00028         xybool visible = xytrue);  // visibilidade
00029 
00030    //* Construtor B
00031    XYCartesianLineMask (
00032         XYSeries* series,      // servidor de dados
00033         const XYAxis* x_axis,  // eixo na direção x
00034         const XYAxis* y_axis,  // eixo na direção y
00035         long color,            // cor da linha
00036         int width,             // espessura da linha
00037         LineStyle style,       // estilo de linha
00038         xybool visible = xytrue);  // visibilidade
00039 
00040    //* Destrutor da classe XYCartesianLineMask
00041    virtual ~XYCartesianLineMask (void) {};
00042 
00043  //* Define/Consulta atributos
00044    //* Define espessura da máscara
00045    virtual void width (int w);
00046    //* Consulta espessura da máscara
00047    virtual int width (void) const;
00048 
00049    //* Define estilo de linha para a máscara
00050    virtual void style (XYMask::LineStyle s);
00051    //* Consulta estilo de linha para a máscara
00052    virtual int style (void) const;
00053 
00054  //* Métodos de Pick
00055    //* Retorna xytrue se o ponto estiver sobre a máscara
00056    virtual xybool pick (int px, int py);
00057 
00058    //* Retorna xytrue se a máscara estiver interior a região de "fence"
00059    virtual xybool fence (int x0, int y0, int x1, int y1);
00060 
00061  //* Métodos de Draw
00062    //* Desenha o ícone representativo da máscara
00063    virtual void drawIcon (int xmin, int ymin, int xmax, int ymax) const;
00064 
00065    //* Desenha máscara cartesiana de linha
00066    virtual void draw (void);
00067    //* Desenha máscara cartesiana de linha numa região
00068    virtual void draw (int xmin, int ymin, int xmax, int ymax) const;
00069 
00070  //* BoundingBox
00071    //* Retorna menor retângulo que contém a máscara cartesiana de linha, suas coordenadas são dadas em pixel
00072    virtual void boundingBox (int& bxmin, int& bymin, int& bxmax, int& bymax) const; 
00073 
00074    private:
00075 
00076    int  _width;       // espessura da linha
00077    LineStyle _style;  // plain, bold, italic, bold and italic
00078 };
00079 
00080 #endif
00081 

XY
Tecgraf / PUC-Rio - Computer Graphics Technology Group