** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: ezplot.cpp,v 1.31 2001/02/20 04:48:45 kevin Exp $
+** $Id: ezplot.cpp,v 1.33 2001/03/11 15:27: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
void
EZPlot::plot (SGP* pSGP)
{
-
if (m_vecCurves.size() <= 0)
return;
-
m_pSGP = pSGP;
-
m_pSGP->setWindow (0., 0., 1., 1.);
if (s_textsize == TRUE)
charheight = m_pSGP->getCharHeight();
charwidth = m_pSGP->getCharWidth();
+ double symheight = charheight * 0.3; // size of symbol in NDC
+ double symwidth = symheight;
const EZPlotCurve& firstCurve = *m_vecCurves[0];
m_pSGP->setLineStyle (SGP::LS_SOLID);
for (int j = 0; j < 5; j++) {
m_pSGP->moveAbs (xmin + j * xinc, y);
- symbol(iSymbol, 0.5 * charwidth, 0.5 * charheight);
+ symbol (iSymbol, symwidth, symheight);
}
}
++iLegend; // move to next legend position
m_pSGP->setLineStyle (SGP::LS_SOLID);
drawAxes();
- // size of symbol in NDC
- double symwidth = charwidth;
- double symheight = charheight;
-
double clipRect[4];
for (int i = 1; i < pCurve->m_iPointCount; i++) {
double x2 = convertWorldToNDC_X (pCurve->x[i]);
double y2 = convertWorldToNDC_Y (pCurve->y[i]);
-
double x2Clip = x2;
-
double y2Clip = y2;
if (clip_rect (x1, y1, x2Clip, y2Clip, clipRect)) {
-
m_pSGP->moveAbs (x1, y1);
-
m_pSGP->lineAbs (x2Clip, y2Clip);
-
}
-
x1 = x2;
-
y1 = y2;
-
}
}
if (iSym > 0) {
-
int iSymFreq = getSymbolFreq (iCurve);
m_pSGP->setLineStyle (SGP::LS_SOLID);
double x = convertWorldToNDC_X (pCurve->x[0]);
if (y >= ygn_min && y <= ygn_max) {
m_pSGP->moveAbs (x, y);
symbol (iSym, symwidth, symheight);
-
}
}
}
return;
if (sym == SB_CROSS) {
- m_pSGP->moveRel (-0.5 * symwidth, -0.5 * symheight);
- m_pSGP->lineRel (symwidth, symheight);
- m_pSGP->moveRel (-symwidth, 0.0);
- m_pSGP->lineRel (symwidth, -symheight);
- m_pSGP->moveRel (-0.5 * symwidth, 0.5 * symheight);
+ m_pSGP->markerRel (0, 0);
+// m_pSGP->moveRel (-0.5 * symwidth, -0.5 * symheight);
+// m_pSGP->lineRel (symwidth, symheight);
+// m_pSGP->moveRel (-symwidth, 0.0);
+// m_pSGP->lineRel (symwidth, -symheight);
+// m_pSGP->moveRel (-0.5 * symwidth, 0.5 * symheight);
} else if (sym == SB_PLUS) {
m_pSGP->moveRel (-0.5 * symwidth, 0.0);
m_pSGP->lineRel (symwidth, 0.0);
m_pSGP->moveRel (-0.5 * symwidth, 0.0);
m_pSGP->lineRel (symwidth, 0.0);
m_pSGP->moveRel (-0.5 * symwidth, 0.5 * symheight);
+ } else if (sym == SB_POINT) {
+ m_pSGP->pointRel (0, 0);
}
}