Virtual U.org
Get Personal Training on VU Today
    
Top shadow
 
 register/help
User Name:

Password:

OGRPH_PT.H Source File
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

OGRPH_PT.H

Go to the documentation of this file.
00001 //Filename    : OGRPH_PT.H
00002 //Description : Header of object Performance Indicator of Trimester
00003 
00004 #ifndef __OGRPH_PT_H
00005 #define __OGRPH_PT_H
00006 
00007 #include <OVGA.H>
00008 #include <OFONT.H>
00009 
00010 //--------- Define macro constant -----------//
00011 
00012 #ifndef __OGRPHYR_H
00013 enum {
00014     DATA_FLOAT = 1, DATA_DOUBLE = 2,
00015     DATA_INT = 3, DATA_LONG = 4
00016 };
00017 #endif
00018 
00019 //--------- Define class GraphPerformanceIndicatorTrimester --------//
00020 //
00022 class GraphPerformanceIndicatorTrimester {
00023 public:
00024     short grapha_x1, grapha_y1, grapha_x2, grapha_y2;
00025     short series_x1, series_y1, series_x2, series_y2;
00026     short graph_height, graph_width;
00027     short legend_width, legend_height, legend_x_num, legend_y_num;
00028     char **legend_array, *x_label, *y_label;
00029     int *series_color, axis_color;
00030     char init_flag, transparent_flag, orientation_flag;
00031     char data_type_flag, value_flag;
00032     int num_format;
00033     int series_num, *data_num;
00034     void *data_array;
00035     int *x_start, *x_end;
00036     short y_label_max_len;
00037     double default_upper_bound;
00038 
00039 protected:
00040     char x_axis_pos;                              // 0-bottom, 1-center
00041     double max_scale;                             // max abs value of the graph
00042     double x_axis_step;                           // step size on x-axis
00043 
00044     Font *font_ptr;
00045     short *grapha_bitmap;
00046 
00047 public:
00048     GraphPerformanceIndicatorTrimester();
00049     ~GraphPerformanceIndicatorTrimester();
00050 
00051     // 14 parameters
00052     void init(int,int,int,int,int,int*,void*,char,char=1,char=1,int=1,double=10.0,int* =NULL,int=Vga::active_buf->color_dark);
00053 
00054     // 14 parameters
00055     void init(int x1,int y1,int x2,int y2,int seriesNum,int *dataNum,
00056               float* dataArray,
00057               char transparentFlag=1,char valueFlag=1,
00058               int numFormat=1,double defaultUpperBound=10,int* seriesColor=NULL,int axisColor=Vga::active_buf->color_dark) {
00059         init(x1, y1, x2, y2, seriesNum, dataNum,
00060              (void*) dataArray,
00061              DATA_FLOAT,
00062              transparentFlag, valueFlag,
00063              numFormat, defaultUpperBound, seriesColor, axisColor);
00064     }
00065 
00066     void init(int x1,int y1,int x2,int y2,int seriesNum,int *dataNum,
00067               double* dataArray,
00068               char transparentFlag=1,char valueFlag=1,
00069               int numFormat=1,double defaultUpperBound=10.0,int* seriesColor=NULL,int axisColor=Vga::active_buf->color_dark) {
00070         init(x1, y1, x2, y2, seriesNum, dataNum,
00071              (void*) dataArray,
00072              DATA_DOUBLE,
00073              transparentFlag, valueFlag,
00074              numFormat, defaultUpperBound, seriesColor, axisColor);
00075     }
00076 
00077     void init(int x1,int y1,int x2,int y2,int seriesNum,int *dataNum,
00078               int* dataArray,
00079               char transparentFlag=1,char valueFlag=1,
00080               int numFormat=1,double defaultUpperBound=10.0,int* seriesColor=NULL,int axisColor=Vga::active_buf->color_dark) {
00081         init(x1, y1, x2, y2, seriesNum, dataNum,
00082              (void*) dataArray,
00083              DATA_INT,
00084              transparentFlag, valueFlag,
00085              numFormat, defaultUpperBound, seriesColor, axisColor);
00086     }
00087 
00088     void init(int x1,int y1,int x2,int y2,int seriesNum,int *dataNum,
00089               long* dataArray,
00090               char transparentFlag=1,char valueFlag=1,
00091               int numFormat=1,double defaultUpperBound=10.0,int* seriesColor=NULL,int axisColor=Vga::active_buf->color_dark) {
00092         init(x1, y1, x2, y2, seriesNum, dataNum,
00093              (void*) dataArray,
00094              DATA_LONG,
00095              transparentFlag, valueFlag,
00096              numFormat, defaultUpperBound, seriesColor, axisColor);
00097     }
00098 
00099     void deinit();
00100     void paint();
00101     void refresh();
00102     void set_font(Font *);
00103     void calc_pos();
00104     void set_y_label_max_len(short yLabelMaxLen) { y_label_max_len = yLabelMaxLen; }
00105 
00106 protected:
00107     void find_scale();
00108     void draw_scale();
00109     void draw_series();
00110     void draw_series_float();
00111     void draw_series_double();
00112     void draw_series_int();
00113     void draw_series_long();
00114     void draw_value(void *, int, short, short, int);
00115 };
00116 #endif

Generated on Fri Aug 23 01:37:51 2002 for VirtualU by doxygen1.2.17