** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: ezplot.cpp,v 1.22 2000/12/25 21:54:26 kevin Exp $
+** $Id: ezplot.cpp,v 1.23 2000/12/26 21:13:15 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
// adjust frame for title
title_row = ya_max;;\r
if (c_title.length() > 0)
- ya_max -= 2 * charheight;
-
+ ya_max -= 2 * charheight;\r
+
// calculate legend box boundaries
int max_leg = 0; // longest legend in characters
int num_leg = 0; // number of legend titles \r
// X-Label
if (c_xlabel.length() > 0)
- ya_min += 2.0 * charheight;
+ ya_min += 1.5 * charheight;
xlbl_row = xp_min; // put x-label on bottom of plot frame
// Y-Label
- if (c_ylabel.length() > 0)
- xa_min += 2.0 * charheight;
+ if (c_ylabel.length() > 0) {\r
+ rSGP.setTextAngle (HALFPI);\r
+ rSGP.setTextSize (1.5 * charheight);\r
+ double xExtent, yExtent;\r
+ rSGP.getTextExtent (c_ylabel.c_str(), &xExtent, &yExtent);\r
+ rSGP.setTextSize (charheight);\r
+ xa_min += xExtent;\r
+ rSGP.setTextAngle (0.0);\r
+ }
ylbl_col = xp_min;
/*------------------------------*/
rSGP.lineAbs (xt_min + xn_tickinc * i, ya_min);
}
}
- rSGP.moveAbs (xa_min + (xa_max-xa_min)/2 - c_xlabel.length()*charwidth * 1.5, xlbl_row + charheight * 1.5);
rSGP.setTextSize (charheight * 1.5);
- rSGP.setTextColor (clr_label, -1);
+ rSGP.setTextColor (clr_label, -1);\r
+ double wText, hText;\r
+ rSGP.getTextExtent (c_xlabel.c_str(), &wText, &hText);
+ rSGP.moveAbs (xa_min + (xa_max-xa_min)/2 - wText / 2, xlbl_row + charheight * 1.5);\r
rSGP.drawText (c_xlabel);
rSGP.setTextSize (charheight);
minorinc = xn_tickinc / (o_xminortick + 1);
rSGP.lineAbs (xa_min, y);
}
}\r
-#if 0\r
- rSGP.moveAbs(.5,.5);\r
- char s[128];\r
- snprintf(s,sizeof(s),"%f, %f",charwidth, charheight);\r
- rSGP.drawText(s);\r
-#endif\r
rSGP.setTextAngle (HALFPI);
rSGP.setTextSize (1.5 * charheight);
rSGP.setTextColor (clr_label, -1);\r
double xExtent, yExtent;\r
rSGP.getTextExtent (c_ylabel.c_str(), &xExtent, &yExtent);\r
- rSGP.moveAbs (ylbl_col, ya_min + (ya_max-ya_min)/2 - yExtent);\r
- rSGP.drawText (c_ylabel);
+ rSGP.moveAbs (ylbl_col, ya_min + (ya_max-ya_min)/2 - yExtent / 2);\r
+ rSGP.drawText (c_ylabel);\r
rSGP.setTextAngle (0.0);
rSGP.setTextSize (charheight);
minorinc = yn_tickinc / (o_yminortick + 1);