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

xysdnm.h

Go to the documentation of this file.
00001 //* Módulo   : xysdnm.h                                                          
00002 // _Desc_    : Declara classe XYNumericalScaleDecorator.
00003 // _Autores_ : Camilo da Fonseca Freire.                                           
00004 // _Data_    : 05 jul 96. mod 20 mar 98                                                           
00005 
00006 #ifndef __XYSCDTNM_H
00007 #define __XYSCDTNM_H
00008                                         
00009 #include "xysd.h"
00010 #include "xyrtext.h"
00011 
00012 //* XYNumericalScaleDecorator
00013 //    Classe especializada onde decorações numéricas 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 XYNumericalScaleDecorator : public XYScaleDecorator
00018 {
00019    public:
00020 
00021  //* Construtor e Destrutor
00022    //* Construtor da classe XYNumericalScaleDecorator
00023    XYNumericalScaleDecorator (char *format,
00024                               XYRasterText* scale);
00025  
00026    //* Construtor da classe XYNumericalScaleDecorator com expoente
00027    XYNumericalScaleDecorator (char *format,double exp,XYRasterText* scale);
00028                                                                                           
00029    //* Destrutor da classe XYNumericalScaleDecorator
00030    virtual ~XYNumericalScaleDecorator (void);
00031  
00032  //* Define/Consulta atributos
00033    //* Define o formato de exibição dos números
00034    virtual void format (char *f);
00035    //* Retorna o formato de exibição dos números
00036    virtual char* format (void) const;
00037 
00038    //* Define o formato de exibição dos números
00039    virtual void scale (XYRasterText *s);
00040    //* Retorna o formato de exibição dos números
00041    virtual XYRasterText* scale (void) const;
00042 
00043    //* Define expoente
00044    void XYNumericalScaleDecorator::exp (double e);
00045    //* Consulta expoente
00046    double XYNumericalScaleDecorator::exp (void) const;
00047 
00048  //* Métodos de Draw
00049    //* Desenha a decoração no intervalo entre dois ticks de um eixo
00050    virtual void draw (const XYAxis *axis, int first_tick, int last_tick) const;
00051 
00052  //* BoundingBox
00053    //* Retorna menor retângulo que contém toda a decoração de um eixo
00054    virtual void boundingBox (const XYAxis *axis, int& xmin, int& ymin,
00055                              int& xmax, int& ymax) const;
00056 
00057    protected :
00058 
00059    char*   _format;      // formato em que o número deve ser apresentado
00060    XYRasterText* _scale;// atributos de texto usados para desenhar o número
00061    double  _exp;     // expoente
00062 
00063 };                              
00064 
00065 #endif
00066 

XY
Tecgraf / PUC-Rio - Computer Graphics Technology Group