Main Page | Modules | File List | Related Pages

g2_win32_P.h

00001 /*****************************************************************************
00002 **  Copyright (C) 1998-2001  Ljubomir Milanovic & Horst Wagner
00003 **  This file is part of the g2 library
00004 **
00005 **  This library is free software; you can redistribute it and/or
00006 **  modify it under the terms of the GNU Lesser General Public
00007 **  License as published by the Free Software Foundation; either
00008 **  version 2.1 of the License, or (at your option) any later version.
00009 **
00010 **  This library is distributed in the hope that it will be useful,
00011 **  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 **  Lesser General Public License for more details.
00014 **
00015 **  You should have received a copy of the GNU Lesser General Public
00016 **  License along with this library; if not, write to the Free Software
00017 **  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
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 /* g2_win32_P_H */
00115 
00116 
00117 
00118 
00119 

Generated on Thu Apr 8 23:32:49 2004 for g2 by doxygen 1.3.6