From: namespace Date: Mon, 9 Oct 2006 16:25:07 +0000 (+0000) Subject: - Added option to toggle the camera window stats on/off X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=506104b6a196669b02c5329173842d264a512cf9;p=xonotic%2Fnetradiant.git - Added option to toggle the camera window stats on/off git-svn-id: https://zerowing.idsoftware.com/svn/radiant/GtkRadiant/trunk@116 8a3a26a2-13c4-0310-b231-cf6edde360e5 --- diff --git a/CHANGES b/CHANGES index 149b4c0d..a511c441 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 0c2acb5b..f1b22977 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 47cfca19..6d3f754f 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"); } {