00001 
00003 
00004 
00005 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 
00029 
00030 
00031 
00032 
00033 
00034 
00035 
00036 
00037 
00038 
00039 
00040 
00041 
00042 
00043 
00044 
00045 
00046 
00047 
00048 
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 
00057 
00058 
00059 
00060 
00061 
00062 
00063 
00064 
00065 
00066 
00067 
00068 
00069 
00070 
00071 
00072 
00073 
00074 
00075 
00076 
00077 
00078 
00079 
00080 
00081 
00082 
00083 
00084 
00085 
00086 
00087 
00088 
00089 
00090 
00091 
00092 
00093 
00094 
00095 
00096 
00097 
00098 
00099 
00100 
00101 
00102 
00103 
00104 #ifndef INC_GCONSTS
00105 #define INC_GCONSTS
00106 
00107 #if !defined(__WXMSW__)
00108 const BYTE PT_CLOSEFIGURE   = 1;
00109 const BYTE PT_LINETO        = 2;
00110 const BYTE PT_BEZIERTO      = 4;
00111 const BYTE PT_MOVETO        = 6;
00112 const BYTE PT_PATHELEMENT   = 6;
00113 #endif
00114 
00116 
00117 
00118 
00119 enum eError {
00120     GERROR_NO_ERROR,
00121     GERROR_BAD_BITMAP,
00122     GERROR_BAD_GRADUATION_STYLE,
00123     GERROR_BAD_GRADUATION_TABLE,
00124     GERROR_BAD_TILE_STYLE,
00125     GERROR_BAD_TRANSPARENCY_STYLE,
00126     GERROR_BAD_PARAMETERS,
00127     GERROR_BAD_PATH,
00128     GERROR_CORRUPT_EDGE_TABLE,
00129     GERROR_INCOMPATIBLE_BITMAPS,
00130     GERROR_INCOMPATIBLE_REGION,
00131     GERROR_INVALID_SCANLINE_ROUTINE,
00132     GERROR_NO_BITMAP,
00133     GERROR_NOT_32_BITS_PER_PIXEL,
00134     GERROR_OUT_OF_MEMORY,
00135     GERROR_OUTPUT_PATH_TOO_COMPLEX,
00136     GERROR_STACK_OVERFLOW,
00137     GERROR_UNDEFINED_FILL_STYLE,
00138     GERROR_UNDEFINED_MEMORY_HANDLERS,
00139     GERROR_UNIMPLEMENTED,
00140     GERROR_FAILED
00141 } ;
00142 
00144 
00145 
00146 
00147 enum ColourEnum {
00148     C_SOLID,
00149     C_LINEAR,
00150     C_RADIAL,
00151     C_CONICAL,
00152     C_SQUARE,
00153     C_MULTIRADIAL,
00154     C_3COLOUR,
00155     C_4COLOUR,
00156     C_GOURAND,
00157     C_TILE,
00158     C_XOR,
00159     C_INVALID=99
00160 } ;
00161 
00163 
00164 
00165 
00166 enum CapStyles {
00167     CAPS_BUTT   = 0,
00168     CAPS_ROUND  = 1,
00169     CAPS_SQUARE = 2
00170 } ;
00171 
00172 enum JoinStyles {
00173     JOIN_MITER  = 0,
00174     JOIN_ROUND  = 1,
00175     JOIN_BEVEL  = 2
00176 } ;
00177 
00178 
00179 
00180 
00181 enum BitmapFormat {
00182     FORMAT8BPP_NORMAL = 0,
00183     FORMAT8BPP_GREY   = 1,
00184     FORMAT16BPP_565   = 0,
00185     FORMAT16BPP_655   = 1,
00186     FORMAT16BPP_555   = 2,
00187     FORMAT16BPP_664   = 3
00188 } ;
00189 
00190 
00191 
00192 
00193 enum TransparencyEnum {
00194     T_NONE,
00195     T_REFLECTIVE,
00196     T_SUBTRACTIVE,
00197     T_ADDITIVE,
00198     T_FLAT_REFLECTIVE,
00199     T_FLAT_SUBTRACTIVE,
00200     T_FLAT_ADDITIVE,
00201     T_GRAD_REFLECTIVE,
00202     T_GRAD_SUBTRACTIVE,
00203     T_GRAD_ADDITIVE,
00204     T_SPECIAL_1,
00205     T_SPECIAL_2,
00206     T_SPECIAL_3,
00207     T_CONTRAST,     T_FLAT_CONTRAST,    T_GRAD_CONTRAST,
00208     T_SATURATION,   T_FLAT_SATURATION,  T_GRAD_SATURATION,
00209     T_DARKEN,       T_FLAT_DARKEN,      T_GRAD_DARKEN,
00210     T_LIGHTEN,      T_FLAT_LIGHTEN,     T_GRAD_LIGHTEN,
00211     T_BRIGHTNESS,   T_FLAT_BRIGHTNESS,  T_GRAD_BRIGHTNESS,
00212     T_LUMINOSITY,   T_FLAT_LUMINOSITY,  T_GRAD_LUMINOSITY,
00213     T_HUE,          T_FLAT_HUE,         T_GRAD_HUE,
00214     T_BEVEL,        T_FLAT_BEVEL,       T_GRAD_BEVEL
00215 } ;
00216 
00217 
00218 
00219 enum GradEnum { GRAD_LINEAR, GRAD_RADIAL, GRAD_CONICAL, GRAD_SQUARE, GRAD_3COLOUR, GRAD_4COLOUR } ;
00220 
00221 
00222 
00223 
00224 enum DitherStyle {
00225     DITHER_DIFFUSED,
00226     DITHER_ORDERED,
00227     DITHER_GREY_ORDERED,
00228     DITHER_FLOYD_STEINBERG,
00229     DITHER_NONE,
00230     DITHER_SIMPLE_GREYSCALE,
00231     DITHER_DIFFUSED_GREYSCALE,
00232     DITHER_EXACT
00233 } ;
00234 
00236 
00237 struct GCONTEXT {
00238     DWORD Valid ;           
00239     DWORD Data[1] ;
00240 } ;
00241 
00242     
00243 
00244 struct DitherBlock {
00245     DWORD Data[4] ;
00246 } ;
00247 
00248 struct GraduationTable {
00249     DWORD Length ;
00250     COLORREF StartColour ;
00251     COLORREF EndColour ;
00252     DitherBlock Table[0x100] ;
00253 } ;
00254 
00255 struct GraduationTable32 {              
00256     DWORD Length ;
00257     COLORREF StartColour ;
00258     COLORREF EndColour ;
00259     COLORREF Table[0x100] ;
00260 } ;
00261 
00262 struct TransparentGradTable {
00263     BYTE Table[0x100] ;
00264 } ;
00265 
00266 struct RGBT {
00267     BYTE Red ;
00268     BYTE Green ;
00269     BYTE Blue ;
00270     BYTE Transparency ;
00271 } ;
00272 
00273 struct BGRT {
00274     BYTE Blue ;
00275     BYTE Green ;
00276     BYTE Red ;
00277     BYTE Transparency ;
00278 } ;
00279 
00280 struct BGR {
00281     BYTE Blue ;
00282     BYTE Green ;
00283     BYTE Red ;
00284     BYTE Unused ;
00285 } ;
00286 
00287 
00288 
00289 struct DashType {
00290     DWORD Length ;
00291     DWORD Offset ;
00292     DWORD Array[8] ;
00293 } ;
00294 
00295 
00296 struct REGION {
00297     DWORD Type ;    
00298     RECT Rect ;
00299     DWORD Data[1] ;
00300 } ;
00301 
00302 #ifndef INC_CAMTYPES
00303     typedef __int64 XLONG ;
00304 
00305 
00306 
00307 
00308 #endif
00309 
00310 struct GMATRIX {
00311     INT32 AX ;
00312     INT32 AY ;
00313     INT32 BX ;
00314     INT32 BY ;
00315     XLONG CX ;
00316     XLONG CY ;
00317 } ;
00318 
00319 
00320 
00321 struct STATISTICS {
00322     COLORREF C ;
00323      INT32 N  ;
00324     XLONG R  ;
00325     XLONG R2 ;
00326     XLONG RX ;
00327     XLONG RY ;
00328     XLONG G  ;
00329     XLONG G2 ;
00330     XLONG GX ;
00331     XLONG GY ;
00332     XLONG B  ;
00333     XLONG B2 ;
00334     XLONG BX ;
00335     XLONG BY ;
00336     XLONG X  ;
00337     XLONG Y  ;
00338     XLONG X2 ;
00339     XLONG Y2 ;
00340     XLONG XY ;
00341 } ;
00342 
00343 
00344 
00345 
00346 
00347 
00348 
00349 
00350 
00351 
00353 
00354 const INT32 FX = 14 ;
00355 const INT32 MAX_BITMAP_WIDTH  = 0x800 ;
00356 const INT32 MAX_BITMAP_HEIGHT = 0x800 ;
00357 
00359 
00360 #endif
00361