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

xym.h

Go to the documentation of this file.
00001 //* Módulo   : xym.h                                                             
00002 // _Desc_    : Declara classe XYMask.
00003 // _Autores_ : Carlos Henrique Levy e Jaudênia Cavalcante.                       
00004 // _Data_    : 08 mar 96.                                                           
00005 
00006 #ifndef __XYMASK_H
00007 #define __XYMASK_H
00008 
00009 #include "xytext.h"
00010 #include "xyser.h"
00011 #include "xyobj.h"
00012 
00013 class XYGraph;
00014 
00015 //* XYMask 
00016 //    Classe abstrata que define as características comuns de uma representação  
00017 // gráfica (curva) de um conjunto de dados (XYSeries).                 
00018 class XYMask : public XYObject
00019 {
00020    public:
00021 
00022  //* enum InteriorStyle #InteriorStyle#
00023    //* Indica os possíveis estilos de interior
00024    enum InteriorStyle  {
00025       solid,
00026       hatch,
00027       stipple,
00028       pattern
00029    };
00030 
00031  //* enum MarkStyle #MarkStyle#
00032    //* Indica os possíveis estilos de marcas
00033    enum MarkStyle {
00034       plus,
00035       star,
00036       circle,
00037       x,
00038       box,
00039       diamond,
00040       hollow_circle,
00041       hollow_box,
00042       hollow_diamond
00043    };
00044 
00045  //* Construtores e Destrutor
00046    //* Construtor A
00047    XYMask (
00048         XYText* name,         // nome da máscara
00049         XYSeries* series,     // servidor de dados
00050         long color,           // cor da máscara
00051         xybool visible = xytrue)  // visibilidade
00052         : XYObject(0.0, 0.0, visible),
00053           _name(name),
00054           _series(series),
00055           _color(color),
00056           _ixmn(0),
00057           _iymn(0),
00058           _ixmx(0),
00059           _iymx(0) {};
00060 
00061    //* Construtor B
00062    XYMask (
00063         XYSeries* series,     // servidor de dados
00064         long color,           // cor da máscara
00065         xybool visible = xytrue)  // visibilidade
00066         : XYObject(0.0, 0.0, visible),
00067           _name(NULL),
00068           _series(series),
00069           _color(color),
00070           _ixmn(0),
00071           _iymn(0),
00072           _ixmx(0),
00073           _iymx(0) {};
00074         
00075 
00076    //* Destrutor da classe XYMask
00077    virtual ~XYMask (void) {};
00078 
00079  //* Define/Consulta atributos
00080    //* Define série
00081    virtual void series (XYSeries* s);
00082    //* Consulta série
00083    virtual XYSeries* series (void) const;
00084 
00085    //* Define o nome da máscara
00086    virtual void name (XYText* t);
00087    //* Consulta o nome da máscara
00088    virtual XYText* name (void) const;
00089 
00090    //* Define cor da série
00091    virtual void color (long c);
00092    //* Consulta cor da série
00093    virtual long color (void) const;
00094 
00095  //* Window/Viewport
00096    //* Determina área do gráfico para desenho do item a ser incluído na legenda
00097    virtual void setItemViewport (int xmin, int xmax, int ymin, int ymax);
00098 
00099    //* Consulta área do gráfico para desenho do item presente na legenda
00100    virtual void getItemViewport (int& xmin, int& xmax, int& ymin, int& ymax)
00101                                  const;
00102 
00103    //* Acao realizado quando da insercao de uma mascara no grafico
00104    virtual void insertAction (XYGraph *g);
00105 
00106    //* Acao realizado quando da romcao de uma mascara no grafico
00107    virtual void removeAction (XYGraph *);
00108 
00109  //* Métodos de Pick
00110    //* Retorna xytrue se o ponto estiver sobre a máscara
00111    virtual xybool pick (int px, int py) = 0;
00112 
00113    //* Retorna xytrue se a máscara estiver interior a região de "fence"
00114    virtual xybool fence (int x0, int y0, int x1, int y1) = 0;
00115 
00116  //* Métodos de Draw
00117    //* Desenha o ícone representativo da máscara
00118    virtual void drawIcon (int xmin, int ymin, int xmax, int ymax) const = 0;
00119 
00120    protected:
00121 
00122    XYText* _name;      // nome da máscara
00123    XYSeries* _series;  // ponteiro para série
00124    long  _color;       // cor da série
00125    int   _ixmn, _iymn, // região ocupada pela representação     da máscara
00126          _ixmx, _iymx; // na legenda
00127 };
00128 
00129 #endif
00130 

XY
Tecgraf / PUC-Rio - Computer Graphics Technology Group