home *** CD-ROM | disk | FTP | other *** search
- /***
- *pgchart.h - Deklariert Konstanten, Funktionen und Makros für
- * Diagrammgrafik-Bibliothek.
- *
- * Copyright (c) 1988-1990, Microsoft Corporation, Alle Rechte vorbehalten.
- *
- * Zweck:
- * Diese Datei deklariert die Funktionen der Diagrammgrafik-Bibliothek, sowie
- * die damit benutzten Strukturen und manifesten Konstanten.
- *
- ***/
-
- /* Erzwingt das Wortausrichtung um mögliches Überschreiben von -Zp zu vermeiden */
- #pragma pack(2)
-
- /* Nötig für fehlende Wertdefinition */
- #define FLT_MAX 3.402823466e+38F /* Höchstwert */
-
- #define _PG_PALETTELEN 16 /* Anzahl Eintragungen interner Palette */
- #define _PG_MAXCHARTTYPE 5 /* Maximal verfügbarer Diagrammtyp */
- #define _PG_MAXCHARTSTYLE 2 /* Maximum Diagrammstil */
- #define _PG_TITLELEN 70 /* Höchstlänge Titeltext */
-
- #define _PG_LEFT 1 /* Positionen, Titel und Beschriftungen */
- #define _PG_CENTER 2
- #define _PG_RIGHT 3
- #define _PG_BOTTOM 4
- #define _PG_OVERLAY 5
-
- #define _PG_LINEARAXIS 1 /* zur Bestimmung der Achsentypen */
- #define _PG_LOGAXIS 2
-
- #define _PG_DECFORMAT 1 /* Bestimmt Teilstrichbeschriftung */
- #define _PG_EXPFORMAT 2
-
- #define _PG_BARCHART 1 /* Diagrammtyp für Balkendiagramm */
- #define _PG_COLUMNCHART 2 /* Diagrammtyp für Säulendiagramm */
- #define _PG_PLAINBARS 1 /* Stile für Balken- und Säulendiagramme */
- #define _PG_STACKEDBARS 2
-
- #define _PG_LINECHART 3 /* Diagrammtyp für Liniendiagramm */
- #define _PG_SCATTERCHART 4 /* Diagrammtyp für Streudiagramm */
- #define _PG_POINTANDLINE 1 /* Stile fü Linien und Streudiagramme */
- #define _PG_POINTONLY 2
-
- #define _PG_PIECHART 5 /* Diagrammtyp für Kreisdiagramm */
- #define _PG_PERCENT 1 /* Stile für Kreisdiagramme */
- #define _PG_NOPERCENT 2
-
- #define _PG_MISSINGVALUE -FLT_MAX /* bedeutet fehlende Datenwerte */
-
- /* Fehlercodes */
-
- /* Bei Fehlernummern über 100 wird die Diagrammroutine abgebrochen, sonst
- * werden die Vorgabewert benutzt.
- */
- #define _PG_NOTINITIALIZED 102 /* Bibliothek nicht initialisiert */
- #define _PG_BADSCREENMODE 103 /* Grafikmodus nicht eingerichtet */
- #define _PG_BADCHARTSTYLE 04 /* Diagrammstil ungültig */
- #define _PG_BADCHARTTYPE 104 /* Diagrammtyp ungültig */
- #define _PG_BADLEGENDWINDOW 105 /* Ungültiges Bschriftungsfenster */
- #define _PG_BADCHARTWINDOW 07 /* x1=x2 oder y1=y2 in */
- /* Diagrammfenster-Bestimmung */
- #define _PG_BADDATAWINDOW 107 /* Wenn Diagrammfenster zu klein ist */
- #define _PG_NOMEMORY 108 /* Speicher für Datenfelder zu klein */
- #define _PG_BADLOGBASE 05 /* Log-Basis <= 0 */
- #define _PG_BADSCALEFACTOR 06 /* Maßstabsfaktor = 0 */
- #define _PG_TOOSMALLN 109 /* Anzahl der Datenpunkte <= 0 */
- #define _PG_TOOFEWSERIES 110 /* Anzahl der Datenserien <= 0 */
-
- /* Typedefs */
-
- /* Typedef für Diagrammtitel */
- #ifndef _TITLETYPE_DEFINED
- typedef struct {
- char title[_PG_TITLELEN]; /* Titeltext */
- short titlecolor; /* Interne Palettenfarbe für Titeltext */
- short justify; /* _PG_LEFT, _PG_CENTER, _PG_RIGHT */
- } titletype;
- #define _TITLETYPE_DEFINED
- #endif
-
- /* Typedef für Diagrammachsen */
- #ifndef _AXISTYPE_DEFINED
- typedef struct {
- short grid; /* WAHR=Gitter zeichnen; FALSCH=nein */
- short gridstyle; /* Stilnummer aus Stilwahl für */
- titletype axistitle; /* Titeldefinition für Achse */
- short axiscolor; /* Farbe für Achse */
- short labeled; /* WAHR=Teilstriche und Titel zeichnen */
- short rangetype; /* _PG_LINEARAXIS, _PG_LOGAXIS */
- float logbase; /* benutzte Basis bei log-Achse */
- short autoscale; /* WAHR=System berechnet nächsten 7 Werte */
- float scalemin; /* Minimalwert des Maßstabs */
- float scalemax; /* Höchstwert des Maßstabs */
- float scalefactor; /* Maßstabsfaktor für Daten dieser Achse */
- titletype scaletitle; /* Titeldefinition für Maßstabsfaktor */
- float ticinterval; /* Abstand der Teilstriche (Welt-Koord.) */
- short ticformat; /* _PG_EXPFORMAT oder _PG_DECFORMAT für Teilstrichbeschriftungen*/
- short ticdecimals; /* Anzahl Teilstrich-Dezimalstellen (max=9) */
- } axistype;
- #define _AXISTYPE_DEFINED
- #endif
-
- /* Typedef zur Definition der Diagramm- und Datenfenster */
- #ifndef _WINDOWTYPE_DEFINED
- typedef struct {
- short x1; /* Linker Rand des Fensters in Bildpunkten */
- short y1; /* Oberrand des Fenster in Bildpunkten */
- short x2; /* Rechter Rand des Fenster in Bildpunkten */
- short y2; /* Unterer Rand des Fenster in Bildpunkten */
- short border; /* WAHR = Rand zeichnen, sonst FALSCH */
- short background; /* Interne Palettenfarbe für Fenster-Htgrd. */
- short borderstyle; /* Stil-Bytes für Fensterrand */
- short bordercolor; /* Interne Palettenfarbe für Fensterrand */
- } windowtype;
- #define _WINDOWTYPE_DEFINED
- #endif
-
- /* Typedef für Beschriftungsdefinition */
- #ifndef _LEGENDTYPE_DEFINED
- typedef struct {
- short legend; /* WAHR=Beschriftung; FALSCH=keine */
- short place; /* _PG_RIGHT, _PG_BOTTOM, _PG_OVERLAY */
- short textcolor; /* Interne Palettenfarbe für Text */
- short autosize; /* WAHR=System berechnet Größe */
- windowtype legendwindow; /* Fensterdefinition für Beschriftung */
- } legendtype;
- #define _LEGENDTYPE_DEFINED
- #endif
-
- /* Typedef für Beschriftungsdefinition */
- #ifndef _CHARTENV_DEFINED
- typedef struct {
- short charttype; /* _PG_BAR, _PG_COLUMN, _PG_LINE, _PG_SCATTER, _PG_PIE */
- short chartstyle; /* Stil für gewählten Diagrammtyp */
- windowtype chartwindow; /* Fensterdefinition für ganzes Diagramm */
- windowtype datawindow; /* Fensterdefinition, Diagramm-Datenteil */
- titletype maintitle; /* Diagramm-Haupttitel */
- titletype subtitle; /* Diagramm-Nebentitel */
- axistype xaxis; /* Definition für X-Achse */
- axistype yaxis; /* Definition für Y-Achse */
- legendtype legend; /* Definition für Beschriftung */
- } chartenv;
- #define _CHARTENV_DEFINED
- #endif
-
- /* Typedef für Zeichen-Bitabbildung */
- #ifndef _CHARMAP_DEFINED
- typedef unsigned char charmap[8];
- #define _CHARMAP_DEFINED
- #endif
-
- /* Typedef für Muster-Bitabbildung */
- #ifndef _FILLMAP_DEFINED
- typedef unsigned char fillmap[8];
- #define _FILLMAP_DEFINED
- #endif
-
- /* Typedef für Paletteneintragungs-Definition */
- #ifndef _PALETTEENTRY_DEFINED
- typedef struct {
- unsigned short color;
- unsigned short style;
- fillmap fill;
- char plotchar;
- } paletteentry;
- #define _PALETTEENTRY_DEFINED
- #endif
-
- /* Typedef für Palettendefinition */
- #ifndef _PALETTETYPE_DEFINED
- typedef paletteentry palettetype[_PG_PALETTELEN];
- #define _PALETTETYPE_DEFINED
- #endif
-
- /* Typedef für Stilgruppen */
- #ifndef _STYLESET_DEFINED
- typedef unsigned short styleset[_PG_PALETTELEN];
- #define _STYLESET_DEFINED
- #endif
-
- /* Funktionsprototypen für Diagrammroutinen */
-
- short _far _cdecl _pg_initchart(void);
- short _far _cdecl _pg_defaultchart(chartenv _far *, short, short);
-
- short _far _cdecl _pg_chart(chartenv _far *, char _far * _far *, float _far *, short);
- short _far _cdecl _pg_chartms(chartenv _far *, char _far * _far *, float _far *, short, short, short, char _far * _far *);
-
- short _far _cdecl _pg_chartscatter(chartenv _far *, float _far *, float _far *, short);
- short _far _cdecl _pg_chartscatterms(chartenv _far *, float _far *, float _far *, short, short, short, char _far * _far *);
-
- short _far _cdecl _pg_chartpie(chartenv _far *, char _far * _far *, float _far *, short _far *, short);
-
- /* Funktionsprototypen für Nebenroutinen */
-
- short _far _cdecl _pg_hlabelchart(chartenv _far *, short, short, short, char _far *);
- short _far _cdecl _pg_vlabelchart(chartenv _far *, short, short, short, char _far *);
-
- short _far _cdecl _pg_analyzechart(chartenv _far *, char _far * _far *, float _far *, short);
- short _far _cdecl _pg_analyzechartms(chartenv _far *, char _far * _far *, float _far *, short, short, short, char _far * _far *);
-
- short _far _cdecl _pg_analyzescatter(chartenv _far *, float _far *, float _far *, short);
- short _far _cdecl _pg_analyzescatterms(chartenv _far *, float _far *, float _far *, short, short, short, char _far * _far *);
-
- short _far _cdecl _pg_analyzepie(chartenv _far *, char _far * _far *, float _far *, short _far *, short);
-
- short _far _cdecl _pg_getpalette(paletteentry _far *);
- short _far _cdecl _pg_setpalette(paletteentry _far *);
- short _far _cdecl _pg_resetpalette(void);
-
- void _far _cdecl _pg_getstyleset(unsigned short _far *);
- void _far _cdecl _pg_setstyleset(unsigned short _far *);
- void _far _cdecl _pg_resetstyleset(void);
-
- short _far _cdecl _pg_getchardef(short, unsigned char _far *);
- short _far _cdecl _pg_setchardef(short, unsigned char _far *);
-
- /* Standard-Packen wieder initialisieren */
- #pragma pack()
-