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

xysdstr.h

Go to the documentation of this file.
00001 //* Módulo   : xysdstr.h                                                         
00002 // _Desc_    : Declara classe XYStringScaleDecorator.
00003 // _Autores_ : Camilo da Fonseca Freire.                                         
00004 // _Data_    : 21 mar 96.                                                           
00005 
00006 #ifndef __XYSCDTST_H
00007 #define __XYSCDTST_H
00008                                         
00009 #include "xysd.h"
00010 #include "xytext.h"
00011 
00012 //* XYStringScaleDecorator 
00013 //    Classe especializada onde decorações textuais são formatadas, ou seja, 
00014 // os textos são desenhados no formato indicado, próximo ao eixo ao qual  
00015 // estão relacionados e na ordem indicada pelo usuário.                        
00016 class XYStringScaleDecorator : public XYScaleDecorator
00017 {
00018    public:
00019 
00020  //* Construtor e Destrutor
00021    //* Construtor da classe XYStringScaleDecorator
00022    XYStringScaleDecorator (char *label[],  // vetor de labels
00023                            int n_labels,   // numero de labels
00024                            XYText* scale); // atributos do texto
00025 
00026    //* Destrutor da classe XYStringScaleDecorator
00027    virtual ~XYStringScaleDecorator (void);
00028 
00029  //* Define/Consulta atributos
00030    //* Define o formato de exibição dos labels
00031    virtual void labels (char **lb);
00032    //* Retorna o formato de exibição dos labels
00033    virtual char** labels (void) const;
00034 
00035    //* Define a quantidade de caracters envolvidos
00036    virtual void numLabels (int nlb);
00037    //* Retorna a quantidade de caracters envolvidos
00038    virtual int numLabels (void) const;
00039 
00040    //* Define a escala
00041    virtual void scale (XYText *s);
00042    //* Retorna a escala
00043    virtual XYText* scale (void) const;
00044 
00045  //* Métodos de Draw
00046    //* Desenha os labels dos ticks que estão no intervalo especificado
00047    virtual void draw (const XYAxis *axis, int first_tick, int last_tick) const;
00048 
00049  //* BoundingBox
00050    //* Retorna menor retângulo que contém toda a decoração
00051    virtual void boundingBox (const XYAxis *axis, int& xmin, int& ymin,
00052                              int& xmax, int& ymax) const;
00053 
00054    private:
00055 
00056    char** _label;   // string a ser decorada
00057    int _n_labels;   // quantidade de caracters envolvidos
00058    XYText* _scale;  // atributos de texto usados para desenhar o número
00059 };                              
00060 
00061 #endif
00062 

XY
Tecgraf / PUC-Rio - Computer Graphics Technology Group