From 89006b755f147d8e8486c6d5b03b7811dea1b7a0 Mon Sep 17 00:00:00 2001 From: David Rose Date: Thu, 16 Sep 2004 15:49:54 +0000 Subject: [PATCH] implement averaging (smoothing) --- .../src/gtk-stats/gtkStatsStripWindow.cxx | 19 ++++++++++++++++++- pandatool/src/gtk-stats/gtkStatsStripWindow.h | 3 +++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/pandatool/src/gtk-stats/gtkStatsStripWindow.cxx b/pandatool/src/gtk-stats/gtkStatsStripWindow.cxx index c7486e010f..20454451cb 100644 --- a/pandatool/src/gtk-stats/gtkStatsStripWindow.cxx +++ b/pandatool/src/gtk-stats/gtkStatsStripWindow.cxx @@ -27,6 +27,7 @@ using Gtk::Menu_Helpers::MenuElem; +using Gtk::Menu_Helpers::CheckMenuElem; using Gtk::Menu_Helpers::SeparatorElem; //////////////////////////////////////////////////////////////////// @@ -45,6 +46,7 @@ GtkStatsStripWindow(GtkStatsMonitor *monitor, int thread_index, { _title_unknown = false; _setup_scale_menu = false; + _smooth = false; setup_menu(); layout_window(chart_xsize, chart_ysize); @@ -173,8 +175,11 @@ setup_menu() { _menu->items().push_back(MenuElem("Speed", *manage(speed_menu))); - _scale_menu = new Gtk::Menu; + _scale_menu->items().push_back + (CheckMenuElem("Smooth", + slot(this, &GtkStatsStripWindow::menu_smooth))); + _scale_menu->items().push_back(SeparatorElem()); _scale_menu->items().push_back (MenuElem("Auto scale", slot(this, &GtkStatsStripWindow::menu_auto_vscale))); @@ -296,6 +301,18 @@ menu_vscale(float max_height) { _chart->set_vertical_scale(max_height); } +//////////////////////////////////////////////////////////////////// +// Function: GtkStatsStripWindow::menu_smooth +// Access: Protected +// Description: Toggles the "smooth" state of the check menu. +//////////////////////////////////////////////////////////////////// +void GtkStatsStripWindow:: +menu_smooth() { + _smooth = !_smooth; + + _chart->set_average_mode(_smooth); +} + //////////////////////////////////////////////////////////////////// // Function: GtkStatsStripWindow::menu_auto_vscale // Access: Protected diff --git a/pandatool/src/gtk-stats/gtkStatsStripWindow.h b/pandatool/src/gtk-stats/gtkStatsStripWindow.h index 23376359f0..747c8f4550 100644 --- a/pandatool/src/gtk-stats/gtkStatsStripWindow.h +++ b/pandatool/src/gtk-stats/gtkStatsStripWindow.h @@ -47,6 +47,7 @@ protected: virtual void menu_new_window(); void menu_hscale(float wpm); void menu_vscale(float max_height); + void menu_smooth(); void menu_auto_vscale(); void menu_show_levels(int collector_index); void open_subchart(int collector_index); @@ -68,6 +69,8 @@ private: Gtk::Menu *_scale_menu; Gtk::Menu *_levels_menu; + + bool _smooth; };