** Programmer: Kevin Rosenberg
**
** This is part of the CTSim program
-** Copyright (C) 1983-2000 Kevin Rosenberg
+** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: sgp.cpp,v 1.25 2001/01/02 16:02:13 kevin Exp $
+** $Id: sgp.cpp,v 1.29 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
ndc_to_mc.setIdentity();
m_ctm.setIdentity();
-#if HAVE_WXWINDOWS
+#ifdef HAVE_WXWINDOWS
+ initFromDC (driver.idWX());
+#endif
+
+ setWindow (0., 0., 1., 1.);
+ setViewport (0., 0., 1., 1.);
+ moveAbs (0., 0.);
+ stylusNDC (0., 0., false);
+
+ setTextAngle (0.);
+ setTextPointSize (12);
+ setColor (C_BLACK);
+ setLineStyle (LS_SOLID);
+}
+
+
+#ifdef HAVE_WXWINDOWS
+void
+SGP::initFromDC (wxDC* pDC)
+{
m_pen.SetWidth (1);
if (m_driver.isWX()) {
m_dPointsPerPixel = iTestPointSize / dTestCharHeight;
m_driver.idWX()->SetBackground (*wxWHITE_BRUSH);
}
+}
#endif
- setWindow (0., 0., 1., 1.);
- setViewport (0., 0., 1., 1.);
- moveAbs (0., 0.);
- stylusNDC (0., 0., false);
-
- setTextAngle (0.);
- setTextPointSize (12);
- setColor (C_BLACK);
- setLineStyle (LS_SOLID);
-}
SGP::~SGP()
{
#if HAVE_WXWINDOWS
if (m_driver.isWX()) {
- m_driver.idWX()->SetFont (wxNullFont);
+ // m_driver.idWX()->SetFont (wxNullFont);
delete m_pFont;
}
#endif
#endif
#if HAVE_WXWINDOWS
if (m_driver.isWX()) {
- m_pFont->SetPointSize (static_cast<int>(height+0.5));
+ m_iTextPointSize = static_cast<int>(height+0.5);
+ m_pFont->SetPointSize (m_iTextPointSize);
m_driver.idWX()->SetFont (*m_pFont);
}
#endif
if (m_driver.isWX()) {
dHeight = m_driver.idWX()->GetCharHeight();
dHeight /= static_cast<double>(m_iPhysicalYSize);
- dHeight /= (yv_max - yv_min); // scale to viewport;
+ dHeight /= (yv_max - yv_min); // scale to viewport;
}
#endif
dHeight *= (yw_max - yw_min); // scale to world coordinates
if (m_driver.isWX()) {
dWidth = m_driver.idWX()->GetCharWidth();
dWidth /= static_cast<double>(m_iPhysicalXSize);
- dWidth /= (xv_max - xv_min); // scale to viewport
+ dWidth /= (xv_max - xv_min); // scale to viewport
}
#endif
dWidth *= (xw_max - xw_min); //scale to world coordinates
void
SGP::setDC (wxDC* pDC)
{
- if (m_driver.isWX())
+ if (m_driver.isWX()) {
m_driver.setDC(pDC);
+ initFromDC (pDC);
+ setTextPointSize (m_iTextPointSize);
+ }
}
#endif