X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=libctgraphics%2Fsgp.cpp;h=d3ea434b9b27a2cd8946f41b516d6d7bdced3543;hb=739e435359d44546dd812fff8c86b815a214d587;hp=f22dd378300339355e4757e1b88a93d6222a269d;hpb=9727d14397360a862a407b9c35efefe35925791b;p=ctsim.git diff --git a/libctgraphics/sgp.cpp b/libctgraphics/sgp.cpp index f22dd37..d3ea434 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.19 2000/12/18 02:23:43 kevin Exp $ +** $Id: sgp.cpp,v 1.22 2000/12/18 06:47:03 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 @@ -99,12 +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_driver.idWX()->SetBrush (*wxWHITE_BRUSH); +// wxWHITE_BRUSH->SetColour (255, 255, 255); +// wxWHITE_BRUSH->SetStyle (wxSOLID); + m_driver.idWX()->SetBackground (*wxWHITE_BRUSH); } #endif @@ -163,8 +165,20 @@ 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); +#if 1 + wxPen pen; + pen.SetColour(255,255,255); + m_driver.idWX()->SetBrush (brushWhite); + m_driver.idWX()->DrawRectangle (0, 0, m_iPhysicalXSize, m_iPhysicalYSize); + m_driver.idWX()->SetBrush (wxNullBrush); +#endif + } #endif } @@ -420,7 +434,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)); @@ -491,10 +505,11 @@ SGP::getCharHeight () #if HAVE_WXWINDOWS if (m_driver.isWX()) { dHeight = m_driver.idWX()->GetCharHeight(); - dHeight /= static_cast(m_iPhysicalYSize); + dHeight /= static_cast(m_iPhysicalYSize); + dHeight /= (yv_max - yv_min); // scale to viewport; } #endif - dHeight *= (yw_max - yw_min); + dHeight *= (yw_max - yw_min); // scale to world coordinates return dHeight; } @@ -506,10 +521,11 @@ SGP::getCharWidth () #if HAVE_WXWINDOWS if (m_driver.isWX()) { dWidth = m_driver.idWX()->GetCharWidth(); - dWidth /= static_cast(m_iPhysicalXSize); + dWidth /= static_cast(m_iPhysicalXSize); + dWidth /= (xv_max - xv_min); // scale to viewport } #endif - dWidth *= (xw_max - xw_min); + dWidth *= (xw_max - xw_min); //scale to world coordinates return dWidth; }