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

Password:

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

OGRPNFYR.H

Go to the documentation of this file.
00001 //Filename    : OGRPNFYR.H
00002 //Description : Header of object GraphYear
00003 
00004 #ifndef __OGRPNFYR_H
00005 #define __OGRPNFYR_H
00006 
00007 #include <OVGA.H>
00008 #include <OFONT.H>
00009 
00010 //--------- Define macro constant -----------//
00011 #ifndef __OGRPHYR_H
00012 enum {
00013     DATA_FLOAT = 1, DATA_DOUBLE = 2,
00014     DATA_INT = 3, DATA_LONG = 4
00015 };
00016 #endif
00017 //--------- Define class GraphYear --------//
00018 //
00020 class GraphNonFinancialYear {
00021 public:
00022     short xAxisPos;
00023     short graph_x1, graph_y1, graph_x2, graph_y2;
00024     short series_x1, series_y1, series_x2, series_y2;
00025     short graph_height, graph_width, legend_height, legend_x_num, legend_y_num;
00026     char **legend_array, *x_label, *y_label;
00027     int *series_color, axis_color;
00028     int this_year_indicator;
00029     char init_flag;
00030     short legend_width, 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     short x_axis_step;                            // step size on x-axis
00041     short scaleStep;
00042     Font *font_ptr;
00043     short *graph_bitmap;
00044     double max_scale;                             // max abs value of the graph
00045     double min_scale;                             // max abs value of the graph
00046     short posScaleNum,negScaleNum;
00047     double scaleInc;
00048     double posScaleInc;
00049     double negScaleInc;
00050 
00051 public:
00052     GraphNonFinancialYear();
00053     ~GraphNonFinancialYear();
00054 
00055     void init(int,int,int,int,int,int*,void*,char,int=-1,char* =NULL,char* =NULL,char** =NULL,char=1,char=1,char=1,int=1,int* =NULL,int=Vga::active_buf->color_dark);
00056     void init(int x1,int y1,int x2,int y2,int seriesNum,int *dataNum,float* dataArray,int thisYear,char* xLabel,char* yLabel,char** legendArray=NULL,char transparentFlag=1,char orientationFlag=1,char valueFlag=1,int numFormat=1,int* seriesColor=NULL,int axisColor=Vga::active_buf->color_dark)
00057         { init(x1, y1, x2, y2, seriesNum, dataNum, (void*) dataArray, DATA_FLOAT,thisYear, xLabel, yLabel, legendArray, transparentFlag, orientationFlag, valueFlag, numFormat, seriesColor, axisColor); }
00058     void init(int x1,int y1,int x2,int y2,int seriesNum,int *dataNum,double* dataArray,int thisYear,char* xLabel,char* yLabel,char** legendArray=NULL,char transparentFlag=1,char orientationFlag=1,char valueFlag=1,int numFormat=1,int* seriesColor=NULL,int axisColor=Vga::active_buf->color_dark)
00059         { init(x1, y1, x2, y2, seriesNum, dataNum, (void*) dataArray, DATA_DOUBLE,thisYear, xLabel, yLabel, legendArray, transparentFlag, orientationFlag, valueFlag, numFormat, seriesColor, axisColor); }
00060     void init(int x1,int y1,int x2,int y2,int seriesNum,int *dataNum,int* dataArray,int thisYear,char* xLabel,char* yLabel,char** legendArray=NULL,char transparentFlag=1,char orientationFlag=1,char valueFlag=1,int numFormat=1,int* seriesColor=NULL,int axisColor=Vga::active_buf->color_dark)
00061         { init(x1, y1, x2, y2, seriesNum, dataNum, (void*) dataArray, DATA_INT,thisYear, xLabel, yLabel, legendArray, transparentFlag, orientationFlag, valueFlag, numFormat, seriesColor, axisColor); }
00062     void init(int x1,int y1,int x2,int y2,int seriesNum,int *dataNum,long* dataArray,int thisYear,char* xLabel,char* yLabel,char** legendArray=NULL,char transparentFlag=1,char orientationFlag=1,char valueFlag=1,int numFormat=1,int* seriesColor=NULL,int axisColor=Vga::active_buf->color_dark)
00063         { init(x1, y1, x2, y2, seriesNum, dataNum, (void*) dataArray, DATA_LONG, thisYear, xLabel, yLabel, legendArray, transparentFlag, orientationFlag, valueFlag, numFormat, seriesColor, axisColor); }
00064 
00065     void deinit();
00066     void paint();
00067     void refresh();
00068     void set_font(Font *);
00069     void calc_pos();
00070 
00071     void set_y_label_max_len(short yLabelMaxLen) { y_label_max_len = yLabelMaxLen; }
00072 
00073 protected:
00074     void draw_legend();
00075     void draw_axis_label();
00076     void find_scale();
00077     void draw_scale();
00078     void draw_series();
00079     void draw_series_float();
00080     void draw_series_double();
00081     void draw_series_int();
00082     void draw_series_long();
00083     void draw_value(void *, int, short, short, int);
00084 
00085 };
00086 
00087 //--------------------------//
00088 #endif

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