home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1997 October
/
Chip_1997-10_cd.bin
/
tema
/
sybase
/
powerj
/
h.z
/
PGCHART.H
< prev
next >
Wrap
C/C++ Source or Header
|
1996-11-06
|
7KB
|
195 lines
/*
* pgchart.h Presentation Graphics functions
*
* Copyright by WATCOM International Corp. 1988-1996. All rights reserved.
*/
#ifndef _PGCHART_H_INCLUDED
#define _PGCHART_H_INCLUDED
#if !defined(_ENABLE_AUTODEPEND)
#pragma read_only_file;
#endif
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _COMDEF_H_INCLUDED
#include <_comdef.h>
#endif
#if defined(_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 */
short _WCI86FAR _pg_initchart( void );
short _WCI86FAR _pg_defaultchart( chartenv _WCI86FAR *, short, short );
short _WCI86FAR _pg_chart( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short );
short _WCI86FAR _pg_chartms( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short, short, short, char _WCI86FAR * _WCI86FAR * );
short _WCI86FAR _pg_chartscatter( chartenv _WCI86FAR *, float _WCI86FAR *, float _WCI86FAR *, short );
short _WCI86FAR _pg_chartscatterms( chartenv _WCI86FAR *, float _WCI86FAR *, float _WCI86FAR *, short, short, short, char _WCI86FAR * _WCI86FAR * );
short _WCI86FAR _pg_chartpie( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short _WCI86FAR *, short );
/* Analyze functions */
short _WCI86FAR _pg_analyzechart( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short );
short _WCI86FAR _pg_analyzechartms( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short, short, short, char _WCI86FAR * _WCI86FAR * );
short _WCI86FAR _pg_analyzescatter( chartenv _WCI86FAR *, float _WCI86FAR *, float _WCI86FAR *, short );
short _WCI86FAR _pg_analyzescatterms( chartenv _WCI86FAR *, float _WCI86FAR *, float _WCI86FAR *, short, short, short, char _WCI86FAR * _WCI86FAR * );
short _WCI86FAR _pg_analyzepie( chartenv _WCI86FAR *, char _WCI86FAR * _WCI86FAR *, float _WCI86FAR *, short _WCI86FAR *, short );
/* Utility functions */
short _WCI86FAR _pg_hlabelchart( chartenv _WCI86FAR *, short, short, short, char _WCI86FAR * );
short _WCI86FAR _pg_vlabelchart( chartenv _WCI86FAR *, short, short, short, char _WCI86FAR * );
short _WCI86FAR _pg_getpalette( paletteentry _WCI86FAR * );
short _WCI86FAR _pg_setpalette( paletteentry _WCI86FAR * );
short _WCI86FAR _pg_resetpalette( void );
void _WCI86FAR _pg_getstyleset( unsigned short _WCI86FAR * );
void _WCI86FAR _pg_setstyleset( unsigned short _WCI86FAR * );
void _WCI86FAR _pg_resetstyleset( void );
short _WCI86FAR _pg_getchardef( short, unsigned char _WCI86FAR * );
short _WCI86FAR _pg_setchardef( short, unsigned char _WCI86FAR * );
#pragma pack(__pop);
#ifdef __cplusplus
};
#endif
#endif