** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: sgp.cpp,v 1.30 2001/03/10 23:14:16 kevin Exp $
+** $Id: sgp.cpp,v 1.32 2001/03/11 18:52: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
setTextPointSize (12);
setColor (C_BLACK);
setLineStyle (LS_SOLID);
+ setMarker (MARKER_POINT);
}
void
SGP::markerNDC (double x, double y)
{
+ int xp = static_cast<int>(x * (m_iPhysicalXSize - 1) + 0.5);
+ int yp = static_cast<int>(y * (m_iPhysicalYSize - 1) + 0.5);
+ if (m_driver.isWX())
+ yp = m_iPhysicalYSize - yp;
+
+#if HAVE_WXWINDOWS
+ if (m_driver.isWX()) {
+ m_driver.idWX()->DrawPoint (xp, yp);
+ m_driver.idWX()->DrawPoint (xp-1, yp-1);
+ m_driver.idWX()->DrawPoint (xp+1, yp+1);
+ m_driver.idWX()->DrawPoint (xp+1, yp-1);
+ m_driver.idWX()->DrawPoint (xp-1, yp+1);
+ }
+#endif
+ m_iCurrentPhysicalX = xp;
+ m_iCurrentPhysicalY = yp;
}
void
void
-SGP::setMarker (int idMarke, int iColor)
+SGP::setMarker (int idMarker)
{
+ m_iMarker = idMarker;
}
//==============================================================
double yndc = y;
mc_to_ndc.transformPoint (&xndc, &yndc);
markerNDC (xndc, yndc);
- stylusNDC (xndc, yndc, false); // move to location
m_dCurrentWorldX = x;
m_dCurrentWorldY = y;
}
double cosTheta = cos (thetaIncrement);
double sinTheta = sin (thetaIncrement);
- for (double angle = start; angle < stop; angle += thetaIncrement) {
+ double angle;
+ for (angle = start; angle < stop; angle += thetaIncrement) {
double xp = cosTheta * x - sinTheta * y; // translate point by thetaIncrement
double yp = sinTheta * x + cosTheta * y;
lineAbs (xCent + xp, yCent + yp);