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

Password:

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

OGRPH_PM.H

Go to the documentation of this file.
00001 //Filename    : OGRPH_PM.H
00002 //Description : Header of object Performance Indicator of Month
00003 
00004 #ifndef __OGRPH_PM_H
00005 #define __OGRPH_PM_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 GraphPerformanceIndicatorMonth --------//
00020 //
00022 class GraphPerformanceIndicatorMonth {
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 
00038 protected:
00039     char x_axis_pos;                              // 0-bottom, 1-center
00040     double max_scale;                             // max abs value of the graph
00041     double x_axis_step;                           // step size on x-axis
00042 
00043     Font *font_ptr;
00044     short *grapha_bitmap;
00045 
00046 public:
00047     GraphPerformanceIndicatorMonth();
00048     ~GraphPerformanceIndicatorMonth();
00049 
00050     void init(int,int,int,int,int,int*,void*,char,char=1,char=1,int=1,int* =NULL,int=Vga::active_buf->color_dark);
00051 
00052     void init(int x1,int y1,int x2,int y2,int seriesNum,int *dataNum,
00053               float* dataArray,
00054               char transparentFlag=1,char valueFlag=1,
00055               int numFormat=1,int* seriesColor=NULL,int axisColor=Vga::active_buf->color_dark) {
00056         init(x1, y1, x2, y2, seriesNum, dataNum,
00057              (void*) dataArray, DATA_FLOAT,
00058              transparentFlag, valueFlag,
00059              numFormat, seriesColor, axisColor);
00060     }
00061 
00062     void init(int x1,int y1,int x2,int y2,int seriesNum,int *dataNum,
00063               double* dataArray,
00064               char transparentFlag=1,char valueFlag=1,
00065               int numFormat=1,int* seriesColor=NULL,int axisColor=Vga::active_buf->color_dark) {
00066         init(x1, y1, x2, y2, seriesNum, dataNum,
00067              (void*) dataArray, DATA_DOUBLE,
00068              transparentFlag, valueFlag,
00069              numFormat, seriesColor, axisColor);
00070     }
00071 
00072     void init(int x1,int y1,int x2,int y2,int seriesNum,int *dataNum,
00073               int* dataArray,
00074               char transparentFlag=1,char valueFlag=1,
00075               int numFormat=1,int* seriesColor=NULL,int axisColor=Vga::active_buf->color_dark) {
00076         init(x1, y1, x2, y2, seriesNum, dataNum,
00077              (void*) dataArray, DATA_INT,
00078              transparentFlag, valueFlag,
00079              numFormat, seriesColor, axisColor);
00080     }
00081 
00082     void init(int x1,int y1,int x2,int y2,int seriesNum,int *dataNum,
00083               long* dataArray,
00084               char transparentFlag=1,char valueFlag=1,
00085               int numFormat=1,int* seriesColor=NULL,int axisColor=Vga::active_buf->color_dark) {
00086         init(x1, y1, x2, y2, seriesNum, dataNum,
00087              (void*) dataArray, DATA_LONG,
00088              transparentFlag, valueFlag,
00089              numFormat, seriesColor, axisColor);
00090     }
00091 
00092     void deinit();
00093     void paint();
00094     void refresh();
00095     void set_font(Font *);
00096     void calc_pos();
00097 
00098     void set_y_label_max_len(short yLabelMaxLen) { y_label_max_len = yLabelMaxLen; }
00099 
00100 protected:
00101     void find_scale();
00102     void draw_scale();
00103     void draw_series();
00104     void draw_series_float();
00105     void draw_series_double();
00106     void draw_series_int();
00107     void draw_series_long();
00108     void draw_value(void *, int, short, short, int);
00109 };
00110 #endif

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