r314: ezplot fixes
authorKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 26 Dec 2000 21:13:15 +0000 (21:13 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 26 Dec 2000 21:13:15 +0000 (21:13 +0000)
libctgraphics/ezplot.cpp
libctgraphics/sgp.cpp
msvc/ctsim/ctsim.plg

index 8c385e057cd6c73f46b4b4fd33e3d2852051b6d9..eab8cc37bebda290d0428b3b64a9a5ca98ab66e2 100644 (file)
@@ -6,7 +6,7 @@
 **  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
@@ -441,8 +441,8 @@ EZPlot::plot ()
   // 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
@@ -521,12 +521,19 @@ EZPlot::plot ()
   
   // 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;
   
   /*------------------------------*/
@@ -776,9 +783,11 @@ EZPlot::drawAxes()
         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);
@@ -842,19 +851,13 @@ EZPlot::drawAxes()
         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);
index 4b2d5dcfea9cf1c52a8211b0a3d656dfd65ef821..a7450936dc65d30d27bcc87d541645bbacca99ce 100644 (file)
@@ -7,7 +7,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: sgp.cpp,v 1.23 2000/12/25 21:54:26 kevin Exp $
+**  $Id: sgp.cpp,v 1.24 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
@@ -532,7 +532,12 @@ SGP::getTextExtent (const char* szText, double* worldW, double* worldH)
   if (m_driver.isWX()) {
     wxString sText (szText);
     wxCoord deviceW, deviceH;
-    m_driver.idWX()->GetTextExtent (sText, &deviceW, &deviceH);
+    m_driver.idWX()->GetTextExtent (sText, &deviceW, &deviceH);\r
+    if (m_dTextAngle == 90 || m_dTextAngle == -90) {\r
+      wxCoord temp = deviceW;\r
+      deviceW = deviceH;\r
+      deviceH = temp;\r
+    }
     *worldW = (xw_max - xw_min) * deviceW / static_cast<double>(m_iPhysicalXSize);;
     *worldH = (yw_max - yw_min) * deviceH / static_cast<double>(m_iPhysicalYSize);
   }
index 2f9de80597fd9ae7ad45ad0a68b11ee67fcf0f0b..c6fc5148a341630ba873db9f0f29d3b017c2daa5 100644 (file)
@@ -6,13 +6,13 @@
 --------------------Configuration: libctsim - Win32 Debug--------------------\r
 </h3>\r
 <h3>Command Lines</h3>\r
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP26F.tmp" with contents\r
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP2A3.tmp" with contents\r
 [\r
 /nologo /G6 /MTd /W3 /Gm /GR /GX /ZI /Od /I "..\..\..\zlib" /I "..\..\INCLUDE" /I "..\..\getopt" /I "..\..\..\lpng108" /I "..\..\..\fftw-2.1.3\fftw" /I "..\..\..\fftw-2.1.3\rfftw" /I "..\..\..\wx2\include" /D "_DEBUG" /D "HAVE_WXWIN" /D "HAVE_STRING_H" /D "HAVE_GETOPT_H" /D "WIN32" /D "_MBCS" /D "_LIB" /D "MSVC" /D "HAVE_FFTW" /D "HAVE_PNG" /D "HAVE_SGP" /D "HAVE_WXWINDOWS" /D "__WXMSW__" /FR"Debug/" /Fp"Debug/libctsim.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c \r
 "C:\ctsim-2.0.6\libctgraphics\ezplot.cpp"\r
 ]\r
-Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP26F.tmp" \r
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP270.tmp" with contents\r
+Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP2A3.tmp" \r
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP2A4.tmp" with contents\r
 [\r
 /nologo /out:"Debug\libctsim.lib" \r
 ".\Debug\array2dfile.obj"\r
@@ -42,7 +42,7 @@ Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP270.tmp" with conten
 ".\Debug\transformmatrix.obj"\r
 ".\Debug\xform.obj"\r
 ]\r
-Creating command line "link.exe -lib @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP270.tmp"\r
+Creating command line "link.exe -lib @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP2A4.tmp"\r
 <h3>Output Window</h3>\r
 Compiling...\r
 ezplot.cpp\r
@@ -51,16 +51,7 @@ Creating library...
 --------------------Configuration: ctsim - Win32 Debug--------------------\r
 </h3>\r
 <h3>Command Lines</h3>\r
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP271.tmp" with contents\r
-[\r
-/nologo /G6 /MTd /W3 /Gm /GR /GX /ZI /Od /I "\wx2\include" /I "." /I "..\..\include" /I "..\..\getopt" /I "..\..\..\lpng108" /I "..\..\..\zlib" /I "..\..\..\fftw-2.1.3\fftw" /I "..\..\..\fftw-2.1.3\rfftw" /D VERSION=\"2.5.0\" /D "_DEBUG" /D "__WXMSW__" /D "HAVE_SGP" /D "HAVE_PNG" /D "HAVE_WXWINDOWS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "HAVE_STRING_H" /D "HAVE_FFTW" /D "HAVE_RFFTW" /D "HAVE_GETOPT_H" /D "MSVC" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D CTSIMVERSION=\"2.5.0\" /FR"Debug/" /Fp"Debug/ctsim.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c \r
-"C:\ctsim-2.0.6\src\ctsim.cpp"\r
-"C:\ctsim-2.0.6\src\dialogs.cpp"\r
-"C:\ctsim-2.0.6\src\docs.cpp"\r
-"C:\ctsim-2.0.6\src\views.cpp"\r
-]\r
-Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP271.tmp" \r
-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP272.tmp" with contents\r
+Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP2A5.tmp" with contents\r
 [\r
 comctl32.lib winmm.lib rpcrt4.lib ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../libctsim/Debug/libctsim.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\..\lpng108\msvc\win32\libpng\lib_dbg\libpng.lib ..\..\..\lpng108\msvc\win32\zlib\lib_dbg\zlib.lib libcmtd.lib ..\..\..\fftw-2.1.3\Win32\FFTW2st\Debug\FFTW2st.lib ..\..\..\fftw-2.1.3\Win32\RFFTW2st\Debug\RFFTW2st.lib ../../../wx2/lib/wxd.lib /nologo /subsystem:windows /incremental:yes /pdb:"Debug/ctsim.pdb" /debug /machine:I386 /nodefaultlib:"libcd.lib" /nodefaultlib:"libcid.lib" /nodefaultlib:"msvcrtd.lib" /out:"Debug/ctsim.exe" /pdbtype:sept /libpath:"..\..\..\lpng108\msvc\win32\libpng\lib" /libpath:"..\..\..\lpng108\msvc\win32\zlib\lib" \r
 ".\Debug\ctsim.obj"\r
@@ -75,24 +66,14 @@ comctl32.lib winmm.lib rpcrt4.lib ws2_32.lib kernel32.lib user32.lib gdi32.lib w
 "\fftw-2.1.3\Win32\RFFTW2st\Debug\RFFTW2st.lib"\r
 "\wx2\lib\wxd.lib"\r
 ]\r
-Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP272.tmp"\r
+Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP2A5.tmp"\r
 <h3>Output Window</h3>\r
-Compiling...\r
-views.cpp\r
-Skipping... (no relevant changes detected)\r
-ctsim.cpp\r
-dialogs.cpp\r
-docs.cpp\r
 Linking...\r
-Creating command line "bscmake.exe /nologo /o"Debug/ctsim.bsc"  ".\Debug\ctsim.sbr" ".\Debug\dialogs.sbr" ".\Debug\dlgprojections.sbr" ".\Debug\dlgreconstruct.sbr" ".\Debug\docs.sbr" ".\Debug\views.sbr""\r
-Creating browse info file...\r
-BSCMAKE: warning BK4503 : minor error in .SBR file '.\Debug\views.sbr' ignored\r
-<h3>Output Window</h3>\r
 \r
 \r
 \r
 <h3>Results</h3>\r
-ctsim.exe - 0 error(s), 1 warning(s)\r
+ctsim.exe - 0 error(s), 0 warning(s)\r
 </pre>\r
 </body>\r
 </html>\r