** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: sgp.h,v 1.17 2000/09/02 05:10:39 kevin Exp $
+** $Id: sgp.h,v 1.22 2000/12/16 06:12:47 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
#ifdef HAVE_WXWINDOWS
#include <wx/wx.h>
+#include <wx/font.h>
#endif
#if HAVE_G2_H
#include <string>
-
class SGPDriver {
private:
int m_iPhysicalXSize;
int m_iPhysicalYSize;
- string m_sWindowTitle;
+ std::string m_sWindowTitle;
int m_idDriver;
#ifdef HAVE_WXWINDOWS
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; }
double m_dCurrentWorldY;
double m_dTextAngle;
bool m_bRecalcTransform;
+ double m_dPointsPerPixel; // points (72pt/in) per screen pixel;
// Master coordinates are coordinates before CTM transformation
// World coordinates are coordinates defined by setWindow()
#if HAVE_WXWINDOWS
wxPen m_pen;
+ wxFont m_font;
#endif
public:
MARK_BSQUARE = 9, // big open square
MARK_BDIAMOND = 10, // big open diamond
};
- static const int MARK_COUNT = 11;
+ enum { MARK_COUNT = 11, };
static const unsigned char MARKER_BITMAP[MARK_COUNT][5];
SGP (const SGPDriver& driver);
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);
void setColor (int icol);
void setLineStyle (int style);
void setTextSize (double height);
+ void setTextNDCSize (double height);
+ void setTextPointSize (double height);
void setTextAngle (double angle);
void setTextColor (int iFGcolor, int iBGcolor);
void setPenWidth (int width);
void getViewport (double& xmin, double& ymin, double& xmax, double& ymax);
void getTextExtent (const char *szText, double* x, double* y);
double getCharHeight ();
+ double getCharWidth ();
+ SGPDriver& getDriver() {return m_driver;}
+ const SGPDriver& getDriver() const {return m_driver;}
void ctmClear ();
void ctmSet (const TransformationMatrix2D& m);