gdchart.h

Go to the documentation of this file.
00001 /* GDCHART 0.94b  GDCHART.H  12 Nov 1998 */
00002 
00003 #ifndef _GDCHART_H
00004 #define _GDCHART_H
00005 
00006 #ifndef _GDC_H
00007 #include "gdc.h"
00008 #endif
00009 
00010 #define MAX_NOTE_LEN            19
00011 
00012 typedef enum {
00013                          GDC_LINE,
00014                          GDC_AREA,
00015                          GDC_BAR,
00016                          GDC_HILOCLOSE,
00017                          GDC_COMBO_LINE_BAR,                    /* aka, VOL[ume] */
00018                          GDC_COMBO_HLC_BAR,
00019                          GDC_COMBO_LINE_AREA,
00020                          GDC_COMBO_HLC_AREA,
00021                          GDC_3DHILOCLOSE,
00022                          GDC_3DCOMBO_LINE_BAR,
00023                          GDC_3DCOMBO_LINE_AREA,
00024                          GDC_3DCOMBO_HLC_BAR,
00025                          GDC_3DCOMBO_HLC_AREA,
00026                          GDC_3DBAR,
00027                          GDC_3DAREA,
00028                          GDC_3DLINE
00029                          } GDC_CHART_T;
00030 
00031 typedef enum {
00032                          GDC_STACK_DEPTH,                               /* "behind" (even non-3D) */
00033                          GDC_STACK_SUM,
00034                          GDC_STACK_BESIDE,
00035                          GDC_STACK_LAYER
00036                          } GDC_STACK_T;                                 /* applies only to num_lines > 1 */
00037 
00038 typedef enum {
00039                          GDC_HLC_DIAMOND         = 1,
00040                          GDC_HLC_CLOSE_CONNECTED = 2,   /* can't be used w/ CONNECTING */
00041                          GDC_HLC_CONNECTING      = 4,   /* can't be used w/ CLOSE_CONNECTED */
00042                          GDC_HLC_I_CAP           = 8
00043                          } GDC_HLC_STYLE_T;                             /* can be OR'd */
00044 
00045                                                                                         /* only 1 annotation allowed */
00046 typedef struct
00047                         {
00048                         float                   point;                  /* 0 <= point < num_points */
00049                         unsigned long   color;
00050                         char                    note[MAX_NOTE_LEN+1];   /* NLs ok here */
00051                         } GDC_ANNOTATION_T;
00052 
00053 typedef enum {
00054                          GDC_SCATTER_TRIANGLE_DOWN,
00055                          GDC_SCATTER_TRIANGLE_UP
00056                          } GDC_SCATTER_IND_T;
00057 typedef struct
00058                         {
00059                         float                           point;          /* 0 <= point < num_points */
00060                         float                           val;
00061                         unsigned short          width;          /* % (1-100) */
00062                         unsigned long           color;
00063                         GDC_SCATTER_IND_T       ind;
00064                         } GDC_SCATTER_T;
00065 
00066 /****************************************************/
00067 /********** USER CHART OPTIONS w/ defaults **********/
00068 /****************************************************/
00069 #define EXTERND extern
00070 EXTERND char                            *GDC_ytitle;
00071 EXTERND char                            *GDC_xtitle;
00072 EXTERND char                            *GDC_ytitle2;           /* ostesibly: volume label */
00073 EXTERND char                            *GDC_title;                     /* NLs ok here */
00074 EXTERND enum GDC_font_size      GDC_title_size          DEFAULTO( GDC_MEDBOLD );
00075 EXTERND enum GDC_font_size      GDC_ytitle_size         DEFAULTO( GDC_MEDBOLD );
00076 EXTERND enum GDC_font_size      GDC_xtitle_size         DEFAULTO( GDC_MEDBOLD );
00077 EXTERND enum GDC_font_size      GDC_yaxisfont_size      DEFAULTO( GDC_SMALL );
00078 EXTERND enum GDC_font_size      GDC_xaxisfont_size      DEFAULTO( GDC_SMALL );
00079 EXTERND char                            *GDC_ylabel_fmt         DEFAULTO( NULL );               /* printf fmt'ing, e.g.: "%.2f" */
00080 EXTERND char                            *GDC_ylabel2_fmt        DEFAULTO( NULL );               /* default: "%.0f" future: fractions */
00081 EXTERND short                           GDC_xlabel_spacing      DEFAULTO( 5 );                  /* pixels  MAXSHORT means force all */
00082 EXTERND char                            GDC_ylabel_density      DEFAULTO( 80 );                 /* % */
00083 EXTERND float                           GDC_requested_ymin      DEFAULTO( 0 );
00084 EXTERND float                           GDC_requested_ymax      DEFAULTO( 0 );
00085 EXTERND float                           GDC_requested_yinterval DEFAULTO( 0 );
00086 EXTERND char                            GDC_0Shelf                      DEFAULTO( TRUE );               /* if applicable */
00087 EXTERND char                            GDC_grid                        DEFAULTO( TRUE );
00088 EXTERND char                            GDC_xaxis                       DEFAULTO( TRUE );
00089 EXTERND char                            GDC_yaxis                       DEFAULTO( TRUE );
00090 EXTERND char                            GDC_yaxis2                      DEFAULTO( TRUE );
00091 EXTERND char                            GDC_yval_style          DEFAULTO( TRUE );
00092 EXTERND GDC_STACK_T                     GDC_stack_type          DEFAULTO( GDC_STACK_DEPTH );
00093 EXTERND float                           GDC_3d_depth            DEFAULTO( 5.0 );                /* % gif size */
00094 EXTERND unsigned char           GDC_3d_angle            DEFAULTO( 45 );                 /* 1-89 */
00095 EXTERND unsigned char           GDC_bar_width           DEFAULTO( 75 );                 /* % (1-100) */
00096 EXTERND GDC_HLC_STYLE_T         GDC_HLC_style           DEFAULTO( GDC_HLC_CLOSE_CONNECTED );
00097 EXTERND unsigned char           GDC_HLC_cap_width       DEFAULTO( 25 );                 /* % (1-100) */
00098 EXTERND GDC_ANNOTATION_T        *GDC_annotation         DEFAULTO( (GDC_ANNOTATION_T*)NULL );
00099 EXTERND enum GDC_font_size      GDC_annotation_font     DEFAULTO( GDC_SMALL );
00100 EXTERND int                                     GDC_num_scatter_pts     DEFAULTO( 0 );
00101 EXTERND GDC_SCATTER_T           *GDC_scatter            DEFAULTO( (GDC_SCATTER_T*)NULL );
00102 EXTERND char                            GDC_thumbnail           DEFAULTO( FALSE );
00103 EXTERND char                            *GDC_thumblabel;
00104 // No estaba definidio MAXFLOAT
00105 EXTERND float                           GDC_thumbval            DEFAULTO( -100000 );
00106 EXTERND char                            GDC_border                      DEFAULTO( TRUE );
00107 EXTERND unsigned long           GDC_BGColor                     DEFAULTO( 0x000000L );   /* black */
00108 EXTERND unsigned long           GDC_GridColor           DEFAULTO( 0xA0A0A0L );   /* gray */
00109 EXTERND unsigned long           GDC_LineColor           DEFAULTO( GDC_DFLTCOLOR );
00110 EXTERND unsigned long           GDC_PlotColor           DEFAULTO( GDC_DFLTCOLOR );
00111 EXTERND unsigned long           GDC_VolColor            DEFAULTO( 0xA0A0FFL );   /* lgtblue1 */
00112 EXTERND unsigned long           GDC_TitleColor          DEFAULTO( GDC_DFLTCOLOR ); /* "opposite" of BG */
00113 EXTERND unsigned long           GDC_XTitleColor         DEFAULTO( GDC_DFLTCOLOR );
00114 EXTERND unsigned long           GDC_YTitleColor         DEFAULTO( GDC_DFLTCOLOR );
00115 EXTERND unsigned long           GDC_YTitle2Color        DEFAULTO( GDC_DFLTCOLOR );
00116 EXTERND unsigned long           GDC_XLabelColor         DEFAULTO( GDC_DFLTCOLOR );
00117 EXTERND unsigned long           GDC_YLabelColor         DEFAULTO( GDC_DFLTCOLOR );
00118 EXTERND unsigned long           GDC_YLabel2Color        DEFAULTO( GDC_DFLTCOLOR );
00119                                                         /* supercedes VolColor  ulong_color[num_points] */
00120 EXTERND unsigned long           *GDC_ExtVolColor        DEFAULTO( (unsigned long*)NULL );
00121                                                         /* supercedes LineColor ulong_color[num_sets] */
00122 EXTERND unsigned long           *GDC_SetColor           DEFAULTO( (unsigned long*)NULL );
00123                                                         /* supercedes SetColor  ulong_color[num_sets][num_points] */
00124 EXTERND unsigned long           *GDC_ExtColor           DEFAULTO( (unsigned long*)NULL );
00125 EXTERND char                            GDC_transparent_bg      DEFAULTO( FALSE );
00126 EXTERND char                            *GDC_BGImage            DEFAULTO( (char*)NULL );
00127 /* legends?  separate gif? */
00128 /* auto-size fonts, based on GIF size? */
00129 
00130 /* ----- following options are for expert users only ----- */
00131                                                                                                 /* for alignment of multiple charts */
00132                                                                                                 /* USE WITH CAUTION! */
00133 EXTERND char                            GDC_hard_size           DEFAULTO( FALSE );
00134 EXTERND int                                     GDC_hard_xorig          DEFAULTO( 0 );                          /* in/out */
00135 EXTERND int                                     GDC_hard_graphwidth     DEFAULTO( 0 );                          /* in/out */
00136 EXTERND int                                     GDC_hard_yorig          DEFAULTO( 0 );                          /* in/out */
00137 EXTERND int                                     GDC_hard_grapheight     DEFAULTO( 0 );                          /* in/out */
00138 
00139 /**** COMMON OPTIONS ********************************/
00140 /* NOTE:  common options copy here for reference only! */
00141 /*        they live in gdc.h                           */
00142 #ifndef _GDC_COMMON_OPTIONS
00143 #define _GDC_COMMON_OPTIONS
00144 #define EXTERND extern
00145 /*
00146 EXTERND char                            GDC_generate_gif        DEFAULTO( TRUE );
00147 EXTERND GDC_HOLD_IMAGE_T        GDC_hold_img            DEFAULTO( GDC_DESTROY_IMAGE );
00148 EXTERND void                            *GDC_image                      DEFAULTO( (void*)NULL );
00149 */
00150 #endif
00151 /****************************************************/
00152 
00153 #ifdef GDC_LIB
00154 #define clrallocate( im, rawclr )               _clrallocate( im, rawclr, GDC_BGColor )
00155 #define clrshdallocate( im, rawclr )    _clrshdallocate( im, rawclr, GDC_BGColor )
00156 #endif
00157 
00158 int out_graph( short            gifwidth,
00159                                    short                gifheight,  
00160                                    FILE                 *gif_fptr,              /* open file pointer (gif out) */
00161                                    GDC_CHART_T  type,
00162                                    int                  num_points,             /* points along x axis (even iterval) */
00163                                    char                 *xlbl[],
00164                                    int                  num_sets,
00165                                                                 ... );
00166 /* expected params (...) for each chart type:
00167 GDC_LINE
00168 GDC_BAR
00169 GDC_3DBAR
00170 GDC_3DAREA
00171 GDC_AREA                        float   vals[], ...
00172                                                                                                 multiple sets make sense for rest?
00173 GDC_HILOCLOSE           float   high[],
00174                                         float   low[],
00175                                         float   close[]
00176 
00177 GDC_COMBO_LINE_BAR
00178 GDC_COMBO_LINE_AREA     float   val[],
00179                                         float   vol[]
00180 
00181 GDC_COMBO_HLC_BAR
00182 GDC_COMBO_HLC_AREA      float   high[],
00183                     float   low[],
00184                     float   close[],
00185                                         float   vol[]
00186 
00187 */
00188 
00189 /* Notes:
00190         GDC_thumbnail = TRUE
00191         is equivelent to:       GDC_grid = FALSE
00192                                                 GDC_xaxis = FALSE
00193                                                 GDC_yaxis = FALSE
00194 */
00195 
00196 #endif 

Generated on Sat Dec 15 00:00:57 2007 for BulmaGes by  doxygen 1.5.1