r460: no message
[ctsim.git] / include / sgp.h
index 4ee4638d346d84eda52d492c17fabe1418a8828c..67f1b7c81ed9af6df9d3295ccb56c87fac85cc9b 100644 (file)
@@ -7,9 +7,9 @@
 **      Date Started: 1984
 **
 **  This is part of the CTSim program
-**  Copyright (C) 1983-2000 Kevin Rosenberg
+**  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: sgp.h,v 1.19 2000/12/04 04:15:48 kevin Exp $
+**  $Id: sgp.h,v 1.26 2001/01/28 19:10:18 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
@@ -48,12 +48,11 @@ extern "C" {
 
 #include <string>
 
-
 class SGPDriver {
 private:
   int m_iPhysicalXSize;
   int m_iPhysicalYSize;
-  string m_sWindowTitle;
+  std::string m_sWindowTitle;
   int m_idDriver;
 
 #ifdef HAVE_WXWINDOWS
@@ -82,14 +81,14 @@ public:
   int getPhysicalYSize () const
     { return m_iPhysicalYSize; }
 
-  const string& getWindowTitle () const
+  const std::string& getWindowTitle () const
     { return m_sWindowTitle; }
 
   bool isWX () const
-    { return (m_idDriver & SGPDRIVER_WXWINDOWS); }
+  { return (m_idDriver & SGPDRIVER_WXWINDOWS ? true : false); }
 
   bool isG2 () const
-    { return (m_idDriver & SGPDRIVER_G2); }
+  { return (m_idDriver & SGPDRIVER_G2 ? true : false); }
 
   int idG2 () const
     { return m_idG2; }
@@ -126,8 +125,10 @@ private:
   double m_dCurrentWorldX;
   double m_dCurrentWorldY;
   double m_dTextAngle;
+  int m_iTextPointSize;
   bool m_bRecalcTransform;
   double m_dPointsPerPixel;  // points (72pt/in) per screen pixel;
+  int m_iLinestyle;
 
   // Master coordinates are coordinates before CTM transformation
   // World coordinates are coordinates defined by setWindow()
@@ -144,7 +145,9 @@ private:
 
 #if HAVE_WXWINDOWS
   wxPen m_pen;
-  wxFont m_font;
+  wxFont* m_pFont;
+
+  void initFromDC (wxDC* pDC);
 #endif
 
 public:
@@ -175,6 +178,7 @@ public:
   static const unsigned char MARKER_BITMAP[MARK_COUNT][5];
 
   SGP (const SGPDriver& driver);
+  ~SGP();
 
   void drawCircle (const double r);
   void drawArc (const double r, double start, double stop);
@@ -184,7 +188,7 @@ public:
   void lineRel(double x, double y);
   void moveRel(double x, double y);
   void drawText(const char *szMessage);
-  void drawText(const string& rsMessage);
+  void drawText(const std::string& rsMessage);
   void polylineAbs(double x[], double y[], int n);
   void markerAbs (double x, double y);
   void markerRel(double x, double y);