+void
+SGP::getTextExtent (const char* szText, double* worldW, double* worldH)
+{
+#if HAVE_WXWINDOWS
+ if (m_driver.isWX()) {
+ wxString sText (szText);
+ wxCoord deviceW, deviceH;
+ m_driver.idWX()->GetTextExtent (sText, &deviceW, &deviceH);
+ *worldW = static_cast<double>(deviceW) / static_cast<double>(m_iPhysicalXSize);;
+ *worldH = static_cast<double>(deviceH) / static_cast<double>(m_iPhysicalYSize);
+ // cout << deviceW << ", " << deviceH << ", " << *worldW << ", " << *worldH << endl;
+ *worldW *= (xw_max - xw_min);
+ *worldH *= (yw_max - yw_min);
+ }
+#endif
+}
+
+double
+SGP::getCharHeight ()
+{
+ double dHeight = (1. / 25.);
+
+#if HAVE_WXWINDOWS
+ if (m_driver.isWX()) {
+ dHeight = m_driver.idWX()->GetCharHeight();
+ dHeight /= static_cast<double>(m_iPhysicalYSize);;
+ }
+#endif
+ return (dHeight * (xw_max - xw_min));
+}
+