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

xymcabr.h

Go to the documentation of this file.
00001 //* Módulo   : xymcabr.h                                                         
00002 // _Desc_    : Declara classe XYCartesianBarMask.
00003 // _Autores_ : Camilo da Fonseca Freire.                                         
00004 // _Data_    : 08 mar 96.                                                           
00005  
00006 #ifndef __XYCARTESIANBARMASK_H
00007 #define __XYCARTESIANBARMASK_H
00008 
00009 #include "xymca.h"
00010 
00011 //* XYCartesianBarMask
00012 //    Classe que representa através de barras um conjunto de dados num       
00013 // gráfico cartesiano.                                                       
00014 class XYCartesianBarMask : public XYCartesianMask
00015 {
00016    public:
00017  
00018  //* enum HatchStyle #HatchStyle# 
00019    //* Indica os possíveis estilos de hatch
00020    enum HatchStyle {
00021       horizontal,
00022       vertical,
00023       fdiagonal,
00024       bdiagonal,
00025       cross,
00026       diagcross
00027    };
00028 
00029  //* Construtores e Destrutor
00030    //* Construtor A
00031    XYCartesianBarMask (
00032         XYText* name,            // nome da máscara
00033         XYSeries* series,        // servidor de dados
00034         const XYAxis*   x_axis,  // eixo na direção x
00035         const XYAxis*   y_axis,  // eixo na direção y
00036         long            color,   // cor da linha
00037         InteriorStyle   style,   // estilo de interior
00038         HatchStyle      hstyle,  // estilo de hatch
00039         xybool            border,  // fronteira (xytrue or xyfalse)
00040         long            bcolor,  // cor da fronteira
00041         double          displacement,     // deslocamento da barra
00042         double          width,            // largura da barra
00043         xybool            visible = xytrue);  // visibilidade
00044 
00045    //* Construtor B
00046    XYCartesianBarMask (
00047         XYSeries* series,        // servidor de dados
00048         const XYAxis*   x_axis,  // eixo na direção x
00049         const XYAxis*   y_axis,  // eixo na direção y
00050         long            color,   // cor da linha
00051         InteriorStyle   style,   // estilo de interior
00052         HatchStyle      hstyle,  // estilo de preenchimento
00053         xybool            border,  // fronteira (xytrue or xyfalse)
00054         long            bcolor,  // cor da fronteira
00055         double          displacement,    // deslocamento da barra
00056         double          width,           // largura da barra
00057         xybool            visible = xytrue); // visibilidade
00058 
00059    //* Destrutor da classe XYCartesianBarMask
00060    virtual ~XYCartesianBarMask (void) {};
00061 
00062  //* Define/Consulta atributos
00063    //* Define estilo de preenchimento da máscara
00064    virtual void style (XYMask::InteriorStyle s);
00065    //* Consulta estilo de preenchimento da máscara
00066    virtual int style (void) const;
00067 
00068    //* Define estilo de "hatch" da máscara
00069    virtual void hstyle (HatchStyle hs);
00070    //* Consulta estilo de "hatch" da máscara
00071    virtual int hstyle (void) const;
00072 
00073    //* Define cor da fronteira
00074    virtual void bcolor (long bc);
00075    //* Consulta cor da fronteira
00076    virtual long bcolor (void) const;
00077 
00078    //* Define deslocamento da barra
00079    virtual void displacement (double d);
00080    //* Consulta deslocamento da barra
00081    virtual double displacement (void) const;
00082 
00083    //* Define largura da barra
00084    virtual void width (double w);
00085    //* Consulta largura da barra
00086    virtual double width (void) const;
00087 
00088    //* Define se existe fronteira
00089    virtual void border (xybool b);
00090    //* Consulta se existe fronteira
00091    virtual xybool border (void) const;
00092 
00093  //* Métodos de Pick
00094    //* Retorna xytrue se o ponto estiver sobre a máscara
00095    virtual xybool pick (int px, int py);
00096 
00097    //* Retorna xytrue se a máscara estiver interior a região de "fence"
00098    virtual xybool fence (int x0, int y0, int x1, int y1);
00099 
00100  //* Métodos de Draw
00101    //* Desenha o ícone representativo da máscara
00102    virtual void drawIcon (int xmin, int ymin, int xmax, int ymax) const;
00103 
00104    //* Desenha máscara cartesiana de barra
00105    virtual void draw (void);
00106    //* Desenha máscara cartesiana de barra numa região
00107    virtual void draw (int xmin, int ymin, int xmax, int ymax) const;
00108 
00109  //* BoundingBox
00110    //* Retorna menor retângulo que contém a máscara cartesiana de barra, suas coordenadas são dadas em pixel
00111    virtual void boundingBox (int& bxmin, int& bymin, int& bxmax, int& bymax) const;     
00112 
00113    private:
00114 
00115    InteriorStyle _style;  // estilo de interior
00116    HatchStyle _hstyle;    // estilo de preenchimento
00117    xybool _border;          // fronteira (xytrue or xyfalse)
00118    long _bcolor;          // cor da fronteira
00119    double _displacement;  // deslocamento da barra
00120    double _width;         // largura da barra
00121 };
00122 
00123 #endif
00124 

XY
Tecgraf / PUC-Rio - Computer Graphics Technology Group