home *** CD-ROM | disk | FTP | other *** search
- /*************************************************************************/
- /* */
- /* Copyright (c) QUINN-CURTIS, Inc., 1992 - 1996 */
- /* */
- /*************************************************************************/
- /** */
- /** Filename : qcwin.h */
- /** Author : MS */
- /** Revision : 2.52 */
- /** Date : March 11, 1996 */
- /** */
- /** Product : Charting Tools for Windows */
- /** */
- /** Description: QC Windows Charting Tools Definitions and */
- /** Function Prototypes */
- /** */
- /** Revisions: 1.3. Definitions added for Real-Time Tools */
- /** 1.5 7/13/94 - Support of Real-Time Tools */
- /** 2.0 12/28/94 - 32-bit support */
- /** */
- /*************************************************************************/
-
- #ifndef _QCWINH
- #define _QCWINH 1
-
- #ifdef RTFL /* first define RTFL if you need realtype=float */
- #define realtype float /* can be double or float */
- #else
- #define realtype double /* can be double or float */
- #endif
-
- #ifdef __cplusplus
- extern "C" {
-
- #define QC_MEMBER 1 /* This definition enables using class member functions
- for page and graph building. If you use C++ but
- want this functions to be static, as in C,
- delete this line !!! */
- #endif
- /**********************************************************************/
- #ifdef __BORLANDC__
- #pragma warn -par
- #ifdef __WIN32__
- #ifndef WIN32
- #define WIN32 __WIN32__
- #endif
- #endif
- #else // Microsoft
- #define M_PI 3.14159265358979323846
- #define M_2PI 6.28318530718
- #ifdef WIN32
- #define _export
- #endif
- #endif // end Microsoft
-
- /****************************************************************************/
- // Windows versions
- #define WV_31 0
- #define WV_32S 1
- #define WV_NT 2
- #define WV_95 3
- /****************************************************************************/
-
- typedef long HGRAPH; /* graph handle */
- typedef HANDLE HCONT; /* control object handle */
-
- #ifndef WIN32
- typedef HANDLE HGOBJ; /* graphical object handle */
- typedef HANDLE HDATA; /* data set handle */
- typedef HGOBJ FAR *PHGOBJ; /* pointer to object handle */
- typedef realtype huge *HPREAL; /* huge pointer to realtype */
- typedef float huge *HPFLOAT; /* huge pointer to float */
- typedef float far *LPFLOAT; /* far pointer to float */
- typedef realtype far *LPREAL; /* pointer to realtype */
- typedef short huge *HPSHORT;
- typedef short far *LPSHORT;
- typedef int far *LPINT;
- typedef int huge *HPINT;
- typedef short near *PSHORT;
- typedef POINT huge *HPPOINT; /* far pointer to realtype */
- typedef char huge *HPSTR;
- #else
- typedef unsigned short HGOBJ; /* graphical object handle */
- typedef UINT HDATA; /* data set handle */
- typedef HGOBJ *PHGOBJ; /* pointer to object handle */
- typedef realtype *HPREAL; /* pointer to realtype */
- typedef float *HPFLOAT; /* pointer to float */
- typedef float *LPFLOAT; /* pointer to float */
- typedef realtype *LPREAL; /* pointer to realtype */
- typedef short *HPSHORT;
- typedef short *LPSHORT;
- typedef int *LPINT;
- typedef int *HPINT;
- typedef short *PSHORT;
- typedef POINT *HPPOINT; /* far pointer to realtype */
- typedef char *HPSTR;
- #define _fmemcpy memcpy
-
- #ifndef hmemcpy
- #define hmemcpy memcpy
- #endif
-
- #define _fmalloc malloc
- #define _fmemset memset
- #define _fstrcpy strcpy
- #define _fstrncpy strncpy
- #define _ffree free
-
- #endif // WIN32
-
- #define MAX_PAGES 60
- #define MAX_DATASETS 1800
- #define INIT_NUM_OBJS 20 /* initial number of objects per graph */
- #define MAXPATHLEN 164
- #define MAX_GRAPHS 16 /* max number of graphs per page */
-
- /* ways of creating page window */
-
- #define PAGE_CLIENT 0 /* fill parent window client area */
- #define PAGE_FULL 1 /* fill the whole screen */
- #define PAGE_EXACT 2 /* use passed coordinates */
-
- /* Page Window scaling types - fixed, proportionate, and isotropic */
- #define MM_FIXED MM_ISOTROPIC
- #define MM_PROPORT MM_ANISOTROPIC
- #define MM_ISOTR 9
- #define MM_PROPORT_FT 10 // proportionate with fixed text size
- #define MM_ISOTR_FT 11 // isotropic with fixed text size
-
- /* coordinate types */
-
- #define CO_LOG 0
- #define CO_PHYS 1
- #define CO_NORM 2
- #define CO_DEV 3
-
- /* Point search constants */
-
- #define FNP_X 0 // nearest x
- #define FNP_Y 1 // nearest y
- #define FNP_DIST 2 // shortest distance
-
- /* printing styles */
-
- #define PRT_FULL 0 /* Pages and graphs are printed so that paper
- is used maximally. Text is printed
- proportionately to other objects */
- #define PRT_PROP 1 /* Pages are printed so that paper
- is used maximally. Graphs are printed
- proportionately to page size.
- Text is printed proportionately to other objects */
-
- #define PRT_EXACT 2 /* physical size, font size in points are preserved */
-
- /**************************************************************************/
- /* Graphical objects */
- /**************************************************************************/
-
- #define GO_PLOT 1 /* can be line, bars, scat, etc */
- #define GO_GROUP 2 /* can be stacked lines, bars */
- #define GO_LEGEND 3
- #define GO_LINE 4 /* Straight line */
- #define GO_ARROW 5 /* Straight line with arrow */
-
- #define GO_LAST1 9
-
- #define GO_AX 10
- #define GO_LABELS 11
- #define GO_TEXT 12
- #define GO_ARC 13
-
- #define GO_LAST2 19
-
- /*************************************************************/
-
- #define GO_PIECHART 20
- #define GO_METAFILE 21
- #define GO_ELLIPSE 22
- #define GO_BITMAP 23
- #define GO_POLYGON 24
- #define GO_RECT 25
- #define GO_PIE 26
- #define GO_DATACURSOR 27
- #define GO_PLOTSCALE 49 // dummy object for save/restore
- #define GOS_MAX 50 // max value of statical graphical object
- #define GO_USER 1000
-
- /* Line types - subtype field */
-
- #define LT_LINE 3
- #define LT_LINEMARK 4
- #define LT_SCAT 5
- #define LT_VBAR 6
- #define LT_HBAR 7
- #define LT_3DVBAR 8
- #define LT_3DHBAR 9
- #define LT_LAST LT_3DHBAR
-
- /* types of group plots */
-
- #define GT_GROUPBARS 0
- #define GT_DEEPBARS 1
- #define GT_STACKEDBARS 2
- #define GT_FLOATBARS 3
- #define GT_STACKEDLINES 5
- #define GT_HILOCLOSE 6
- #define GT_ERRORBARS 7
-
- /* data cursor types */
-
- #define DC_VLINE 0 // vertical line
- #define DC_HLINE 1 // horizontal line
- #define DC_CROSS 2 // crosshair
- #define DC_BOX 3 // square
-
- /**************************************************************************/
- /* Dynamic Graphical objects */
- /**************************************************************************/
-
- #define GO_DYN 100 /* First dynamic object */
-
- #define GOD_ALARMLINES GO_DYN /* alarm lines */
- #define GOD_ALARMMARKS GO_DYN + 1 /* alarm marks (for bar graphs) */
- #define GOD_DYNGRID GO_DYN + 2 /* grid lines */
- #define GOD_SCROLL GO_DYN + 3 /* scroll, sweep, scrolling bars, etc. */
- #define GOD_XYPLOT GO_DYN + 4 /* dynamic xy plot */
- #define GOD_LABELS GO_DYN + 5 /* dynamic labels */
- #define GOD_BARS GO_DYN + 6 /* dynamic bars */
- #define GOD_TEXT GO_DYN + 7 /* dynamic text */
- #define GOD_MESSAGE GO_DYN + 8 /* message text */
- #define GOD_ANNUNC GO_DYN + 9 /* annunciator panel - compound object */
- #define GOD_METER GO_DYN + 10 /* meter */
- #define GOD_CHCONTROL GO_DYN + 11 /* child control */
- #define GOD_LEGEND GO_DYN + 12 // used only for save/restore
-
- #define GOD_SUBT_SCLINE 1 // scrolling line subtype
- #define GOD_SUBT_SCBAR 2 // scrolling bar subtype
- #define GOD_SUBT_SWLINE 3 // sweep line subtype
- #define GOD_SUBT_LOGIC 4 // logic line subtype
-
- /////////////////////NEW OBJECT
- #define GOD_SUBT_SCLINEVAR 5 // variable scrolling lines
-
- #define GOD_SUBT_BAR 5 // bar graph subtype
- #define GOD_SUBT_ALMTEXT 6 // alarm text subtype
- #define GOD_SUBT_STACKED 7 // stacked line subtype
- #define GOD_SUBT_TIME 10 // time subtype (for axes and labels)
- #define GOD_SUBT_DYNLEG 11 // dynamic legend subtype
-
- #define ARROW_START 1
- #define ARROW_END 2
- #define ARROW_BOTH 3
-
- #define MAX_ALMNAME 12
- #define NALMLINES 5
-
- /* data reduction types */
-
- #define DC_SKIP 0
- #define DC_AVERAGE 1
- #define DC_MAX 2
- #define DC_MIN 3
-
- /* bitmap display modes */
-
- #define BM_ORIG 0
- #define BM_STRETCH 1
-
- /* COLOR CODES */
-
- #define C_RGB -2 // for RGB colors
- #define C_TRANSPARENT -1
- #define C_BLACK 0
- #define C_BLUE 1
- #define C_GREEN 2
- #define C_CYAN 3
- #define C_RED 4
- #define C_MAGENTA 5
- #define C_BROWN 6
- #define C_LIGHTGRAY 7
- #define C_GRAY 8
- #define C_LIGHTBLUE 9
- #define C_LIGHTGREEN 10
- #define C_LIGHTCYAN 11
- #define C_LIGHTRED 12
- #define C_LIGHTMAGENTA 13
- #define C_YELLOW 14
- #define C_WHITE 15
-
- #define C_PALEBLUE 16
- #define C_PALEGREEN 17
- #define C_MEDGRAY 18
- #define C_OFFWHITE 19
-
- #define NUMCOLS 20
-
- /**************************************************************************/
- /* Axis scaling types */
-
- #define ST_LINEAR 0
- #define ST_LOG 1
-
- /**************************************************************************/
- /* Grid types */
-
- #define GRID_MAJOR 0
- #define GRID_MINOR 1
- #define GRID_ALL 2
-
- /**************************************************************************/
- /* Tick mark, bar, etc. position definitions: */
-
- #define POS_BELOW 0
- #define POS_INSIDE POS_BELOW
- #define POS_LEFT 1
- #define POS_RIGHT 2
- #define POS_MIDDLE 3
- #define POS_ABOVE 4
- #define POS_OUTSIDE POS_ABOVE
- #define POS_INVISIBLE 5
-
- #define POS_BELOW_PLOT 6
- #define POS_ABOVE_PLOT 7
- #define POS_LEFT_PLOT 8
- #define POS_RIGHT_PLOT 9
-
- #define TEXT_NORMAL 0
- #define TEXT_VERTLEFT 900
- #define TEXT_VERTRIGHT 2700
-
- #define TEXT_BOLD 1 /* can be ORed with each other */
- #define TEXT_ITAL 2
- #define TEXT_UNDERLINE 4
-
- /***********************************************************************/
- /* last label indicators: */
- /***********************************************************************/
-
- #define LL_ON 0
- #define LL_OFF 1
- #define LL_TEXT 2
-
- #define LABELLEN 42 /* maximal length of string label */
- #define LG_MAXLEN LABELLEN // maximal legend length
- #define MAX_MESLEN LABELLEN // 42
- #define MAX_MESNUM 8 // number of messages
-
- /***********************************************************************/
- /* Pie Chart Constants */
- /***********************************************************************/
-
- #define PIE_NUM_NONE 0
- #define PIE_NUM_PERC 1
- #define PIE_NUM_VAL 2
- #define PIE_NUM_BOTH 3
-
- #define PIE_IN 0
- #define PIE_OUT 1
-
- #define PIE_2D 10
- #define PIE_3D 11
-
- /***********************************************************************/
- /* Numbers formats: */
-
- #define NF_DECIMAL 0
- #define NF_SCIENTIFIC 1
- #define NF_ENG 2
- #define NF_EXP 3
- #define NF_TIMEF 4
- #define NF_G 5
-
- #define TM_HMS 1 // time format, hh:mm:ss. Prec ignored
- #define TM_HM 2 // time format, hh:mm
- #define TM_MS 4
-
- /************************************************************************/
- /* Intercept flags for auto axes. */
-
- #define INTF_ZERO 0 /* use 0 for intercepts */
- #define INTF_MIN 1 /* minimal values for both axes */
- #define INTF_MAX 2 /* maximal values for both axes */
- #define INTF_MINMAX 3 /* min Y intercept for axis X, max for Y */
- #define INTF_MAXMIN 4 /* max for X, min for Y */
-
- /************************************************************************/
- /* Symbols (markers) types: */
-
- #define MK_NONE 0
- #define MK_X 1
- #define MK_UPTRIANGLE 2
- #define MK_DOWNTRIANGLE 3
- #define MK_BOX 4
- #define MK_PLUS 5
- #define MK_ASTERISK 6
- #define MK_DIAMOND 7
- #define MK_CIRCLE 8
- #define MK_DOT 9
-
- /*********************************************************************/
- /* Marker and bar styles */
-
- #define MKS_FILLED 0
- #define MKS_EMPTY 1
- #define MKS_CDOT 2
-
- #define BAR_FULL MKS_FILLED
- #define BAR_HOLLOW MKS_EMPTY
- #define BAR_BORDER MKS_CDOT
-
- /************************************************************************/
- /* Autoscaling parameters: */
-
- #define AS_ROUNDCLOSE 1
- #define AS_ROUNDFAR 2
-
- /**********************************************************************/
- /* DSP constants (windows types) */
- /**********************************************************************/
-
- #define DSPWIN_RECTANG 0
- #define DSPWIN_PARZEN 1
- #define DSPWIN_HANNING 2
- #define DSPWIN_WELCH 3
- #define DSPWIN_HAMMING 4
- #define DSPWIN_EXACTB 5
-
- /***************************************************************************/
- /* orientation constants */
-
- #define OR_VERT 0
- #define OR_HORZ 1
-
- /***************************************************************************/
- // raised rectangle constants
-
- #define RC_FLAT 0 // regular
- #define RC_HIGH 1
- #define RC_DEEP 2
- #define RC_LOW 3
- #define RC_SHALLOW 4
- #define RC_3DBORDER 5
-
-
- /***************************************************************************/
- // Metafile types
-
- #define MF_WIN 0 // Old Windows metafile
- #define MF_PL 1 // Placeable Aldus metafile
- #define MF_ENH 2 // New enhanced Windows metafile
-
- /***************************************************************************/
- /* placeable metafile header */
- #pragma pack(1)
- typedef struct
- {
- DWORD key;
- WORD hmf;
- short left;
- short top;
- short right;
- short bottom;
- WORD inch;
- DWORD reserved;
- WORD checksum;
- } EXT_MFHEADER;
-
- /*************************************************************************/
- typedef struct /* Metafile object */
- {
- HGLOBAL hMem; /* memory handle for the OBJ_META descriptor */
- HMETAFILE hmf;
- EXT_MFHEADER ExtHeader;
- BOOL bEnh; /* TRUE if new enhanced metafile */
- }
- OBJ_META;
- #pragma pack()
- /**************************************************************************/
- typedef struct
- {
- LOGPEN lp; /* Windows pen descriptor */
- short nWidth; /* line width in pixels */
- long nColor; /* pure color code */
- HWND hwnd; /* handle of the graph window */
- } LINEDESC;
-
-
-
- typedef OBJ_META far *POBJ_META;
-
- /***************************************************************************/
- /* Page descriptor (page can have multiple graphs) */
-
- typedef struct
- {
- HGRAPH hPage; // handle
- HWND hwnd; // chart page window handle
- void (CALLBACK *lpfnPage) (LPVOID); // function initializing graphs
- HWND hwParent; // parent window handle
- int cxVExt; // Viewport extents
- int cyVExt;
- int cxWExt; // Window extents
- int cyWExt;
- DWORD rgbBkColor; // Chart page window background color
- short nMapMode; // ISOTROPIC or ANISOTROPIC
- short nNumGraphs; // Number of graphs on the page
- short nGraphCount;
- short nSavMapMode;
-
- BOOL fInitGraph; // Initialization flag
- BOOL fLoaded;
- BOOL fDynamic; // Set to TRUE if something is dynamic
- HGRAPH hSelGraph; // handle to selected graph
- HGRAPH hPrevSelGraph; // handle to previously selected graph
- BOOL fDispSel; // flag indicating selectors are displayed
- BOOL fPrevDispSel; // previous state of the flag
- BOOL fHigh; // flag indicating selected graph is highlighted
- BOOL reserved1; //
- BOOL fBlow; // flag indicating selected graph is blown up
- BOOL fMeta; // if not 0, output is to a metafile
-
- float fSelxOrg; // Save area for selected graph window extents
- float fSelyOrg; // and origin relative to page
- float fSelxExt;
- float fSelyExt;
-
- float rXOrigCoef; // compression/expansion coefficients
- float rYOrigCoef; // relative to original size
- int cxVExtOrig; // Original Viewport extents
- int cyVExtOrig;
-
- WORD nLTickSize; // Large Tick Size in pixels
- WORD nSTickSize; // Small Tick Size in pixels
-
- char szFileName[MAXPATHLEN]; // Save file or metafile name
- char szName[13]; // ASCII internal name of the page
- char cMapIsotr; // Isotropic resizable mapping mode flag
- WORD bFixedText; // if != 0, text size does not change when graph is resized
- long wUserWord1; // user can do anything with this field
- long wUserWord2; // user can do anything with this field
- LPVOID lpTopDesc; // pointer to TopDesc
-
- HGLOBAL hGrMem [MAX_GRAPHS]; // array of memory handles to graphs
- HWND hwndButton [MAX_GRAPHS]; // handles to selector buttons
- DWORD dwSignature;
- int nPosStyle;
- } PAGE_DEF;
-
- typedef PAGE_DEF far *PPAGE_DEF;
-
- /**************************************************************************/
- typedef struct // common header
- {
- short nType; // object type
- short nSubType; // object subtype
- HGOBJ (_cdecl FAR *lpfnObj) (LPVOID, HDC); // function drawing the object
- RECT rcBoundary; // object limits in device coordinates
- HGOBJ hObj1; // handles of associated objects (axes)
- HGOBJ hObj2;
- LINEDESC ld;
- char reserved [10];
- BYTE fInverse;
- BYTE fShow; // if = 0, hide object
- }
- OBJ_HEAD;
- typedef OBJ_HEAD FAR *POBJ_HEAD;
-
- /**************************************************************************/
- typedef struct
- {
- // storage for current graph parameters
- LINEDESC ld;
- short nXScaleType; // ST_LINEAR or ST_LOG
- short nYScaleType;
- realtype rxInt; // intercepts
- realtype ryInt;
-
- realtype rxMin; // scaling values
- realtype rxMax;
- realtype ryMin;
- realtype ryMax;
-
- realtype rxLMin; // scaling values (logarithmic)
- realtype rxLMax;
- realtype ryLMin;
- realtype ryLMax;
-
- } CUR_PAR;
-
- /**************************************************************************/
- /* Graph descriptor */
-
- typedef struct
- {
- HGRAPH hGraph; // handle
- HWND hwnd; // graph window handle
- void (CALLBACK *lpfnGraph) (LPVOID, HDC); // function drawing the graph
- POBJ_HEAD pCurrentObjDesc; // pointer to currently processed object desc.
- COLORREF rgbWinBkColor; // Chart window background color
- COLORREF rgbPlotBkColor; // Plotting area background color
- BOOL fFirstTime;
- BOOL fInit;
- LINEDESC bd; // border line descriptor
- BOOL fBorder; // border flag
- HDC hdcPrint; // if not 0, output is to a printer
- HDC hdcMeta; // if not 0, output is to a metafile
- int nDynamic; // Set to > 0 if something is dynamic
- RECT rPlotCoord; // logical coordinates of plotting area
- PPAGE_DEF pPageDesc; // Page descriptor pointer
- int xWOrg; // Window extents and origin in logical coords
- int yWOrg;
- int cxWExt;
- int cyWExt;
-
- int xVOrg; // Window extents and origin in device coords
- int yVOrg;
- int cxVExt;
- int cyVExt;
-
- float fxOrg; // Window extents and origin relative to page
- float fyOrg;
- float fxExt;
- float fyExt;
- float fxExtOrig;
- float fyExtOrig;
-
- float rpX1; // Plotting area coordinates relative
- float rpY1; // to graph window
- float rpX2;
- float rpY2;
-
- CUR_PAR cp; // current parameters
-
- short nMapMode; //
- int cxLogPixel; // width of 1 pixel in logical units
- int cyLogPixel; // height of 1 pixel in logical units
- short nObjCounter;
- HGOBJ hSelObj; // selected object handle
- HGOBJ hAxisX;
- HGOBJ hAxisY;
- HDC hdc; // own hdc (real time only)
- short nNumObjs; // number of objects in the graph
- char cIgnorePlot;
- char cRaised; // 0 - flat, 1 - raised, 2 - low
- LPVOID pGCO; // pointer to Graph Class Object (MFC only)
- DWORD dwSignature;
- char reserved;
- char cRepaint; // if != 0 repaint graph background
- WORD wUserWord1; // user can do anything with this field
- WORD wUserWord2; // user can do anything with this field
- HGLOBAL hObjDup; // memory handle for an object copy, for editing
- HGLOBAL hObjArr;
- HGLOBAL FAR *pObjArr; // pointer to array of object memory handles
-
- } GRAPH_DEF;
-
- typedef GRAPH_DEF far *PGRAPH_DEF;
-
- /**************************************************************************/
- /* Dynamic data definitions ***********************************************/
- /**************************************************************************/
- #define DYN_MAXVAL 32 // maximal number of dynamic elements per object
- #define DYNTITLELEN 42 // DATA SET TITLE length
- #define DYNUNITSLEN 11 // length of eng. units string
- #define MAX_DYNSETS 200 // max. number of dynamic data sets
- #define MAX_ALMESLEN 32
- #define TAGLEN 16 // channel tag length
- #define MAX_ALM 7 // max. number of alarm types
-
- /* Every dynamic object can have up to DYN_MAXVAL individual elements */
-
- /**************************************************************************/
-
- typedef struct // dynamic element descriptor
- {
- float rAlVal; // alarm value
- char szAlarmName [MAX_ALMESLEN]; // alarm name
- }
- ALARM_DEF;
-
- /**************************************************************************/
- typedef struct // dynamic data set descriptor
- {
- char cNumChannels; // from 1 up to 32
- char cUseCounter;
- char szTitle [DYNTITLELEN]; // unique title of the data set 2
- LPVOID lpDDEDesc; // pointer to DDE descriptor, or NULL 44
-
- float rNewVal [DYN_MAXVAL]; // values 48
- float rPrevVal[DYN_MAXVAL];
- HGLOBAL hRealData; // memory handle for historical data array
- HPFLOAT hpRealData; // huge pointer to historical data array
- UINT wRealTo; // index to the next value
- BOOL bHistFull; // TRUE after data array is first filled
- int nHistSize; // number of samples in history buffer (real values)
- char szUnits [DYNUNITSLEN]; // engineering units
- char cAlmMask;
- int nXY; // set to 1 if data used by XY plot
-
- ALARM_DEF almHigh; // alarm descriptors
- ALARM_DEF almLow;
- ALARM_DEF almHH;
- ALARM_DEF almLL;
- ALARM_DEF almRate; // rate of change value, per second
- ALARM_DEF almDev; // deviation (setp - meas)
- ALARM_DEF almFail; // fail (DDE)
- realtype rSetp;
- realtype rHyst; // high and low alarm hysteresis
- realtype rDevHyst; // deviation alarm hysteresis
- char szNormName [MAX_ALMNAME]; // normal state name
-
- BOOL bCheckAlarms; // if TRUE, check alarms
- char szTag[DYN_MAXVAL][TAGLEN]; // channel tags
- char cPrevAlmOut[DYN_MAXVAL]; // previous alarm output for every channel
- char cAlmOut[DYN_MAXVAL]; // alarm output for every channel
- UINT wBinNewVal; // binary channels
- UINT wBinPrevVal;
- }
- DYNDATA_DEF;
- typedef DYNDATA_DEF far *PDYNDATA;
- /***************************************************************************/
- /* Function prototypes *************************************************/
- /***********************************************************************/
- /*************************************************************************
- * COLOR FUNCTIONS
- *************************************************************************/
-
- COLORREF WINAPI _export WGGetRGBColor (UINT wColor);
- UINT WINAPI _export WGGetPureColor (COLORREF rgbColor);
- COLORREF WINAPI _export WGCreateShadeColor(COLORREF rgbColor);
-
- /************************************************************************/
- /* Graphics Setup */
- /************************************************************************/
- BOOL WINAPI _export WGSetPlotArea (PGRAPH_DEF pGrDesc, HDC hdc,
- realtype rX1, realtype rY1, realtype rX2, realtype rY2, int nColor);
-
- void WINAPI _export WGSetAxesScale (PGRAPH_DEF pGrDesc,
- int nXScaleType, int nYScaleType);
- void WINAPI _export WGScalePlotArea (PGRAPH_DEF pGrDesc, realtype xmin,
- realtype ymin, realtype xmax, realtype ymax);
- void WINAPI _export WGSetXYIntercepts (PGRAPH_DEF pGrDesc,
- realtype rxInt, realtype ryInt);
- void WINAPI _export WGSetLineStyle (PGRAPH_DEF pGrDesc, HDC hdc,
- int nStyle, int nWidth, int nColor);
- void WINAPI _export WGSetDataFormat (PGRAPH_DEF pGrDesc, HGOBJ hObj, int width,
- int prec);
- void WINAPI _export WGSetTextParams (int nColor, int nFamily,
- int nSize, int nStyle);
- BOOL WINAPI _export WGSetTextByName (int nColor, LPCSTR szFontName,
- int nSize, int nStyle);
- void WINAPI _export WGRaiseGraph (PGRAPH_DEF pGrDesc, int nRaiseFlag);
-
- /*************************************************************************
- * DRAWING FUNCTIONS
- *************************************************************************/
- HGOBJ WINAPI _export WGDrawXAxis (PGRAPH_DEF pGrDesc, HDC hdc,
- realtype rTickSpace, int nSmallTicks, int nTickPos);
- HGOBJ WINAPI _export WGDrawYAxis (PGRAPH_DEF pGrDesc, HDC hdc,
- realtype rTickSpace, int nSmallTicks, int nTickPos);
- void WINAPI _export WGDrawGrid (PGRAPH_DEF pGrDesc, HGOBJ hAxis, int nGridType);
- HGOBJ WINAPI _export WGGroupBargraph (PGRAPH_DEF pGrDesc, HDC hdc,
- HDATA hDataSet, realtype rWidth, int nJustify, int nBarType, int nGraphType,
- COLORREF FAR *lpRgbBarColor, LPINT lpHatchStyle, LPINT lpBorderColor);
- HGOBJ WINAPI _export WGFloatingBars (PGRAPH_DEF pGrDesc, HDC hdc,
- HDATA hDataSet, realtype rWidth, int nJustify, int nBarType,
- COLORREF rgbBarColor, int nHatchStyle, int nBorderColor);
-
- BOOL WINAPI _export WGAutoAxes (PGRAPH_DEF pGrDesc, HDC hdc, HDATA hDataSet,
- int nRoundType, int nInterceptFlag, PHGOBJ lphAxX, PHGOBJ lphAxY,
- PHGOBJ lphLabX, PHGOBJ lphLabY);
- BOOL WINAPI _export WGRoundAxis (PGRAPH_DEF pGrDesc, HGOBJ hAx,
- LPREAL lprMin, LPREAL lprMax, LPREAL lprTickSpace, BOOL bUpdate);
- // New
- void WINAPI _export RoundAxis (int nRoundType, int nLen, LPREAL amin,
- LPREAL amax, LPREAL rTickSpace, int nAxDir);
- BOOL WINAPI _export WGRoundAxis2 (PGRAPH_DEF pGrDesc, int nAxOrient,
- int nAxScale,
- LPREAL lprMin, LPREAL lprMax, LPREAL lprTickSpace, int nRoundMode);
- //
- HGOBJ WINAPI _export WGLinePlot (PGRAPH_DEF pGrDesc, HDC hdc, HDATA hDataSet,
- BOOL bFill, BOOL bSpline);
-
- HGOBJ WINAPI _export WGScatterPlot (PGRAPH_DEF pGrDesc, HDC hdc, HDATA hDataSet,
- int nMarkerShape, int nMarkerColor, int nMarkerSize,
- int nMarkerStyle, BOOL bDrop);
-
- HGOBJ WINAPI _export WGLineMarkerPlot (PGRAPH_DEF pGrDesc, HDC hdc,
- HDATA hDataSet, int nMarkerShape, int nMarkerColor,
- int nMarkerSize, int nMarkerStyle);
-
- HGOBJ WINAPI _export WGBargraph (PGRAPH_DEF pGrDesc, HDC hdc, HDATA hDataSet,
- realtype rWidth, int nJustify, int nBarType, COLORREF rgbBarColor,
- int nHatchStyle, int nBorderColor);
-
- HGOBJ WINAPI _export WGStackedLines (PGRAPH_DEF pGrDesc, HDC hdc, HDATA hDataSet,
- BOOL bFill, LPINT lpLineStyle, LPINT lpLineWidth, LPINT lpLineColor);
-
- HGOBJ WINAPI _export WGHighLowClose (PGRAPH_DEF pGrDesc, HDC hdc, HDATA hDataSet,
- int nMarkerShape, int nMarkerColor, int nMarkerSize,
- int nMarkerStyle);
-
- HGOBJ WINAPI _export WGErrorBars (PGRAPH_DEF pGrDesc, HDC hdc, HDATA hDataSet,
- int nWidth);
- HGOBJ WINAPI _export WGLabelAxis(PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxis,
- int nLabelPos, UINT nFormat, int nPrec, int nLast, LPSTR lpTextLast);
-
- HGOBJ WINAPI _export WGLabelAxisStrings(PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxis,
- int nLabelPos, int nFirstTick, HGLOBAL hStr);
- HGOBJ WINAPI _export WGLabelAxisStringsPtr(PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxis,
- int nLabelPos, int nFirstTick, LPSTR lpStr);
- HGOBJ WINAPI _export WGLabelAxisStringsNew(PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxis,
- int nLabelPos, int nFirstTick, LPSTR lpStr);
-
- HGOBJ WINAPI _export WGLabelAxisMonth (PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxis,
- int nLabelPos, int nFirstTick, int nFirstMonth, BOOL bShort);
- HGOBJ WINAPI _export WGLabelAxisDayWk (PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxis,
- int nLabelPos, int nFirstTick, int nFirstDay, BOOL bShort);
- HGOBJ WINAPI _export WGTextNorm (PGRAPH_DEF pGrDesc, HDC hdc, LPSTR lpString,
- realtype rX, realtype rY, UINT wAlign, int nOrientation);
-
- HGOBJ WINAPI _export WGText (PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxisX,
- HGOBJ hAxisY, LPSTR lpString, realtype rX, realtype rY, UINT wAlign,
- int nOrientation);
-
- HGOBJ WINAPI _export WGTitleGraph(PGRAPH_DEF pGrDesc, HDC hdc, LPSTR lpTitle);
- HGOBJ WINAPI _export WGTitleAxis(PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxis,
- int nTitlePos, LPSTR lpTitle);
-
- void WINAPI _export WGLabelPie(PGRAPH_DEF pGrDesc, HGOBJ hPie, HGLOBAL hLabels);
- void WINAPI _export WGLabelPiePtr (PGRAPH_DEF pGrDesc, HGOBJ hPie,
- LPSTR pLabels);
- HGOBJ WINAPI _export WGPieChart (PGRAPH_DEF pGrDesc, HDC hdc, HGLOBAL hData,
- int nNumPoints, int nPieStyle, int nNumType, int nNumPos,
- realtype rDiam, realtype rXCenter, realtype rYCenter,
- COLORREF FAR *lpRgbPieColor,
- LPINT lpBorderColor, LPINT lpHatchStyle, LPREAL lprExplodeRel);
-
- HGOBJ WINAPI _export WGAutoLegend (PGRAPH_DEF pGrDesc, HDC hdc,
- realtype rX, realtype rY, int nBorderColor, int nBorderWidth,
- int nTextColor, int nBackColor, int nLayout, HGLOBAL hStr);
-
- HGOBJ WINAPI _export WGAutoLegendGroup (PGRAPH_DEF pGrDesc, HDC hdc,
- realtype rX, realtype rY, int nBorderColor, int nBorderWidth,
- int nTextColor, int nBackColor, int nLayout, HGLOBAL hStr,
- HGOBJ hObj);
-
- HGOBJ WINAPI _export WGLegend (PGRAPH_DEF pGrDesc, HDC hdc,
- realtype rX1, realtype rY1, realtype rX2, realtype rY2,
- int nBorderColor, int nBorderWidth,
- int nTextColor, int nBackColor, int nLayout, HGLOBAL hStr);
-
- HGOBJ WINAPI _export WGLegendPtr (PGRAPH_DEF pGrDesc, HDC hdc,
- realtype rX1, realtype rY1, realtype rX2, realtype rY2,
- int nBorderColor, int nBorderWidth,
- int nTextColor, int nBackColor, int nLayout, LPSTR lpStr);
-
- HGOBJ WINAPI _export WGLegendGroup (PGRAPH_DEF pGrDesc, HDC hdc,
- realtype rX1, realtype rY1, realtype rX2, realtype rY2,
- int nBorderColor, int nBorderWidth, int nTextColor,
- int nBackColor, int nLayout, HGLOBAL hStr, HGOBJ hObj);
-
- HGOBJ WINAPI _export WGLegendGroupPtr (PGRAPH_DEF pGrDesc, HDC hdc,
- realtype rX1, realtype rY1, realtype rX2, realtype rY2,
- int nBorderColor, int nBorderWidth, int nTextColor,
- int nBackColor, int nLayout, LPSTR lpStr, HGOBJ hObj);
-
- HGOBJ WINAPI _export WGLineNorm (PGRAPH_DEF pGrDesc, HDC hdc, realtype rX1,
- realtype rY1, realtype rX2, realtype rY2);
-
- HGOBJ WINAPI _export WGArrowNorm (PGRAPH_DEF pGrDesc, HDC hdc, realtype rX1,
- realtype rY1, realtype rX2, realtype rY2, int nWidth, int nLength,
- BOOL bStart, BOOL bEnd, BOOL bFill);
-
- HGOBJ WINAPI _export WGRectangleNorm (PGRAPH_DEF pGrDesc, HDC hdc, realtype rX1,
- realtype rY1, realtype rX2, realtype rY2, int nBorderColor,
- int nBorderWidth, BOOL bFill, COLORREF rgbBackColor);
-
- HGOBJ WINAPI _export WGRectangleNormEx (PGRAPH_DEF pGrDesc, HDC hdc, realtype rX1,
- realtype rY1, realtype rX2, realtype rY2, int nBorderColor,
- int nBorderWidth, BOOL bFill, COLORREF rgbBackColor, int n3D);
-
- HGOBJ WINAPI _export WGEllipseNorm (PGRAPH_DEF pGrDesc, HDC hdc,
- realtype rX1, realtype rY1, realtype rX2, realtype rY2,
- int nBorderColor, int nBorderWidth, BOOL bFill, COLORREF rgbBackColor);
-
- HGOBJ WINAPI _export WGArcNorm (PGRAPH_DEF pGrDesc, HDC hdc,
- realtype rX1, realtype rY1, realtype rX2, realtype rY2, realtype rX3,
- realtype rY3, realtype rX4, realtype rY4);
-
- HGOBJ WINAPI _export WGPieNorm (PGRAPH_DEF pGrDesc, HDC hdc, realtype rX1,
- realtype rY1, realtype rX2, realtype rY2, realtype rX3, realtype rY3, realtype rX4,
- realtype rY4, int nBorderColor, int nBorderWidth, BOOL bFill,
- COLORREF rgbBackColor);
-
- HGOBJ WINAPI _export WGLine (PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxisX,
- HGOBJ hAxisY, realtype rX1, realtype rY1, realtype rX2, realtype rY2);
-
- HGOBJ WINAPI _export WGArrow (PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxisX, HGOBJ hAxisY,
- realtype rX1, realtype rY1, realtype rX2, realtype rY2,
- int nWidth, int nLength, BOOL bStart, BOOL bEnd, BOOL bFill);
-
- HGOBJ WINAPI _export WGRectangle (PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxisX,
- HGOBJ hAxisY, realtype rX1, realtype rY1, realtype rX2, realtype rY2,
- int nBorderColor, int nBorderWidth, BOOL bFill,
- COLORREF rgbBackColor);
-
- HGOBJ WINAPI _export WGEllipse (PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxisX,
- HGOBJ hAxisY, realtype rX1, realtype rY1, realtype rX2, realtype rY2,
- int nBorderColor, int nBorderWidth, BOOL bFill, COLORREF rgbBackColor);
-
- HGOBJ WINAPI _export WGArc (PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxisX,
- HGOBJ hAxisY, realtype rX1, realtype rY1, realtype rX2, realtype rY2,
- realtype rX3, realtype rY3, realtype rX4, realtype rY4);
-
- HGOBJ WINAPI _export WGPie (PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxisX,
- HGOBJ hAxisY, realtype rX1, realtype rY1, realtype rX2, realtype rY2,
- realtype rX3, realtype rY3, realtype rX4, realtype rY4,
- int nBorderColor, int nBorderWidth, BOOL bFill,
- COLORREF rgbBackColor);
-
- HGOBJ WINAPI _export WGBitmapNorm (PGRAPH_DEF pGrDesc, HDC hdc, realtype rX1,
- realtype rY1, realtype rX2, realtype rY2, int nMode, LPCSTR lpName);
-
- HGOBJ WINAPI _export WGBitmap (PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxisX,
- HGOBJ hAxisY, realtype rX1, realtype rY1, realtype rX2, realtype rY2,
- int nMode, LPCSTR lpName);
-
- HGOBJ WINAPI _export WGPolygon (PGRAPH_DEF pGrDesc, HDC hdc, HGOBJ hAxisX,
- HGOBJ hAxisY, LPREAL lprX, LPREAL lprY, int nNumPoints,
- int nBorderColor, int nBorderWidth, BOOL bFill, COLORREF rgbBackColor);
-
- HGOBJ WINAPI _export WGPolygonNorm (PGRAPH_DEF pGrDesc, HDC hdc,
- LPREAL lprX, LPREAL lprY, int nNumPoints, int nBorderColor,
- int nBorderWidth, BOOL bFill, COLORREF rgbBackColor);
-
- HGOBJ WINAPI _export WGSetDataCursor (PGRAPH_DEF pGrDesc, HDC hdc,
- int nType, HGOBJ hAxisX, HGOBJ hAxisY,
- int nSize, int nLineWidth, int nLineStyle, int nColor);
-
- void WINAPI _export WGMoveDataCursor (PGRAPH_DEF pGrDesc, HGOBJ hCursor,
- realtype rX, realtype rY, BOOL bVisible);
-
- /*************************************************************************
- * DATA SETS FUNCTIONS
- *************************************************************************/
-
- void WINAPI _export WGFreeDataSet (HDATA hDataSet, BOOL bFreeData);
- HDATA WINAPI _export WGLoadASCIIDataSet (LPSTR lpFileName,
- LPSTR lpDataName);
- BOOL WINAPI _export WGSaveASCIIDataSet (HDATA hDataSet, LPSTR lpFileName,
- LPSTR lpFormat);
-
- HDATA WINAPI _export WGDefineDataSet (LPSTR lpDataName, HGLOBAL hX,
- HGLOBAL hY, LONG lNumPoints);
- HDATA WINAPI _export WGDefineDataSetPtr (LPSTR lpDataName, HPREAL hpX,
- HPREAL hpY, LONG lNumPoints);
-
- HDATA WINAPI _export WGDefineGroupDataSet (LPSTR lpDataName,
- HGLOBAL hIndep, HGLOBAL hDep, LONG lNumPoints,
- int nGroupSize);
- HDATA WINAPI _export WGDefineGroupDataSetPtr (LPSTR lpDataName,
- HPREAL hpX, HPREAL hpY, LONG lNumPoints, int nGroupSize);
-
- BOOL WINAPI _export WGSortDataX (HDATA hDataSet, BOOL bDirection);
- BOOL WINAPI _export WGSortDataY (HDATA hDataSet, BOOL bDirection);
- BOOL WINAPI _export WGGetMinMaxX (HDATA hDataSet, LPREAL lpXMin,
- LPREAL lpXMax);
- BOOL WINAPI _export WGGetMinMaxY (HDATA hDataSet, LPREAL lpYMin,
- LPREAL lpYMax);
-
- HDATA WINAPI _export WGCompressData (HDATA hOrigData, UINT wType,
- UINT wSkip, LONG lFirst, LONG lLast, LPSTR lpNewSetName);
- HDATA WINAPI _export WGPasteDataSet (LPSTR lpDataName);
- BOOL WINAPI _export WGGetDataSetArrays (HDATA hDataSet,
- HGLOBAL FAR *lphX, HGLOBAL FAR *lphY, LONG FAR *lpNumPoints,
- LPINT lpGroupSize);
- BOOL WINAPI _export WGGetDataSetArraysPtr (HDATA hDataSet,
- HPREAL * hpX, HPREAL *hpY, LONG *lpNumPoints, LPINT lpGroupSize);
- HDATA WINAPI _export WGGetDataSet (PGRAPH_DEF pGrDesc, HGOBJ hObj);
-
- void WINAPI _export WGReconnectDataSet (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- HDATA hDataSet);
- BOOL WINAPI _export WGGetNearestPoint (PGRAPH_DEF pGrDesc, realtype rX,
- realtype rY, int nMode, LPREAL lpX, LPREAL lpY,
- HDATA FAR *lphData, UINT FAR *lpNum);
- BOOL WINAPI _export WGMarkDataPoint (HDATA hDataSet, UINT n, BOOL bSkip);
- BOOL WINAPI _export WGIsDataPointGood (HDATA hDataSet, UINT n);
-
- /*************************************************************************
- * Graph and Page Functions
- *************************************************************************/
- BOOL WINAPI _export WGPrintGraph (PGRAPH_DEF pGrDesc);
- BOOL WINAPI _export WGPrintPage (PPAGE_DEF pPageDesc);
- BOOL WINAPI _export WGPrintPageDC (PPAGE_DEF pPageDesc, HDC hdc, realtype rX1,
- realtype rY1, realtype rX2, realtype rY2);
- BOOL WINAPI _export WGPrintPageEx (PPAGE_DEF pPageDesc, realtype rX1,
- realtype rY1, realtype rX2, realtype rY2);
-
- BOOL WINAPI _export WGCopyGraph (PGRAPH_DEF pGrDesc);
- BOOL WINAPI _export WGCopyPage (PPAGE_DEF pPageDesc);
- void WINAPI _export WGClosePage (PPAGE_DEF pPageDesc);
- BOOL WINAPI _export WGSavePage (PPAGE_DEF pPageDesc, LPSTR lpFileName);
- PPAGE_DEF WINAPI WGRestorePage (LPSTR lpFileName, HWND hwParent, LPSTR lpMenu);
-
- BOOL WINAPI _export WGSaveGraph (PGRAPH_DEF pGrDesc, LPSTR lpFileName);
- PGRAPH_DEF WINAPI _export WGRestoreGraph (PPAGE_DEF pPgDesc, LPSTR lpFileName);
-
- PGRAPH_DEF WINAPI WGCreateGraph (PPAGE_DEF pPageDesc,
- void FAR *lpfnGraph, realtype rX1, realtype rY1, realtype rX2,
- realtype rY2, int nColor, int nBorderColor, int nBorderWidth);
-
- PPAGE_DEF WINAPI WGCreatePage (LPCSTR lpName, HWND hwParent,
- HINSTANCE hInst, LPSTR lpTitle, void FAR *lpfnPage, LPCSTR lpMenu,
- int nColor, int nMapMode, DWORD dwWinStyle,int nPosStyle,
- int x, int y, int cx,int cy);
- PPAGE_DEF WINAPI WGCreateInvisiblePage (LPCSTR lpName,
- HINSTANCE hInst, void FAR *lpfnPage, int nColor);
-
- PPAGE_DEF WINAPI _export WGGetPageDesc (HWND hwnd);
- PGRAPH_DEF WINAPI _export WGGetGraphDesc (HWND hwnd);
-
- void WINAPI _export WGDeleteGraph (PGRAPH_DEF pGrDesc);
- BOOL WINAPI _export WGIsDescValid (LPVOID lpDesc);
- BOOL WINAPI _export WGIsGraphDescValid (PGRAPH_DEF pGrDesc);
- BOOL WINAPI _export WGIsPageDescValid (PPAGE_DEF pPgDesc);
-
- void WINAPI _export WGUpdatePage (PPAGE_DEF pPageDesc);
-
- /*************************************************************************
- * METAFILE FUNCTIONS
- *************************************************************************/
-
- BOOL WINAPI _export WGSavePageMeta (PPAGE_DEF pPageDesc,
- int nMFType, LPSTR lpFileName);
- POBJ_META WINAPI _export WGGetMetafile (LPCSTR lpFileName);
- void WINAPI _export WGDeleteMetafile (POBJ_META pMetaDesc);
- BOOL WINAPI _export WGPlayMetafile (HWND hwnd, POBJ_META pMetaDesc,
- int x1, int y1, int x2, int y2);
- BOOL WINAPI _export WGPlayMetafileDC (HWND hwnd, HDC hdc, POBJ_META pMetaDesc,
- int x1, int y1, int x2, int y2);
- HGOBJ WINAPI _export WGMetafileNorm (PGRAPH_DEF pGrDesc, HDC hdc,
- realtype rX1, realtype rY1, realtype rX2, realtype rY2, LPCSTR lpName);
- HGOBJ WINAPI _export WGMetafile (PGRAPH_DEF pGrDesc, HDC hdc,
- HGOBJ hAxisX, HGOBJ hAxisY, realtype rX1, realtype rY1, realtype rX2,
- realtype rY2, LPCSTR lpName);
- POBJ_META WINAPI _export WGConvertPageToMeta (PPAGE_DEF pPageDesc);
- void WINAPI _export QCMakeMetaFile (HDC hdcMeta, PPAGE_DEF pPageDesc, LPRECT rcBounds, int nMFType);
-
- /*************************************************************************
- * FFT FUNCTIONS
- *************************************************************************/
-
- void WINAPI _export WGDSPWindow (HPREAL hpRealData, HPREAL hpImData,
- LONG lNumdat, int nWindowType);
-
- BOOL WINAPI _export WGComplexFFT (HPREAL hpRealData, HPREAL hpImData, LONG n,
- BOOL bInverse);
- BOOL WINAPI _export WGRealFFT (HPREAL hpX, HPREAL hpSinc, LONG n, BOOL bInverse);
- BOOL WINAPI _export WGPowerSpectrum (HPREAL hpRealData, HPREAL hpImData,
- LONG lNumdat, realtype rInterval);
- void WINAPI _export WGFFTMagnitude(HPREAL hpCos, HPREAL hpSin,
- LONG lNumdat, LONG i, HPREAL pMag);
- void WINAPI _export WGFFTPhase (HPREAL hpCos, HPREAL hpSin, LONG i,
- HPREAL pPhase);
- void WINAPI _export WGFFTFrequency (LONG lNumdat, realtype rSampleFreq,
- LONG i, HPREAL pFreq);
-
- /*************************************************************************
- * GUI FUNCTIONS
- *************************************************************************/
-
- /*---- Graph/Page ------*/
-
- HWND WINAPI _export WGGetPageWindow (PPAGE_DEF pPagedesc);
- void WINAPI _export WGToggleSelectors (PPAGE_DEF pPageDesc, BOOL bOn);
- void WINAPI _export WGToggleHigh (PPAGE_DEF pPageDesc, BOOL bOn);
- void WINAPI _export WGChangeGraphPos (PGRAPH_DEF pGrDesc, realtype rX1,
- realtype rY1, realtype rX2, realtype rY2);
- void WINAPI _export WGGetGraphPos (PGRAPH_DEF pGrDesc, LPREAL lprX1,
- LPREAL lprY1, LPREAL lprX2, LPREAL lpfY2);
- void WINAPI _export WGRedrawGraph (PGRAPH_DEF pGrDesc, BOOL bRecalc);
- HWND WINAPI _export WGGetGraphWindow (PGRAPH_DEF pGrDesc);
- void WINAPI _export WGChangeGraphBackgnd (PGRAPH_DEF pGrDesc, COLORREF rgbColor);
- COLORREF WINAPI _export WGGetGraphBackgnd (PGRAPH_DEF pGrDesc);
- void WINAPI _export WGSelectGraph (PGRAPH_DEF pGrDesc);
- PGRAPH_DEF WINAPI _export WGGetSelectedGraph (PPAGE_DEF pPageDesc);
- void WINAPI _export WGSetGraphBorder (PGRAPH_DEF pGrDesc, BOOL bOn,
- int nColor, int nWidth);
- void WINAPI _export WGBlowupGraph (PGRAPH_DEF pGrDesc, BOOL bDir);
- BOOL WINAPI _export WGEditGraphDlg (PPAGE_DEF pPageDesc);
-
- /*---- Plotting Area ----*/
- void WINAPI _export WGGetPlotPos (PGRAPH_DEF pGrDesc, LPREAL lprX1,
- LPREAL lprY1, LPREAL lprX2, LPREAL lprY2);
- void WINAPI _export WGChangePlotPos (PGRAPH_DEF pGrDesc, realtype rX1,
- realtype rY1, realtype rX2, realtype rY2);
-
- void WINAPI _export WGChangePlotBackgnd (PGRAPH_DEF pGrDesc,
- COLORREF rgbColor);
- COLORREF WINAPI _export WGGetPlotBackgnd (PGRAPH_DEF pGrDesc);
-
- BOOL WINAPI _export WGStartZoom (HWND hwndGraph, HGOBJ hAxisX,
- HGOBJ hAxisY, UINT uMouseMessage, BOOL bUpdate);
- BOOL WINAPI _export WGGetZoom (LPREAL lprLeft, LPREAL lprTop,
- LPREAL lprRight, LPREAL lprBottom);
-
- /*---- Object -----*/
- HGOBJ WINAPI _export WGGetSelObject (PGRAPH_DEF pGrDesc,
- UINT FAR *lpSelPoint, LPINT lpSelGroup);
-
- void WINAPI _export WGSelObject (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- void WINAPI _export WGRedrawObject (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- BOOL bRecalc);
- BOOL WINAPI _export WGGetObjectCoord (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- LPREAL lpX1, LPREAL lpY1, LPREAL lpX2, LPREAL lpY2);
- BOOL WINAPI _export WGGetObjectPos (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- LPREAL lpX1, LPREAL lpY1, LPREAL lpX2, LPREAL lpY2);
- BOOL WINAPI _export WGGetObjectCoordNorm (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- LPREAL lprX1, LPREAL lprY1, LPREAL lprX2, LPREAL lprY2);
- BOOL WINAPI _export WGGetObjectPosNorm (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- LPREAL lprX1, LPREAL lprY1, LPREAL lprX2, LPREAL lprY2);
- BOOL WINAPI _export WGChangeObjectCoord (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- realtype rX1, realtype rY1, realtype rX2, realtype rY2, BOOL bRedraw);
-
- BOOL WINAPI _export WGChangeObjectCoordNorm (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- realtype rX1, realtype rY1, realtype rX2, realtype rY2, BOOL bRedraw);
-
- HGOBJ WINAPI _export WGDuplicateObject (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- void WINAPI _export WGObjUpdate (PGRAPH_DEF pGrDesc, HGOBJ hObj, HGOBJ hObjDup);
- void WINAPI _export WGDeleteObject (PGRAPH_DEF pGrDesc, HGOBJ hObj);
-
- int WINAPI _export WGGetObjectType (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- BOOL WINAPI _export WGChangeLineColor (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nNewColor, int n);
- BOOL WINAPI _export WGChangeLineColorRGB (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- COLORREF rgbNewColor, int n);
-
- int WINAPI _export WGGetObjSize (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- int CALLBACK _export WGGetObjTypeSize (int nObjType);
- int WINAPI _export WGGetLineColor (PGRAPH_DEF pGrDesc, HGOBJ hObj, int n);
- COLORREF WINAPI _export WGGetLineColorRGB (PGRAPH_DEF pGrDesc, HGOBJ hObj, int n);
- COLORREF WINAPI _export WGGetAreaColor (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int n);
- BOOL WINAPI _export WGChangeAreaColor (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- COLORREF rgbColor, int n);
- BOOL WINAPI _export WGChangeLineWidth (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nNewWidth, int n);
- int WINAPI _export WGGetLineWidth (PGRAPH_DEF pGrDesc, HGOBJ hObj, int n);
- BOOL WINAPI _export WGChangeLineStyle (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nNewStyle, int n);
- int WINAPI _export WGGetLineStyle (PGRAPH_DEF pGrDesc, HGOBJ hObj, int n);
-
- BOOL WINAPI _export WGToggleSpline (PGRAPH_DEF pGrDesc, HGOBJ hObj, BOOL bOn);
- BOOL WINAPI _export WGGetFillFlag (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- BOOL WINAPI _export WGGetSplineFlag (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- BOOL WINAPI _export WGChangeObjFill (PGRAPH_DEF pGrDesc, HGOBJ hObj, BOOL bOn);
- BOOL WINAPI _export WGChangeMarkerColor (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nColor);
- int WINAPI _export WGGetMarkerColor (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- BOOL WINAPI _export WGChangeMarkerType (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nMarkerShape, int nMarkerSize, int nMarkerStyle);
- BOOL WINAPI _export WGGetMarkerType (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- LPINT lpMarkerShape, LPINT lpMarkerStyle, LPINT lpMarkerSize);
- void WINAPI _export WGShowObject (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- BOOL bShow);
-
- /*---- Axes ------*/
- BOOL WINAPI _export WGChangeAxisRange (PGRAPH_DEF pGrDesc, HGOBJ hAx,
- realtype rMin, realtype rMax, BOOL bUpdate);
- BOOL WINAPI _export WGChangeAxisIntercept (PGRAPH_DEF pGrDesc, HGOBJ hAx,
- realtype rInt, BOOL bUpdate);
- BOOL WINAPI _export WGChangeAxisScale (PGRAPH_DEF pGrDesc, HGOBJ hAx,
- int nScaleType, BOOL bUpdate);
- void WINAPI _export WGSetTickSize (PPAGE_DEF pPgDesc, int nMajorSize,
- int nMinorSize);
- BOOL PASCAL _export WGChangeAxisTicks (PGRAPH_DEF pGrDesc, HGOBJ hAx,
- realtype rTickSpace, int nSmallTicks, int nTickPos);
- BOOL WINAPI _export WGChangeGrid (PGRAPH_DEF pGrDesc, HGOBJ hAx,
- int nGridType, int nNewStyle, int nNewWidth, int nNewColor);
- BOOL WINAPI _export WGGetAxisTicks (PGRAPH_DEF pGrDesc, HGOBJ hAx,
- LPREAL lpTickSpace, LPINT lpSmallTicks, LPINT lpTickPos);
- BOOL WINAPI _export WGGetAxisRange (PGRAPH_DEF pGrDesc, HGOBJ hAx,
- LPREAL lprMin, LPREAL lprMax, LPREAL lprInt);
- int WINAPI _export WGGetAxisScale (PGRAPH_DEF pGrDesc, HGOBJ hAx);
- int WINAPI _export WGGetAxisDir (PGRAPH_DEF pGrDesc, HGOBJ hAx);
- BOOL WINAPI _export WGToggleGrid (PGRAPH_DEF pGrDesc, HGOBJ hAx,
- int nGridType, BOOL bOn);
- BOOL WINAPI _export WGGetGrid (PGRAPH_DEF pGrDesc, HGOBJ hAx,
- BOOL FAR *lpbGridMajor, BOOL FAR *lpbGridMinor,
- LINEDESC FAR * FAR *ldGridMajor, LINEDESC FAR * FAR *ldGridMinor);
- void WINAPI _export WGToggleGridsOrder (BOOL bGridsBelow);
-
- /*---- Bars ----*/
-
- BOOL WINAPI _export WGGetBarWidth (PGRAPH_DEF pGrDesc,
- HGOBJ hObj, LPREAL lprWidth);
- BOOL WINAPI _export WGChangeBarWidth (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- realtype rWidth);
- BOOL WINAPI _export WGChangeHatchStyle (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nHatchStyle, int n);
- int WINAPI _export WGGetHatchStyle (PGRAPH_DEF pGrDesc, HGOBJ hObj, int n);
- BOOL WINAPI _export WGChangeBarJust (PGRAPH_DEF pGrDesc, HGOBJ hObj, int nPos);
- int WINAPI _export WGGetBarJust (PGRAPH_DEF pGrDesc, HGOBJ hObj);
-
-
- int WINAPI _export WGGetPlotType (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- BOOL WINAPI _export WGChangePlotType (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nNewType);
-
- /*---text----*/
- BOOL WINAPI _export WGChangeTextColor (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nColor);
- int WINAPI _export WGGetTextColor (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- BOOL WINAPI _export WGChangeFont (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- LPCSTR lpFaceName, int nSize, int nOrientation, int nWeight,
- BOOL bItalic, BOOL bUnderline);
-
- LPSTR WINAPI _export WGGetFontName (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- int WINAPI _export WGGetFontSize (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- int WINAPI _export WGGetFontWeight (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- BOOL WINAPI _export WGGetFontItal (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- BOOL WINAPI _export WGGetFontUnder (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- int WINAPI _export WGGetFontOrient (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- LPSTR WINAPI _export WGGetString (PGRAPH_DEF pGrDesc, HGOBJ hObj, int n);
- BOOL WINAPI _export WGChangeString (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- LPCSTR lpNewString, int n);
- void WINAPI _export WGGetTextSizeNorm (PGRAPH_DEF pGrDesc,
- HDC hdc, int nDir, LPCSTR lpString, int nNumChar,
- LPREAL lprWidth, LPREAL lprHeight);
-
- /*----arrows----*/
- BOOL WINAPI _export WGChangeArrow (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nLength, int nWidth);
- BOOL WINAPI _export WGChangeArrowFill (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- BOOL bFill);
- BOOL WINAPI _export WGChangeArrowPos (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nPos);
- int WINAPI _export WGGetArrowWidth (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- int WINAPI _export WGGetArrowLength (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- BOOL WINAPI _export WGGetArrowFill (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- int WINAPI _export WGGetArrowPos (PGRAPH_DEF pGrDesc, HGOBJ hObj);
-
- /*-----Labels------*/
- int WINAPI _export WGGetLastLabelFlag (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- LPSTR WINAPI _export WGGetLastLabelText (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- int WINAPI _export WGGetLabelsPos (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- BOOL WINAPI _export WGChangeLabelsPos (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nNewPos);
- UINT WINAPI _export WGGetLabelsFormat (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- BOOL WINAPI _export WGChangeLabelsFormat (PGRAPH_DEF pGrDesc,
- HGOBJ hObj, UINT nFormat);
- UINT WINAPI _export WGGetLabelsPrec (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- BOOL WINAPI _export WGChangeLabelsPrec (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- UINT nPrec);
- BOOL WINAPI _export WGChangeLastLabel (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nLast, LPSTR lpNewText);
-
- /*----Pie Chart----*/
- BOOL WINAPI _export WGGetPieExpl (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int n, LPREAL lpExpl);
-
- BOOL WINAPI _export WGChangePieExpl (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- realtype rExplode, int n);
- BOOL WINAPI _export WGChangePieTextPos (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- int nPos);
- BOOL WINAPI _export WGChangePieValue (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- realtype rNewVal, int n);
- BOOL WINAPI _export WGGetPieValue (PGRAPH_DEF pGrDesc, HGOBJ hObj,
- LPREAL lprVal, int n);
-
- int WINAPI _export WGGetPieTextPos (PGRAPH_DEF pGrDesc, HGOBJ hObj);
-
- LINEDESC FAR * WINAPI _export WGGetLineDesc (PGRAPH_DEF pGrDesc,
- HGOBJ hObj, int n);
-
- /*---- Mouse ----*/
- BOOL WINAPI _export WGGetMousePos (PGRAPH_DEF pGrDesc, HGOBJ hAxisX,
- HGOBJ hAxisY, LPREAL lprX, LPREAL lprY);
- void WINAPI _export WGGetMousePosNorm (PGRAPH_DEF pGrDesc,
- LPREAL lprX, LPREAL lprY);
- void WINAPI _export WGShowMouseCoord (HWND hwnd, int Type,
- BOOL bStartStop);
- void WINAPI WGGraphMouseEvent (HWND hwnd, UINT message,
- POINT ptMouse);
-
- /*************************************************************************
- * MISCELLANEOUS FUNCTIONS
- *************************************************************************/
- HGLOBAL WINAPI _export WGCopyMem (HGLOBAL hMem);
- void WINAPI _export WGSetOKCursor (HWND hDlg);
-
- BOOL WINAPI _export WGPrinterSetup (HWND hwnd);
- void WINAPI _export WGSetPrintOptions (BOOL bGraphBk, BOOL bPlotBk,
- BOOL bBorder, BOOL bKeepAspect, int nPrintStyle, realtype rX, realtype rY);
- BOOL WINAPI _export WGPrintOptionsDlg (void);
- void _cdecl FAR WGOKMsgBox (PSTR pCaption, PSTR pFormat, ...);
- void WINAPI _export WGEnableErrorMessages (BOOL bFlag);
- int WINAPI _export WGGetLastError (void);
-
- BOOL WINAPI _export WGMenuCheck (PPAGE_DEF pPageDesc, int item, int pos);
- void WINAPI WGStart(void);
- void WINAPI WGCleanup (BOOL bFreeData);
- void WINAPI WGEditObject (HWND hwnd);
- void WINAPI WGGraphKeyEvent (HWND hwnd, UINT message, WPARAM nVKey, LPARAM dwKeyData);
-
- int WINAPI _export DefEditObject (PGRAPH_DEF pGrDesc);
- HGOBJ WINAPI _export ObjFind (HWND hwnd);
- void WINAPI _export WGShowData (PGRAPH_DEF pGrDesc, HGOBJ hObj);
- int WINAPI _export WGGetVersion (LPINT lpSec);
- LPSTR WINAPI _export WGGetDate (void);
-
- //NEW
- BOOL WINAPI _export WGStartXCursor (HWND hwndGraph, HGOBJ hAxisX,
- HGOBJ hAxisY, UINT uMouseMessage, int mode, BOOL bUpdate);
- BOOL WINAPI _export WGGetXCursor (LPREAL lprLeft, LPREAL lprTop,
- LPREAL lprRight, LPREAL lprBottom);
- //
- /************************************************************************/
-
- LRESULT CALLBACK WGUserPageProc (HWND hwnd, UINT message,
- WPARAM wParam, LPARAM lParam);
-
- /****************************************************************************/
-
- #ifdef __cplusplus
- }
- class QCBasePage
- {
- public:
- virtual void BuildPage (PPAGE_DEF) = 0; // pure virtual function initializing page
- };
-
- class QCBaseGraph
- {
- public:
- virtual void BuildGraph (PGRAPH_DEF, HDC) = 0; // pure virtual function initializing graphs
- };
- #endif
- /**************************************************************************/
- #endif
-
-