X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fsgp.h;h=a873d18d16e5c5529c3c5a51369903e730ea36d6;hp=62407526e47f75efe1c439429086382400c57a12;hb=bfcc769cf8019eabc8c65c07257c8dbee4b4c977;hpb=1e88cf0f7fa4f690ea9f110e8ed3f2b5338d0a10 diff --git a/include/sgp.h b/include/sgp.h index 6240752..a873d18 100644 --- a/include/sgp.h +++ b/include/sgp.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: sgp.h,v 1.14 2000/08/25 15:59:13 kevin Exp $ +** $Id: sgp.h,v 1.17 2000/09/02 05:10:39 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -72,7 +72,7 @@ public: #endif SGPDriver (const char* szWinTitle = "", int xsize = 640, int ysize = 480); - + ~SGPDriver (); int getPhysicalXSize () const @@ -96,6 +96,9 @@ public: #ifdef HAVE_WXWINDOWS wxDC* idWX () const { return m_pDC; } + + void setDC (wxDC* dc) + { m_pDC = dc; } #endif }; @@ -105,7 +108,7 @@ class SGP { private: int m_iPhysicalXSize; // Physical Window size int m_iPhysicalYSize; - const SGPDriver m_driver; + SGPDriver m_driver; double xw_min; // Window extents double yw_min; @@ -138,7 +141,7 @@ private: static int s_iRGBColorCount; #if HAVE_WXWINDOWS - wxPen* m_pPen; + wxPen m_pen; #endif public: @@ -171,7 +174,7 @@ public: SGP (const SGPDriver& driver); void drawCircle (const double r); - void drawArc (double start, double stop, const double r); + void drawArc (const double r, double start, double stop); void drawRect (double xmin, double ymin, double xmax, double ymax); void lineAbs(double x, double y); void moveAbs(double x, double y); @@ -195,9 +198,15 @@ public: void setTextSize (double height); void setTextAngle (double angle); void setTextColor (int iFGcolor, int iBGcolor); + void setPenWidth (int width); void setMarker (int idMarker, int color); void setRasterOp (int ro); + void getWindow (double& xmin, double& ymin, double& xmax, double& ymax); + void getViewport (double& xmin, double& ymin, double& xmax, double& ymax); + void getTextExtent (const char *szText, double* x, double* y); + double getCharHeight (); + void ctmClear (); void ctmSet (const TransformationMatrix2D& m); void preTranslate (double x, double y); @@ -215,6 +224,10 @@ public: void stylusNDC (double x, double y, bool beam); void pointNDC (double x, double y); void markerNDC (double x, double y); + +#if HAVE_WXWINDOWS + void setDC (wxDC* pDC); +#endif };