From bd1602cf739e89ab1fece31c3ab881fa7bd5f857 Mon Sep 17 00:00:00 2001 From: namespace Date: Mon, 9 Oct 2006 16:25:07 +0000 Subject: [PATCH] - 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 --- CHANGES | 6 ++++++ radiant/camwindow.cpp | 38 +++++++++++++++++++++++++++++++------- radiant/mainframe.cpp | 1 + 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/CHANGES b/CHANGES index 149b4c0..a511c44 100644 --- a/CHANGES +++ b/CHANGES @@ -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) diff --git a/radiant/camwindow.cpp b/radiant/camwindow.cpp index 0c2acb5..f1b2297 100644 --- a/radiant/camwindow.cpp +++ b/radiant/camwindow.cpp @@ -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 ShowStatsToggleCaller; + +void ShowStatsExport(const BoolImportCallback& importer) +{ + importer(g_camwindow_globals_private.m_showStats); +} +typedef FreeCaller1 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,13 +1664,16 @@ void CamWnd::Cam_Draw() glEnd(); } - glRasterPos3f(1.0f, static_cast(m_Camera.height) - 1.0f, 0.0f); - extern const char* Renderer_GetStats(); - GlobalOpenGL().drawString(Renderer_GetStats()); + if(g_camwindow_globals_private.m_showStats) + { + glRasterPos3f(1.0f, static_cast(m_Camera.height) - 1.0f, 0.0f); + extern const char* Renderer_GetStats(); + GlobalOpenGL().drawString(Renderer_GetStats()); - glRasterPos3f(1.0f, static_cast(m_Camera.height) - 11.0f, 0.0f); - extern const char* Cull_GetStats(); - GlobalOpenGL().drawString(Cull_GetStats()); + glRasterPos3f(1.0f, static_cast(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)); diff --git a/radiant/mainframe.cpp b/radiant/mainframe.cpp index 47cfca1..6d3f754 100644 --- a/radiant/mainframe.cpp +++ b/radiant/mainframe.cpp @@ -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"); } {