- Added option to toggle the camera window stats on/off

git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@116 8a3a26a2-13c4-0310-b231-cf6edde360e5
This commit is contained in:
namespace 2006-10-09 16:25:07 +00:00
parent bdf247256f
commit bd1602cf73
3 changed files with 38 additions and 7 deletions

View file

@ -1,6 +1,12 @@
This is the changelog for developers, != changelog for the end user
that we distribute with the binaries. (see changelog)
09/10/2006
namespace
- Added option to toggle the camera window stats on/off (Shaderman)
(view --> show --> show stats)
08/10/2006
namespace
- Fix for bug 1106 - .wad files don't get listed in the textures menu (Shaderman)

View file

@ -80,13 +80,15 @@ struct camwindow_globals_private_t
bool m_bCamInverseMouse;
bool m_bCamDiscrete;
bool m_bCubicClipping;
bool m_showStats;
camwindow_globals_private_t() :
m_nMoveSpeed(100),
m_nAngleSpeed(3),
m_bCamInverseMouse(false),
m_bCamDiscrete(true),
m_bCubicClipping(true)
m_bCubicClipping(true),
m_showStats(true)
{
}
@ -1500,6 +1502,22 @@ Cam_Draw
==============
*/
void ShowStatsToggle()
{
g_camwindow_globals_private.m_showStats ^= 1;
}
typedef FreeCaller<ShowStatsToggle> ShowStatsToggleCaller;
void ShowStatsExport(const BoolImportCallback& importer)
{
importer(g_camwindow_globals_private.m_showStats);
}
typedef FreeCaller1<const BoolImportCallback&, ShowStatsExport> ShowStatsExportCaller;
ShowStatsExportCaller g_show_stats_caller;
BoolExportCallback g_show_stats_callback(g_show_stats_caller);
ToggleItem g_show_stats(g_show_stats_callback);
void CamWnd::Cam_Draw()
{
glViewport(0, 0, m_Camera.width, m_Camera.height);
@ -1646,6 +1664,8 @@ void CamWnd::Cam_Draw()
glEnd();
}
if(g_camwindow_globals_private.m_showStats)
{
glRasterPos3f(1.0f, static_cast<float>(m_Camera.height) - 1.0f, 0.0f);
extern const char* Renderer_GetStats();
GlobalOpenGL().drawString(Renderer_GetStats());
@ -1653,6 +1673,7 @@ void CamWnd::Cam_Draw()
glRasterPos3f(1.0f, static_cast<float>(m_Camera.height) - 11.0f, 0.0f);
extern const char* Cull_GetStats();
GlobalOpenGL().drawString(Cull_GetStats());
}
// bind back to the default texture so that we don't have problems
// elsewhere using/modifying texture maps between contexts
@ -2009,6 +2030,9 @@ void CamWnd_Construct()
GlobalShortcuts_insert("CameraFreeMoveLeft", Accelerator(GDK_Left));
GlobalShortcuts_insert("CameraFreeMoveRight", Accelerator(GDK_Right));
GlobalToggles_insert("ShowStats", ShowStatsToggleCaller(), ToggleItem::AddCallbackCaller(g_show_stats));
GlobalPreferenceSystem().registerPreference("ShowStats", BoolImportStringCaller(g_camwindow_globals_private.m_showStats), BoolExportStringCaller(g_camwindow_globals_private.m_showStats));
GlobalPreferenceSystem().registerPreference("MoveSpeed", IntImportStringCaller(g_camwindow_globals_private.m_nMoveSpeed), IntExportStringCaller(g_camwindow_globals_private.m_nMoveSpeed));
GlobalPreferenceSystem().registerPreference("AngleSpeed", IntImportStringCaller(g_camwindow_globals_private.m_nAngleSpeed), IntExportStringCaller(g_camwindow_globals_private.m_nAngleSpeed));
GlobalPreferenceSystem().registerPreference("CamInverseMouse", BoolImportStringCaller(g_camwindow_globals_private.m_bCamInverseMouse), BoolExportStringCaller(g_camwindow_globals_private.m_bCamInverseMouse));

View file

@ -2087,6 +2087,7 @@ GtkMenuItem* create_view_menu(MainFrame::EViewStyle style)
create_check_menu_item_with_mnemonic(menu_in_menu, "Show Window Outline", "ShowWindowOutline");
create_check_menu_item_with_mnemonic(menu_in_menu, "Show Axes", "ShowAxes");
create_check_menu_item_with_mnemonic(menu_in_menu, "Show Workzone", "ShowWorkzone");
create_check_menu_item_with_mnemonic(menu_in_menu, "Show Stats", "ShowStats");
}
{