X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctgraphics%2Fsgp.cpp;h=3626555c86f0e67d0fc0aad46a503a8326324fae;hp=4790a2394e2b9514222151a41d9aeb855f47e881;hb=ee0105d74fec9d6bfd236e22e9e1d315e46c568e;hpb=3147cd44cff6132e51eac1a179c1fc3d405faacc diff --git a/libctgraphics/sgp.cpp b/libctgraphics/sgp.cpp index 4790a23..3626555 100644 --- a/libctgraphics/sgp.cpp +++ b/libctgraphics/sgp.cpp @@ -7,7 +7,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: sgp.cpp,v 1.14 2000/09/04 09:06:46 kevin Exp $ +** $Id: sgp.cpp,v 1.17 2000/12/06 01:46:43 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 @@ -52,14 +52,14 @@ RGBColor SGP::s_aRGBColor[] = int SGP::s_iRGBColorCount = sizeof(s_aRGBColor) / sizeof(class RGBColor); #ifdef HAVE_WXWINDOWS -SGPDriver::SGPDriver (wxDC* pDC, int xsize = 640, int ysize = 480) +SGPDriver::SGPDriver (wxDC* pDC, int xsize, int ysize) : m_iPhysicalXSize(xsize), m_iPhysicalYSize(ysize), m_idDriver(0), m_pDC(pDC) { m_idDriver |= SGPDRIVER_WXWINDOWS; } #endif -SGPDriver::SGPDriver (const char* szWinTitle = "", int xsize = 640, int ysize = 480) +SGPDriver::SGPDriver (const char* szWinTitle, int xsize, int ysize) : m_iPhysicalXSize(xsize), m_iPhysicalYSize(ysize), m_sWindowTitle(szWinTitle), m_idDriver(0) { #ifdef HAVE_G2_H @@ -70,8 +70,10 @@ SGPDriver::SGPDriver (const char* szWinTitle = "", int xsize = 640, int ysize = SGPDriver::~SGPDriver () { +#if HAVE_G2_H if (isG2()) g2_close (m_idG2); +#endif } @@ -92,18 +94,18 @@ SGP::SGP (const SGPDriver& driver) #if HAVE_WXWINDOWS m_pen.SetWidth(1); m_pen.SetStyle(wxSOLID); -#endif if (m_driver.isWX()) { - static const double dScreenDPI = 82; - static const double dPointsPerInch = 72.; - m_dPointsPerPixel = dPointsPerInch / dScreenDPI; - const int iTestPointSize = 72; - m_font.SetPointSize (iTestPointSize); - m_driver.idWX()->SetFont(m_font); - double dTestCharHeight = m_driver.idWX()->GetCharHeight(); - m_dPointsPerPixel = iTestPointSize / dTestCharHeight; + static const double dScreenDPI = 82; + static const double dPointsPerInch = 72.; + m_dPointsPerPixel = dPointsPerInch / dScreenDPI; + const int iTestPointSize = 72; + m_font.SetPointSize (iTestPointSize); + m_driver.idWX()->SetFont(m_font); + double dTestCharHeight = m_driver.idWX()->GetCharHeight(); + m_dPointsPerPixel = iTestPointSize / dTestCharHeight; } +#endif setWindow (0., 0., 1., 1.); setViewport (0., 0., 1., 1.); @@ -458,7 +460,7 @@ SGP::setTextPointSize (double height) #endif #if HAVE_WXWINDOWS if (m_driver.isWX()) { - m_font.SetPointSize (height); + m_font.SetPointSize (static_cast(height+0.5)); m_driver.idWX()->SetFont (m_font); } #endif