gdc.h

Go to the documentation of this file.
00001 /* GDCHART 0.94b  GDC.H  12 Nov 1998 */
00002 
00003 /*
00004 General header common to chart (xy[z]) and pie
00005 */
00006 
00007 #ifndef _GDC_H
00008 #define _GDC_H
00009 
00010 #include <math.h>
00011 #ifdef GDC_INCL
00012 #include "gd.h"
00013 #include "gdfonts.h"
00014 #include "gdfontt.h"
00015 #include "gdfontmb.h"
00016 #include "gdfontg.h"
00017 #include "gdfontl.h"
00018 #endif
00019 
00020 #ifndef TRUE
00021 #define TRUE    1
00022 #define FALSE   0
00023 #endif
00024 
00025 #define GDC_NOVALUE                     -MAXFLOAT
00026 #define GDC_NULL                        GDC_NOVALUE
00027 
00028 #define ABS( x )                        ( (x)<0.0? -(x): (x) )
00029 #define MAX( x, y )                     ( (x)>(y)?(x):(y) )
00030 #define MIN( x, y )                     ( (x)<(y)?(x):(y) ) 
00031 
00032 #define GDC_NOCOLOR                     0x1000000L
00033 #define GDC_DFLTCOLOR           0x2000000L
00034 #define PVRED               0x00FF0000
00035 #define PVGRN               0x0000FF00
00036 #define PVBLU               0x000000FF
00037 #define l2gdcal( c )        ((c)&PVRED)>>16 , ((c)&PVGRN)>>8 , ((c)&0x000000FF)
00038 #define l2gdshd( c )        (((c)&PVRED)>>16)/2 , (((c)&PVGRN)>>8)/2 , (((c)&0x000000FF))/2
00039 static int                                      _gdccfoo1;
00040 static unsigned long            _gdccfoo2;
00041 #define _gdcntrst(bg)           ( ((bg)&0x800000?0x000000:0xFF0000)|    \
00042                                                           ((bg)&0x008000?0x000000:0x00FF00)|    \
00043                                                           ((bg)&0x000080?0x000000:0x0000FF) )
00044 #define _clrallocate( im, rawclr, bgc )                                                                                                         \
00045                                                         ( (_gdccfoo2=rawclr==GDC_DFLTCOLOR? _gdcntrst(bgc): rawclr),    \
00046                                                           (_gdccfoo1=gdImageColorExact(im,l2gdcal(_gdccfoo2))) != -1?   \
00047                                                                 _gdccfoo1:                                                                                                      \
00048                                                                 gdImageColorsTotal(im) == gdMaxColors?                                          \
00049                                                                    gdImageColorClosest(im,l2gdcal(_gdccfoo2)):                          \
00050                                                                    gdImageColorAllocate(im,l2gdcal(_gdccfoo2)) )
00051 #define _clrshdallocate( im, rawclr, bgc )                                                                                                      \
00052                                                         ( (_gdccfoo2=rawclr==GDC_DFLTCOLOR? _gdcntrst(bgc): rawclr),    \
00053                                                           (_gdccfoo1=gdImageColorExact(im,l2gdshd(_gdccfoo2))) != -1?   \
00054                                                                 _gdccfoo1:                                                                                                      \
00055                                                                 gdImageColorsTotal(im) == gdMaxColors?                                          \
00056                                                                         gdImageColorClosest(im,l2gdshd(_gdccfoo2)):                             \
00057                                                                         gdImageColorAllocate(im,l2gdshd(_gdccfoo2)) )
00058 
00059 /* ordered by size */
00060 enum GDC_font_size { GDC_pad     = 0,
00061                                          GDC_TINY    = 1,
00062                                          GDC_SMALL   = 2,
00063                                          GDC_MEDBOLD = 3,
00064                                          GDC_LARGE   = 4,
00065                                          GDC_GIANT   = 5,
00066                                          GDC_numfonts= 6 };             /* GDC[PIE]_fontc depends on this */
00067 
00068 typedef enum {
00069                          GDC_DESTROY_IMAGE = 0,                 /* default */
00070                          GDC_EXPOSE_IMAGE  = 1,                 /* user must call GDC_destroy_image() */
00071                          GDC_REUSE_IMAGE   = 2                  /* i.e., paint on top of */
00072                          } GDC_HOLD_IMAGE_T;                    /* EXPOSE & REUSE */
00073 
00074 #ifdef GDC_INCL
00075 struct  GDC_FONT_T      {
00076                                         gdFontPtr       f;
00077                                         char            h;
00078                                         char            w;
00079                                         };
00080 
00081 typedef enum { GDC_JUSTIFY_RIGHT,
00082                            GDC_JUSTIFY_CENTER,
00083                            GDC_JUSTIFY_LEFT } GDC_justify_t;
00084 
00085 void    GDCImageStringNL( gdImagePtr, struct GDC_FONT_T*, int, int, char*, int, GDC_justify_t );
00086 void    load_font_conversions();
00087 short   cnt_nl( char*, int* );
00088 #endif
00089 
00090 #ifdef GDC_LIB
00091 #define EXTERND extern
00092 #define DEFAULTO(val)
00093 extern struct   GDC_FONT_T      GDC_fontc[];
00094 #else
00095 #define EXTERND extern
00096 #define DEFAULTO(val)
00097 #endif
00098 
00099 /**** COMMON OPTIONS ********************************/
00100 #ifndef _GDC_COMMON_OPTIONS
00101 #define _GDC_COMMON_OPTIONS
00102 
00103 #define EXTERND extern
00104 /*
00105 EXTERND char                            GDC_generate_gif        DEFAULTO( TRUE );
00106 EXTERND GDC_HOLD_IMAGE_T        GDC_hold_img            DEFAULTO( GDC_DESTROY_IMAGE );
00107 EXTERND void                            *GDC_image                      DEFAULTO( (void*)NULL );        
00108 */
00109 
00110 extern char GDC_generate_gif;
00111 extern GDC_HOLD_IMAGE_T  GDC_hold_img;
00112 extern void *GDC_image;
00113 #endif
00114 
00115 /****************************************************/
00116 
00117 
00118 void    GDC_destroy_image( void* );
00119 void    out_err( int                    GIFWIDTH,
00120                                  int                    GIFHEIGHT,
00121                                  FILE*,
00122                                  unsigned long  BGColor,
00123                                  unsigned long  LineColor,
00124                                  char                   *str );
00125 
00126 #endif 

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