/* * pgchart.h Presentation Graphics functions * * ========================================================================= * * Open Watcom Project * * Copyright (c) 2002-2010 Open Watcom Contributors. All Rights Reserved. * Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved. * * This file is automatically generated. Do not edit directly. * * ========================================================================= */ #ifndef _PGCHART_H_INCLUDED #define _PGCHART_H_INCLUDED #ifndef _ENABLE_AUTODEPEND #pragma read_only_file; #endif #ifndef _COMDEF_H_INCLUDED #include <_comdef.h> #endif #ifdef __cplusplus extern "C" { #endif #ifdef _M_IX86 #pragma pack( __push, 1 ) #else #pragma pack( __push, 8 ) #endif #define _PG_MAXCHARTTYPE 5 /* maximum chart type */ enum { /* chart types */ _PG_BARCHART=1, _PG_COLUMNCHART, _PG_LINECHART, _PG_SCATTERCHART, _PG_PIECHART }; #define _PG_MAXCHARTSTYLE 2 /* maximum chart style */ enum { /* styles for bar and column charts */ _PG_PLAINBARS=1, _PG_STACKEDBARS }; enum { /* styles for line and scatter charts */ _PG_POINTANDLINE=1, _PG_POINTONLY }; enum { /* styles for pie charts */ _PG_PERCENT=1, _PG_NOPERCENT }; enum { /* title and legend positions */ _PG_LEFT=1, _PG_CENTER, _PG_RIGHT, _PG_BOTTOM, _PG_OVERLAY }; enum { /* axis types */ _PG_LINEARAXIS=1, _PG_LOGAXIS }; enum { /* tic mark label format */ _PG_DECFORMAT=1, _PG_EXPFORMAT }; #define _PG_MISSINGVALUE (-FLT_MAX) /* value for missing data elements */ /* Error codes - greater than 100, terminate chart routine - less than 100, default values will be used */ #define _PG_NOTINITIALIZED 101 /* library not initialized */ #define _PG_BADSCREENMODE 102 /* not in graphics mode */ #define _PG_BADCHARTTYPE 103 /* invalid chart type */ #define _PG_BADLEGENDWINDOW 104 /* invalid legend window */ #define _PG_BADDATAWINDOW 105 /* invalid data window */ #define _PG_TOOSMALLN 106 /* number of data values <= 0 */ #define _PG_TOOFEWSERIES 107 /* number of series <= 0 */ #define _PG_BADCHARTSTYLE 1 /* invalid chart style */ #define _PG_BADLOGBASE 2 /* log base <= 0 */ #define _PG_BADSCALEFACTOR 3 /* scale factor = 0 */ #define _PG_BADCHARTWINDOW 4 /* invalid chart window */ /* Chart definition */ #define _PG_TITLELEN 70 /* maximum title length */ typedef struct { /* chart title definition */ char title[ _PG_TITLELEN ]; /* title text */ short titlecolor; /* palette color for title */ short justify; /* _PG_LEFT, _PG_CENTER or _PG_RIGHT */ } titletype; typedef struct { /* chart axes definition */ short grid; /* if TRUE draw grid lines */ short gridstyle; /* style number for grid lines */ titletype axistitle; /* axis title */ short axiscolor; /* palette color for axis */ short labeled; /* if TRUE draw tic marks and titles */ short rangetype; /* _PG_LINEARAXIS or _PG_LOGAXIS */ float logbase; /* base used for log axis */ short autoscale; /* if TRUE calculate remaining values */ float scalemin; /* minimum value for scale */ float scalemax; /* maximum value for scale */ float scalefactor; /* scale factor for axis */ titletype scaletitle; /* title for scale factor */ float ticinterval; /* interval between tic marks */ short ticformat; /* _PG_EXPFORMAT or _PG_DECFORMAT */ short ticdecimals; /* number of decimals places in tic labels */ } axistype; typedef struct { /* chart and data window definition */ short x1; /* left side of window */ short y1; /* top side of window */ short x2; /* right side of window */ short y2; /* bottom side of window */ short border; /* if TRUE draw border */ short background; /* palette color for background */ short borderstyle; /* style number for border */ short bordercolor; /* palette color for border */ } windowtype; typedef struct { /* legend definition */ short legend; /* if TRUE draw legend */ short place; /* _PG_RIGHT, _PG_BOTTOM or _PG_OVERLAY */ short textcolor; /* palette color for text */ short autosize; /* if TRUE size is calculated */ windowtype legendwindow; /* window for legend */ } legendtype; typedef struct { /* chart definition */ short charttype; /* _PG_BAR, _PG_COLUMN, _PG_LINE, _PG_SCATTER or _PG_PIE */ short chartstyle; /* chart style for above type */ windowtype chartwindow; /* window containing whole chart */ windowtype datawindow; /* window containing data part of chart */ titletype maintitle; /* chart main title */ titletype subtitle; /* chart sub-title */ axistype xaxis; /* x-axis description */ axistype yaxis; /* y-axis description */ legendtype legend; /* legend description */ } chartenv; /* Palette and Style-set definition */ #define _PG_PALETTELEN 16 /* size of palette and style-set */ typedef unsigned char charmap[ 8 ]; /* character bit-map */ typedef unsigned char fillmap[ 8 ]; /* pattern bit-map */ typedef struct { /* palette entry definition */ unsigned short color; unsigned short style; fillmap fill; char plotchar; } paletteentry; typedef paletteentry palettetype[ _PG_PALETTELEN ]; typedef unsigned short styleset[ _PG_PALETTELEN ]; /* Display functions */ _WCRTLINK short _WCI86FAR _pg_initchart( void ); _WCRTLINK short _WCI86FAR _pg_defaultchart( chartenv _WCI86FAR *, short, short ); _WCRTLINK short _WCI86FAR _pg_chart( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short ); _WCRTLINK short _WCI86FAR _pg_chartms( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short, short, short, char _WCI86FAR * _WCI86FAR * ); _WCRTLINK short _WCI86FAR _pg_chartscatter( chartenv _WCI86FAR *, float _WCI86FAR *, float _WCI86FAR *, short ); _WCRTLINK short _WCI86FAR _pg_chartscatterms( chartenv _WCI86FAR *, float _WCI86FAR *, float _WCI86FAR *, short, short, short, char _WCI86FAR * _WCI86FAR * ); _WCRTLINK short _WCI86FAR _pg_chartpie( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short _WCI86FAR *, short ); /* Analyze functions */ _WCRTLINK short _WCI86FAR _pg_analyzechart( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short ); _WCRTLINK short _WCI86FAR _pg_analyzechartms( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short, short, short, char _WCI86FAR * _WCI86FAR * ); _WCRTLINK short _WCI86FAR _pg_analyzescatter( chartenv _WCI86FAR *, float _WCI86FAR *, float _WCI86FAR *, short ); _WCRTLINK short _WCI86FAR _pg_analyzescatterms( chartenv _WCI86FAR *, float _WCI86FAR *, float _WCI86FAR *, short, short, short, char _WCI86FAR * _WCI86FAR * ); _WCRTLINK short _WCI86FAR _pg_analyzepie( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short _WCI86FAR *, short ); /* Utility functions */ _WCRTLINK short _WCI86FAR _pg_hlabelchart( chartenv _WCI86FAR *, short, short, short, char _WCI86FAR * ); _WCRTLINK short _WCI86FAR _pg_vlabelchart( chartenv _WCI86FAR *, short, short, short, char _WCI86FAR * ); _WCRTLINK short _WCI86FAR _pg_getpalette( paletteentry _WCI86FAR * ); _WCRTLINK short _WCI86FAR _pg_setpalette( paletteentry _WCI86FAR * ); _WCRTLINK short _WCI86FAR _pg_resetpalette( void ); _WCRTLINK void _WCI86FAR _pg_getstyleset( unsigned short _WCI86FAR * ); _WCRTLINK void _WCI86FAR _pg_setstyleset( unsigned short _WCI86FAR * ); _WCRTLINK void _WCI86FAR _pg_resetstyleset( void ); _WCRTLINK short _WCI86FAR _pg_getchardef( short, unsigned char _WCI86FAR * ); _WCRTLINK short _WCI86FAR _pg_setchardef( short, unsigned char _WCI86FAR * ); #pragma pack( __pop ) #ifdef __cplusplus } /* extern "C" */ #endif #endif