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

xymcamk.h

Go to the documentation of this file.
00001 //* Módulo   : xymcamk.h                                                         
00002 // _Desc_    : Declara classe XYCartesianMarkMask.
00003 // _Autores_ : Carlos Henrique Levy e Jaudênia Cavalcante.                       
00004 // _Data_    : 27 ago 96.                                                           
00005   
00006 #ifndef __XYCARTESIANMARKMASK_H
00007 #define __XYCARTESIANMARKMASK_H
00008 
00009 #include "xymca.h"
00010 
00011 //* XYCartesianMarkMask 
00012 //    Classe especializada que representa através de marcas um conjunto de   
00013 // dados pontuais num gráfico cartesiano.                                    
00014 class XYCartesianMarkMask : public XYCartesianMask
00015 {
00016    public:
00017 
00018  //* Construtores e Destrutor
00019    //* Construtor A
00020    XYCartesianMarkMask (
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 marca
00026         int size,              // tamanho da marca
00027         MarkStyle mark,        // estilo da marca
00028         xybool visible = xytrue);  // visibilidade
00029 
00030    //* Construtor B
00031    XYCartesianMarkMask (
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 marca
00036         int size,              // tamanho da marca
00037         MarkStyle mark,        // estilo da marca
00038         xybool visible = xytrue);  // visibilidade
00039 
00040    //* Destrutor da classe XYCartesianMarkMask
00041    virtual ~XYCartesianMarkMask (void) {};
00042 
00043  //* Define/Consulta atributos
00044    //* Define tamanho da máscara
00045    virtual void size (int s);
00046    //* Consulta tamanho da máscara
00047    virtual int size (void) const;
00048 
00049    //* Define estilo de marca para a máscara
00050    virtual void mark (XYMask::MarkStyle m);
00051    //* Consulta estilo de marca para a máscara
00052    virtual int mark (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 marcas
00066    virtual void draw (void);
00067    //* Desenha máscara cartesiana de marcas numa região
00068    virtual void draw (int xmin, int ymin, int xmax, int ymax) const;
00069 
00070    //* Desenha, por extensão, uma decoração à marca
00071    virtual void extendMarkDraw(int n, int px, int py) const {}
00072 
00073  //* BoundingBox
00074    //* Retorna menor retângulo que contém a máscara cartesiana de marcas, suas coordenadas são dadas em pixel
00075    virtual void boundingBox (int& bxmin, int& bymin, int& bxmax, int& bymax) const; 
00076 
00077    private:
00078 
00079    int  _size;        // tamanho da marca
00080    MarkStyle _mark;   // plus, star, circle, x, box, diamond, ...
00081 };
00082 
00083 #endif
00084 

XY
Tecgraf / PUC-Rio - Computer Graphics Technology Group