X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=libctgraphics%2Fsgp.cpp;h=14cfd63e500a9f40d3dc4a94f03588017d4d68c3;hb=e9222e8a8190ca48f30a1359badae06bcb200210;hp=d9c9caad553a7b466eb5d257411d51bb48fc16c9;hpb=3edf984f18a95149edead5de3d10ec696e7f1c5d;p=ctsim.git diff --git a/libctgraphics/sgp.cpp b/libctgraphics/sgp.cpp index d9c9caa..14cfd63 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.15 2000/09/07 04:59:42 kevin Exp $ +** $Id: sgp.cpp,v 1.20 2000/12/18 05:40:30 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 @@ -99,11 +99,14 @@ SGP::SGP (const SGPDriver& driver) static const double dScreenDPI = 82; static const double dPointsPerInch = 72.; m_dPointsPerPixel = dPointsPerInch / dScreenDPI; - const int iTestPointSize = 72; + const int iTestPointSize = 12; m_font.SetPointSize (iTestPointSize); m_driver.idWX()->SetFont(m_font); double dTestCharHeight = m_driver.idWX()->GetCharHeight(); - m_dPointsPerPixel = iTestPointSize / dTestCharHeight; + m_dPointsPerPixel = iTestPointSize / dTestCharHeight; +// wxWHITE_BRUSH->SetColour (255, 255, 255); +// wxWHITE_BRUSH->SetStyle (wxSOLID); + m_driver.idWX()->SetBackground (*wxWHITE_BRUSH); } #endif @@ -162,8 +165,13 @@ SGP::eraseWindow () g2_clear (m_driver.idG2()); #endif #if HAVE_WXWINDOWS - if (m_driver.isWX()) - m_driver.idWX()->Clear(); + if (m_driver.isWX()) { + wxBrush brushWhite; + brushWhite.SetColour(255,255,255); + m_driver.idWX()->SetBackground(brushWhite); + m_driver.idWX()->Clear(); + m_driver.idWX()->SetBackground(wxNullBrush); + } #endif } @@ -419,7 +427,7 @@ SGP::moveRel (double x, double y) void SGP::setTextSize (double height) { - height /= (xw_max - xw_min); + height /= (yw_max - yw_min); // convert to NDC #if HAVE_G2_H if (m_driver.isG2()) g2_set_font_size(m_driver.idG2(), (height * m_iPhysicalYSize)); @@ -460,7 +468,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 @@ -596,7 +604,7 @@ SGP::pointRel (double x, double y) void -SGP::drawText (const string& rsMessage) +SGP::drawText (const std::string& rsMessage) { drawText (rsMessage.c_str()); }