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

xysddt.h

Go to the documentation of this file.
00001 //* Módulo   : xysddt.h                                                          
00002 // _Desc_    : Declara classe XYDateScaleDecorator.
00003 // _Autores_ : Camilo da Fonseca Freire.                                           
00004 // _Data_    : 8 Ago 2000
00005 
00006 #ifndef __XYSCDTDT_H
00007 #define __XYSCDTDT_H
00008                                         
00009 #include "xysd.h"
00010 #include "xytext.h"
00011 
00012 //* XYDateScaleDecorator
00013 //    Classe especializada onde datas são formatadas, ou seja,
00014 // a numeração é desenhada usando-se os valores inicial e final dados no eixo 
00015 // ao qual está relacionada, seguindo a incrementação também indicada no  
00016 // formato definido pelo usuário.                                            
00017 class XYDateScaleDecorator      : public XYScaleDecorator
00018 {
00019 
00020    public:
00021 
00022  //* Construtor e Destrutor
00023    //* Construtor da classe XYDateScaleDecorator
00024    XYDateScaleDecorator (XYText* scale);
00025  
00026    //* Destrutor da classe XYNumericalScaleDecorator
00027    virtual ~XYDateScaleDecorator (void);
00028  
00029    //* Define a diferenca relativa
00030    virtual void delta ( double delta ) { _delta = delta + _diff; };
00031    //* Retorna o formato de exibição dos números
00032    virtual double delta (void) const { return _delta - _diff; };
00033 
00034    //* Define o formato de exibição dos números
00035    virtual void scale (XYText *s);
00036    //* Retorna o formato de exibição dos números
00037    virtual XYText* scale (void) const;
00038 
00039  //* Métodos de Draw
00040    //* Desenha a decoração no intervalo entre dois ticks de um eixo
00041    virtual void draw (const XYAxis *axis, int first_tick, int last_tick) const;
00042 
00043  //* BoundingBox
00044    //* Retorna menor retângulo que contém toda a decoração de um eixo
00045    virtual void boundingBox (const XYAxis *axis, int& xmin, int& ymin,
00046                              int& xmax, int& ymax) const;
00047 
00048    protected :
00049 
00050    XYText* _scale;
00051    double _delta;
00052 
00053    private:
00054 
00055    double _diff;
00056 };                              
00057 
00058 #endif
00059 

XY
Tecgraf / PUC-Rio - Computer Graphics Technology Group