00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef G2_WIN32_P_H
00021 #define G2_WIN32_P_H
00022
00023 #include "windows.h"
00024 #include <stdio.h>
00025
00026 extern HMENU hmenu;
00027 extern HANDLE ghModule;
00028 extern HINSTANCE g2res_DLL;
00029
00030 typedef struct g2_win32_STRUCT {
00031 HANDLE hThread;
00032 HWND hwndThreadWindow;
00033 HANDLE hinst;
00034 HBITMAP hBitmap;
00035 HDC hMemDC;
00036 HPEN hPen;
00037 HPEN hNullPen;
00038 HBRUSH hBrush;
00039 HFONT hFont;
00040 int nWidth;
00041 int nHeight;
00042 int x;
00043 int y;
00044 int NoOfInks;
00045 int PenWidth;
00046 int PenStyle;
00047 DWORD *PenDash;
00048 int Pen;
00049 int BkColor;
00050 COLORREF PenColor;
00051 COLORREF *Inks;
00052 char *title;
00053 int type;
00054 int messageloop;
00055 } g2_win32_STRUCT;
00056
00057
00058 BOOL SaveBitmapAs(HWND hWnd,struct XPGTHREADINFO *pThreadInfo);
00059 LRESULT CALLBACK g2_WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
00060 long g2_StartThread(struct g2_win32_STRUCT *pdp);
00061 void errhandler(LPSTR errtxt,HWND hwnd);
00062
00063
00064 int g2_win32_init_win32(int pid, void *pdp, int vid, int width,int height);
00065 int g2_win32_init_win32X(int pid, void *pdp,
00066 int width, int height,
00067 int xposition, int yposition,
00068 char *windowname, char *iconname,
00069 char *icondata, int iconwidth, int iconheight);
00070 int g2_win32_Delete(int pid, void *pdp);
00071 int g2_win32_Clear(int pid, void *pdp);
00072 int g2_win32_Flush(int pid, void *pdp);
00073 int g2_win32_Ink(int pid, void *pdp,
00074 double red, double green, double blue);
00075 int g2_win32_ClearPalette(int pid, void *pdp);
00076 int g2_win32_ResetPalette(int pid, void *pdp);
00077 int g2_win32_SetBackground(int pid, void *pdp, int color);
00078 int g2_win32_Pen(int pid, void *pdp, int color);
00079 int g2_win32_Paper(int pid, void *pdp, int color);
00080 int g2_win32_SetLineWidth(int pid, void *pdp, int w);
00081 int g2_win32_SetDash(int pid, void *pdp, int n, int *data);
00082 int g2_win32_SetFontSize(int pid, void *pdp, int size);
00083 int g2_win32_Plot(int pid, void *pdp, int x, int y);
00084 int g2_win32_Line(int pid, void *pdp, int x1, int y1, int x2, int y2);
00085 int g2_win32_PolyLine(int pid, void *pdp, int N, int *p);
00086 int g2_win32_Polygon(int pid, void *pdp, int N, int *p);
00087 int g2_win32_FilledPolygon(int pid, void *pdp, int N, int *p);
00088 int g2_win32_Triangle(int pid, void *pdp,
00089 int x1, int y1,
00090 int x2, int y2,
00091 int x3, int y3);
00092 int g2_win32_FilledTriangle(int pid, void *pdp, int x1, int y1,
00093 int x2, int y2,
00094 int x3, int y3);
00095 int g2_win32_Rectangle(int pid, void *pdp, int x1, int y1, int x2, int y2);
00096 int g2_win32_FilledRectangle(int pid, void *pdp,
00097 int x1, int y1, int x2, int y2);
00098 int g2_win32_Circle(int pid, void *pdp, int x, int y, int r);
00099 int g2_win32_FilledCircle(int pid, void *pdp, int x, int y, int r);
00100 int g2_win32_Arc(int pid, void *pdp, int x, int y,
00101 int r1, int r2, double a1, double a2);
00102 int g2_win32_FilledArc(int pid, void *pdp, int x, int y,
00103 int r1, int r2, double a1, double a2);
00104 int g2_win32_Ellipse(int pid, void *pdp, int x, int y, int r1, int r2);
00105 int g2_win32_FilledEllipse(int pid, void *pdp, int x, int y, int r1, int r2);
00106 int g2_win32_DrawString(int pid, void *pdp, int x, int y, const char *text);
00107 int g2_win32_QueryPointer(int pid, void *pdp, int *x, int *y, unsigned int *button);
00108
00109 int g2_win32_AllocateBasicColors(int pid, void *pdp);
00110
00111 int g2_win32_Cleanup(int pid, void *pdp);
00112
00113
00114 #endif
00115
00116
00117
00118
00119