Panda3D
|
A window that draws a strip chart, given a view. More...
#include "winStatsStripChart.h"
Public Types | |
enum | DragMode { DM_none, DM_scale, DM_left_margin, DM_right_margin, DM_guide_bar, DM_new_guide_bar, DM_sizing } |
enum | GuideBarStyle { GBS_normal, GBS_target, GBS_user } |
enum | GuideBarUnits { GBU_hz = 0x0001, GBU_ms = 0x0002, GBU_named = 0x0004, GBU_show_units = 0x0008 } |
Public Member Functions | |
WinStatsStripChart (WinStatsMonitor *monitor, int thread_index, int collector_index, bool show_level) | |
int | add_user_guide_bar (float height) |
Creates a new user guide bar and returns its index number. | |
virtual void | changed_graph_size (int graph_xsize, int graph_ysize) |
Called when the user has resized the window, forcing a resize of the graph. | |
virtual void | clicked_label (int collector_index) |
Called when the user single-clicks on a label. | |
int | find_user_guide_bar (float from_height, float to_height) const |
Returns the index number of the first user guide bar found whose height is within the indicated range, or -1 if no user guide bars fall within the range. | |
bool | first_data () const |
Returns true if the chart has seen its first data appear on it, false if it is still a virgin chart. | |
virtual void | force_redraw () |
Called when it is necessary to redraw the entire graph. | |
bool | get_average_mode () const |
Returns the current state of the average_mode flag. | |
int | get_collector_index () const |
Returns the particular collector whose data this strip chart reflects. | |
int | get_collector_under_pixel (int xpoint, int ypoint) |
Return the collector index associated with the particular band of color at the indicated pixel location, or -1 if no band of color was at the pixel. | |
const GuideBar & | get_guide_bar (int n) const |
Returns the nth horizontal guide bar. | |
const string & | get_guide_bar_unit_name () const |
Returns the name of the units to be used for the guide bars if the units type is set to GBU_named | GBU_show_units. | |
int | get_guide_bar_units () const |
Returns the units that are displayed for the guide bar labels. | |
float | get_horizontal_scale () const |
Returns the amount of total time the width of the horizontal axis represents. | |
int | get_label_collector (int n) const |
Returns the collector index associated with the nth label. | |
RGBColorf | get_label_color (int n) const |
Returns the color associated with the nth label. | |
string | get_label_name (int n) const |
Returns the text associated with the nth label. | |
PStatMonitor * | get_monitor () const |
Returns the monitor associated with this chart. | |
int | get_num_guide_bars () const |
Returns the number of horizontal guide bars that should be drawn, based on the indicated target frame rate. | |
int | get_num_labels () const |
Returns the number of labels to be drawn for this chart. | |
int | get_num_user_guide_bars () const |
Returns the current number of user-defined guide bars. | |
bool | get_scroll_mode () const |
Returns the current state of the scroll_mode flag. | |
float | get_target_frame_rate () const |
Returns the indicated target frame rate in Hz. | |
string | get_title_text () |
Returns the text suitable for the title label on the top line. | |
GuideBar | get_user_guide_bar (int n) const |
Returns the nth user-defined guide bar. | |
float | get_vertical_scale () const |
Returns total value the height of the vertical axis represents. | |
PStatView & | get_view () const |
Returns the View this chart represents. | |
int | get_xsize () const |
Returns the width of the chart in pixels. | |
int | get_ysize () const |
Returns the height of the chart in pixels. | |
int | height_to_pixel (float value) const |
Converts a value (i.e. | |
bool | is_title_unknown () const |
Returns true if get_title_text() has never yet returned an answer, false if it has. | |
void | move_user_guide_bar (int n, float height) |
Adjusts the height of the nth user-defined guide bar. | |
virtual void | new_collector (int collector_index) |
Called whenever a new Collector definition is received from the client. | |
virtual void | new_data (int thread_index, int frame_number) |
Called as each frame's data is made available. | |
void | new_data (int frame_number) |
Indicates that new data has become available. | |
float | pixel_to_height (int y) const |
Converts a vertical pixel offset to a value (a "height" in the strip chart). | |
float | pixel_to_timestamp (int x) const |
Converts a horizontal pixel offset to a timestamp. | |
void | remove_user_guide_bar (int n) |
Removes the user guide bar with the indicated index number. | |
void | set_auto_vertical_scale () |
Sets the vertical scale to make all the data visible. | |
void | set_average_mode (bool average_mode) |
Changes the average_mode flag. | |
void | set_collector_index (int collector_index) |
Changes the collector represented by this strip chart. | |
void | set_default_vertical_scale () |
Sets the vertical scale according to the suggested scale of the base collector, if any, or to center the target frame rate bar otherwise. | |
void | set_guide_bar_unit_name (const string &unit_name) |
Sets the name of the units to be used for the guide bars if the units type is set to GBU_named | GBU_show_units. | |
void | set_guide_bar_units (int unit_mask) |
Sets the units that are displayed for the guide bar labels. | |
void | set_horizontal_scale (float time_width) |
Changes the amount of time the width of the horizontal axis represents. | |
void | set_pause (bool pause) |
Changes the pause flag for the graph. | |
void | set_scroll_mode (bool scroll_mode) |
Changes the scroll_mode flag. | |
virtual void | set_scroll_speed (float scroll_speed) |
Called when the user selects a new scroll speed from the monitor pulldown menu, this should adjust the speed for the graph to the indicated value. | |
void | set_target_frame_rate (float frame_rate) |
Sets the target frame rate of the application in Hz. | |
virtual void | set_time_units (int unit_mask) |
Called when the user selects a new time units from the monitor pulldown menu, this should adjust the units for the graph to the indicated mask if it is a time-based graph. | |
void | set_vertical_scale (float value_height) |
Changes the value the height of the vertical axis represents. | |
int | timestamp_to_pixel (float time) const |
Converts a timestamp to a horizontal pixel offset. | |
void | update () |
Updates the chart with the latest data. | |
void | user_guide_bars_changed () |
Called when the user guide bars have been changed. | |
Static Public Member Functions | |
static string | format_number (float value) |
Returns a string representing the value nicely formatted for its range. | |
static string | format_number (float value, int guide_bar_units, const string &unit_name=string()) |
Returns a string representing the value nicely formatted for its range, including the units as indicated. | |
Protected Types | |
typedef pmap< int, HBRUSH > | Brushes |
typedef pmap< int, FrameData > | Data |
typedef pvector< ColorData > | FrameData |
typedef pvector< GuideBar > | GuideBars |
typedef vector_int | Labels |
Protected Member Functions | |
virtual void | additional_graph_window_paint (HDC hdc) |
This is called during the servicing of WM_PAINT; it gives a derived class opportunity to do some further painting into the window (the outer window, not the graph window). | |
virtual void | additional_window_paint (HDC hdc) |
This is called during the servicing of WM_PAINT; it gives a derived class opportunity to do some further painting into the window (the outer window, not the graph window). | |
virtual void | begin_draw (int from_x, int to_x) |
Should be overridden by the user class. | |
void | changed_size (int xsize, int ysize) |
To be called by the user class when the widget size has changed. | |
virtual void | clear_region () |
Erases the chart area. | |
void | close () |
Should be called when the user closes the associated window. | |
void | compute_average_pixel_data (PStatStripChart::FrameData &result, int &then_i, int &now_i, float now) |
Fills the indicated FrameData structure with the color data for the indicated pixel, averaged over the past pstats_average_time seconds. | |
virtual DragMode | consider_drag_start (int mouse_x, int mouse_y, int width, int height) |
Based on the mouse position within the window's client area, look for draggable things the mouse might be hovering over and return the apprioprate DragMode enum or DM_none if nothing is indicated. | |
virtual void | copy_region (int start_x, int end_x, int dest_x) |
Should be overridden by the user class to copy a region of the chart from one part of the chart to another. | |
virtual void | draw_cursor (int x) |
Draws a single vertical slice of foreground color. | |
virtual void | draw_empty (int x, int w) |
Draws a single vertical slice of background color. | |
virtual void | draw_slice (int x, int w, const PStatStripChart::FrameData &fdata) |
Draws a single vertical slice of the strip chart, at the given pixel position, and corresponding to the indicated level data. | |
virtual void | end_draw (int from_x, int to_x) |
Should be overridden by the user class. | |
void | force_reset () |
To be called by the user class to cause the chart to reset to empty and start filling again. | |
float | get_average_net_value () const |
Computes the average value of the chart's collector over the past pstats_average_time number of seconds. | |
HBRUSH | get_collector_brush (int collector_index) |
Returns a brush suitable for drawing in the indicated collector's color. | |
const FrameData & | get_frame_data (int frame_number) |
Returns the cached FrameData associated with the given frame number. | |
float | get_net_value (int frame_number) const |
Returns the net value of the chart's collector for the indicated frame number. | |
virtual LONG | graph_window_proc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) |
virtual void | idle () |
Should be overridden by the user class to perform any other updates might be necessary after the color bars have been redrawn. | |
bool | is_label_used (int collector_index) const |
Returns true if the indicated collector appears anywhere on the chart at the current time, false otherwise. | |
GuideBar | make_guide_bar (float value, GuideBarStyle style=GBS_normal) const |
Makes a guide bar for the indicated elapsed time or level units. | |
virtual void | move_graph_window (int graph_left, int graph_top, int graph_xsize, int graph_ysize) |
Repositions the graph child window within the parent window according to the _margin variables. | |
void | move_label_stack () |
Repositions the label stack if its coordinates or size have changed. | |
virtual void | normal_guide_bars () |
Calls update_guide_bars with parameters suitable to this kind of graph. | |
PT (PStatMonitor) _monitor | |
virtual void | set_drag_mode (DragMode drag_mode) |
This should be called whenever the drag mode needs to change state. | |
void | setup_label_stack () |
Sets up the label stack on the left edge of the frame. | |
void | update_guide_bars (int num_bars, float scale) |
Resets the list of guide bars. | |
virtual void | update_labels () |
Resets the list of labels. | |
LONG | window_proc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) |
This window_proc should be called up to by the derived classes for any messages that are not specifically handled by the derived class. | |
Static Protected Member Functions | |
static void | accumulate_frame_data (FrameData &fdata, const FrameData &additional, float weight) |
Adds the data from additional into the data from fdata, after applying the scale weight. | |
static void | scale_frame_data (FrameData &fdata, float factor) |
Applies the indicated scale to all collector values in data. | |
Protected Attributes | |
HBITMAP | _bitmap |
HDC | _bitmap_dc |
int | _bitmap_xsize |
int | _bitmap_ysize |
int | _bottom_margin |
Brushes | _brushes |
COLORREF | _dark_color |
HPEN | _dark_pen |
int | _drag_guide_bar |
DragMode | _drag_mode |
float | _drag_scale_start |
int | _drag_start_x |
int | _drag_start_y |
int | _graph_left |
int | _graph_top |
HWND | _graph_window |
int | _guide_bar_units |
GuideBars | _guide_bars |
bool | _guide_bars_changed |
HCURSOR | _hand_cursor |
WinStatsLabelStack | _label_stack |
Labels | _labels |
bool | _labels_changed |
int | _left_margin |
COLORREF | _light_color |
HPEN | _light_pen |
WinStatsMonitor * | _monitor |
bool | _pause |
DragMode | _potential_drag_mode |
int | _right_margin |
HCURSOR | _sizewe_cursor |
float | _target_frame_rate |
int | _thread_index |
int | _top_margin |
string | _unit_name |
COLORREF | _user_guide_bar_color |
HPEN | _user_guide_bar_pen |
HWND | _window |
int | _xsize |
int | _ysize |
Static Protected Attributes | |
static DWORD | graph_window_style |
A window that draws a strip chart, given a view.
Definition at line 32 of file winStatsStripChart.h.
void PStatStripChart::accumulate_frame_data | ( | FrameData & | fdata, |
const FrameData & | additional, | ||
float | weight | ||
) | [static, protected, inherited] |
Adds the data from additional into the data from fdata, after applying the scale weight.
Definition at line 325 of file pStatStripChart.cxx.
Referenced by PStatStripChart::compute_average_pixel_data().
int PStatGraph::add_user_guide_bar | ( | float | height | ) | [inherited] |
Creates a new user guide bar and returns its index number.
Definition at line 148 of file pStatGraph.cxx.
Referenced by GtkStatsStripChart::handle_motion().
void WinStatsStripChart::additional_graph_window_paint | ( | HDC | hdc | ) | [protected, virtual] |
This is called during the servicing of WM_PAINT; it gives a derived class opportunity to do some further painting into the window (the outer window, not the graph window).
Reimplemented from WinStatsGraph.
Definition at line 583 of file winStatsStripChart.cxx.
References PStatGraph::get_num_user_guide_bars(), PStatGraph::get_user_guide_bar(), and PStatGraph::get_xsize().
void WinStatsStripChart::additional_window_paint | ( | HDC | hdc | ) | [protected, virtual] |
This is called during the servicing of WM_PAINT; it gives a derived class opportunity to do some further painting into the window (the outer window, not the graph window).
Reimplemented from WinStatsGraph.
Definition at line 533 of file winStatsStripChart.cxx.
References PStatGraph::get_guide_bar(), PStatGraph::get_num_guide_bars(), PStatGraph::get_num_user_guide_bars(), PStatGraph::get_user_guide_bar(), PStatStripChart::get_vertical_scale(), and PStatGraph::make_guide_bar().
void PStatStripChart::begin_draw | ( | int | from_x, |
int | to_x | ||
) | [protected, virtual, inherited] |
Should be overridden by the user class.
This hook will be called before drawing any color bars in the strip chart; it gives the pixel range that's about to be redrawn.
Definition at line 719 of file pStatStripChart.cxx.
void WinStatsStripChart::changed_graph_size | ( | int | graph_xsize, |
int | graph_ysize | ||
) | [virtual] |
Called when the user has resized the window, forcing a resize of the graph.
Reimplemented from WinStatsGraph.
Definition at line 143 of file winStatsStripChart.cxx.
References PStatStripChart::changed_size().
void PStatStripChart::changed_size | ( | int | xsize, |
int | ysize | ||
) | [protected, inherited] |
To be called by the user class when the widget size has changed.
This updates the chart's internal data and causes it to issue redraw commands to reflect the new size.
Definition at line 635 of file pStatStripChart.cxx.
Referenced by changed_graph_size(), and GtkStatsStripChart::changed_graph_size().
void WinStatsStripChart::clear_region | ( | ) | [protected, virtual] |
Erases the chart area.
Reimplemented from PStatStripChart.
Definition at line 261 of file winStatsStripChart.cxx.
References PStatGraph::get_xsize(), and PStatGraph::get_ysize().
void WinStatsStripChart::clicked_label | ( | int | collector_index | ) | [virtual] |
Called when the user single-clicks on a label.
Reimplemented from WinStatsGraph.
Definition at line 195 of file winStatsStripChart.cxx.
References PStatMonitor::get_client_data(), PStatClientData::get_collector_def(), PStatStripChart::get_collector_index(), PStatStripChart::get_view(), PStatClientData::has_collector(), and PStatStripChart::set_collector_index().
void WinStatsGraph::close | ( | ) | [protected, inherited] |
Should be called when the user closes the associated window.
This tells the monitor to remove the graph.
Definition at line 191 of file winStatsGraph.cxx.
Referenced by WinStatsGraph::window_proc().
void PStatStripChart::compute_average_pixel_data | ( | PStatStripChart::FrameData & | result, |
int & | then_i, | ||
int & | now_i, | ||
float | now | ||
) | [protected, inherited] |
Fills the indicated FrameData structure with the color data for the indicated pixel, averaged over the past pstats_average_time seconds.
now is the timestamp for which we are computing the data; then_i and now_i are the frame numbers that bound (now - pstats_average_time) and now. At function initialization time, these should be at or below the actual values; they will be incremented as needed by this function. This allows the function to be called repeatedly for successive pixels.
Definition at line 493 of file pStatStripChart.cxx.
References PStatStripChart::accumulate_frame_data(), PStatFrameData::get_end(), PStatThreadData::get_frame(), PStatStripChart::get_frame_data(), PStatThreadData::get_latest_frame_number(), PStatThreadData::get_oldest_time(), PStatFrameData::get_start(), PStatView::get_thread_data(), PStatThreadData::is_empty(), and PStatStripChart::scale_frame_data().
Referenced by PStatStripChart::get_collector_under_pixel().
WinStatsGraph::DragMode WinStatsStripChart::consider_drag_start | ( | int | mouse_x, |
int | mouse_y, | ||
int | width, | ||
int | height | ||
) | [protected, virtual] |
Based on the mouse position within the window's client area, look for draggable things the mouse might be hovering over and return the apprioprate DragMode enum or DM_none if nothing is indicated.
Reimplemented from WinStatsGraph.
Definition at line 599 of file winStatsStripChart.cxx.
References PStatGraph::find_user_guide_bar(), PStatGraph::get_xsize(), PStatGraph::get_ysize(), and PStatStripChart::pixel_to_height().
void WinStatsStripChart::copy_region | ( | int | start_x, |
int | end_x, | ||
int | dest_x | ||
) | [protected, virtual] |
Should be overridden by the user class to copy a region of the chart from one part of the chart to another.
This is used to implement scrolling.
Reimplemented from PStatStripChart.
Definition at line 274 of file winStatsStripChart.cxx.
References PStatGraph::get_ysize().
void WinStatsStripChart::draw_cursor | ( | int | x | ) | [protected, virtual] |
Draws a single vertical slice of foreground color.
Reimplemented from PStatStripChart.
Definition at line 348 of file winStatsStripChart.cxx.
References PStatGraph::get_ysize().
void WinStatsStripChart::draw_empty | ( | int | x, |
int | w | ||
) | [protected, virtual] |
Draws a single vertical slice of background color.
Reimplemented from PStatStripChart.
Definition at line 337 of file winStatsStripChart.cxx.
References PStatGraph::get_ysize().
void WinStatsStripChart::draw_slice | ( | int | x, |
int | w, | ||
const PStatStripChart::FrameData & | fdata | ||
) | [protected, virtual] |
Draws a single vertical slice of the strip chart, at the given pixel position, and corresponding to the indicated level data.
Reimplemented from PStatStripChart.
Definition at line 299 of file winStatsStripChart.cxx.
References WinStatsGraph::get_collector_brush(), PStatStripChart::get_vertical_scale(), PStatGraph::get_ysize(), and PStatStripChart::height_to_pixel().
void WinStatsStripChart::end_draw | ( | int | from_x, |
int | to_x | ||
) | [protected, virtual] |
Should be overridden by the user class.
This hook will be called after drawing a series of color bars in the strip chart; it gives the pixel range that was just redrawn.
Reimplemented from PStatStripChart.
Definition at line 362 of file winStatsStripChart.cxx.
References PStatGraph::get_guide_bar(), PStatGraph::get_num_guide_bars(), and PStatGraph::get_ysize().
int PStatGraph::find_user_guide_bar | ( | float | from_height, |
float | to_height | ||
) | const [inherited] |
Returns the index number of the first user guide bar found whose height is within the indicated range, or -1 if no user guide bars fall within the range.
Definition at line 172 of file pStatGraph.cxx.
Referenced by consider_drag_start(), and GtkStatsStripChart::consider_drag_start().
bool PStatStripChart::first_data | ( | ) | const [inherited] |
Returns true if the chart has seen its first data appear on it, false if it is still a virgin chart.
Definition at line 135 of file pStatStripChart.cxx.
void WinStatsStripChart::force_redraw | ( | ) | [virtual] |
Called when it is necessary to redraw the entire graph.
Reimplemented from PStatStripChart.
Definition at line 132 of file winStatsStripChart.cxx.
void PStatStripChart::force_reset | ( | ) | [protected, inherited] |
To be called by the user class to cause the chart to reset to empty and start filling again.
Definition at line 683 of file pStatStripChart.cxx.
References PStatStripChart::clear_region().
Referenced by PStatStripChart::set_horizontal_scale().
string PStatGraph::format_number | ( | float | value | ) | [static, inherited] |
Returns a string representing the value nicely formatted for its range.
Definition at line 184 of file pStatGraph.cxx.
Referenced by PStatGraph::format_number(), PStatGraph::make_guide_bar(), new_data(), and GtkStatsStripChart::new_data().
string PStatGraph::format_number | ( | float | value, |
int | guide_bar_units, | ||
const string & | unit_name = string() |
||
) | [static, inherited] |
Returns a string representing the value nicely formatted for its range, including the units as indicated.
Definition at line 210 of file pStatGraph.cxx.
References PStatGraph::format_number().
bool PStatStripChart::get_average_mode | ( | ) | const [inline, inherited] |
Returns the current state of the average_mode flag.
When true, the strip chart will average out the color values over pstats_average_time seconds, which hides spikes and makes the overall trends easier to read. When false, the strip chart shows the actual data as it is happening.
Definition at line 151 of file pStatStripChart.I.
float PStatStripChart::get_average_net_value | ( | ) | const [protected, inherited] |
Computes the average value of the chart's collector over the past pstats_average_time number of seconds.
Definition at line 571 of file pStatStripChart.cxx.
References PStatThreadData::get_elapsed_frames(), PStatFrameData::get_end(), PStatThreadData::get_frame(), PStatFrameData::get_net_time(), PStatStripChart::get_net_value(), PStatView::get_show_level(), PStatFrameData::get_start(), and PStatView::get_thread_data().
Referenced by new_data(), and GtkStatsStripChart::new_data().
HBRUSH WinStatsGraph::get_collector_brush | ( | int | collector_index | ) | [protected, inherited] |
Returns a brush suitable for drawing in the indicated collector's color.
Definition at line 239 of file winStatsGraph.cxx.
References PStatMonitor::get_collector_color().
Referenced by WinStatsPianoRoll::draw_bar(), and draw_slice().
int PStatStripChart::get_collector_index | ( | ) | const [inline, inherited] |
Returns the particular collector whose data this strip chart reflects.
Definition at line 33 of file pStatStripChart.I.
Referenced by clicked_label(), and GtkStatsStripChart::clicked_label().
int PStatStripChart::get_collector_under_pixel | ( | int | xpoint, |
int | ypoint | ||
) | [inherited] |
Return the collector index associated with the particular band of color at the indicated pixel location, or -1 if no band of color was at the pixel.
Definition at line 219 of file pStatStripChart.cxx.
References PStatStripChart::compute_average_pixel_data(), PStatStripChart::get_frame_data(), PStatThreadData::get_frame_number_at_time(), PStatView::get_thread_data(), PStatGraph::get_ysize(), PStatStripChart::height_to_pixel(), and PStatStripChart::pixel_to_timestamp().
Referenced by GtkStatsStripChart::handle_button_press(), and GtkStatsStripChart::handle_motion().
const PStatStripChart::FrameData & PStatStripChart::get_frame_data | ( | int | frame_number | ) | [protected, inherited] |
Returns the cached FrameData associated with the given frame number.
This describes the lengths of the color bands for a single vertical stripe in the chart.
Definition at line 437 of file pStatStripChart.cxx.
References PStatViewLevel::get_child(), PStatViewLevel::get_collector(), PStatThreadData::get_frame(), PStatView::get_level(), PStatViewLevel::get_net_value(), PStatViewLevel::get_num_children(), PStatView::get_thread_data(), PStatViewLevel::get_value_alone(), and PStatView::set_to_frame().
Referenced by PStatStripChart::compute_average_pixel_data(), and PStatStripChart::get_collector_under_pixel().
const PStatGraph::GuideBar & PStatGraph::get_guide_bar | ( | int | n | ) | const [inherited] |
Returns the nth horizontal guide bar.
This should be drawn as a horizontal line across the chart at the y pixel location determined by height_to_pixel(bar._height).
It is possible that this bar will be off the top of the chart.
Definition at line 101 of file pStatGraph.cxx.
Referenced by additional_window_paint(), end_draw(), and GtkStatsStripChart::end_draw().
const string & PStatGraph::get_guide_bar_unit_name | ( | ) | const [inline, inherited] |
Returns the name of the units to be used for the guide bars if the units type is set to GBU_named | GBU_show_units.
Definition at line 164 of file pStatGraph.I.
Referenced by new_data(), and GtkStatsStripChart::new_data().
int PStatGraph::get_guide_bar_units | ( | ) | const [inline, inherited] |
Returns the units that are displayed for the guide bar labels.
This may be a union of one or more members of the GuideBarUnits enum.
Definition at line 140 of file pStatGraph.I.
Referenced by new_data(), GtkStatsStripChart::new_data(), set_time_units(), and GtkStatsStripChart::set_time_units().
float PStatStripChart::get_horizontal_scale | ( | ) | const [inline, inherited] |
Returns the amount of total time the width of the horizontal axis represents.
Definition at line 62 of file pStatStripChart.I.
int PStatGraph::get_label_collector | ( | int | n | ) | const [inline, inherited] |
Returns the collector index associated with the nth label.
Definition at line 44 of file pStatGraph.I.
Referenced by update_labels(), and GtkStatsStripChart::update_labels().
RGBColorf PStatGraph::get_label_color | ( | int | n | ) | const [inline, inherited] |
Returns the color associated with the nth label.
Definition at line 66 of file pStatGraph.I.
string PStatGraph::get_label_name | ( | int | n | ) | const [inline, inherited] |
Returns the text associated with the nth label.
Definition at line 55 of file pStatGraph.I.
PStatMonitor * PStatGraph::get_monitor | ( | ) | const [inline, inherited] |
Returns the monitor associated with this chart.
Definition at line 22 of file pStatGraph.I.
Referenced by PStatStripChart::update(), and PStatStripChart::update_labels().
float PStatStripChart::get_net_value | ( | int | frame_number | ) | const [protected, inherited] |
Returns the net value of the chart's collector for the indicated frame number.
Definition at line 550 of file pStatStripChart.cxx.
Referenced by PStatStripChart::get_average_net_value(), and PStatStripChart::set_auto_vertical_scale().
int PStatGraph::get_num_guide_bars | ( | ) | const [inherited] |
Returns the number of horizontal guide bars that should be drawn, based on the indicated target frame rate.
Not all of these may be visible; some may be off the top of the chart because of the vertical scale.
Definition at line 86 of file pStatGraph.cxx.
Referenced by additional_window_paint(), end_draw(), and GtkStatsStripChart::end_draw().
int PStatGraph::get_num_labels | ( | ) | const [inline, inherited] |
Returns the number of labels to be drawn for this chart.
Definition at line 33 of file pStatGraph.I.
Referenced by update_labels(), and GtkStatsStripChart::update_labels().
int PStatGraph::get_num_user_guide_bars | ( | ) | const [inherited] |
Returns the current number of user-defined guide bars.
Not all of these may be visible.
Definition at line 116 of file pStatGraph.cxx.
Referenced by additional_graph_window_paint(), GtkStatsStripChart::additional_graph_window_paint(), and additional_window_paint().
bool PStatStripChart::get_scroll_mode | ( | ) | const [inline, inherited] |
Returns the current state of the scroll_mode flag.
When true, the strip chart will update itself by scrolling to the left; when false, the strip chart will wrap around at the right and restart at the left end without scrolling.
Definition at line 118 of file pStatStripChart.I.
float PStatGraph::get_target_frame_rate | ( | ) | const [inline, inherited] |
Returns the indicated target frame rate in Hz.
Definition at line 93 of file pStatGraph.I.
Referenced by PStatStripChart::set_default_vertical_scale().
string PStatStripChart::get_title_text | ( | ) | [inherited] |
Returns the text suitable for the title label on the top line.
Definition at line 276 of file pStatStripChart.cxx.
References PStatClientData::get_collector_def(), PStatClientData::get_collector_fullname(), PStatView::get_show_level(), PStatClientData::get_thread_name(), PStatClientData::has_collector(), and PStatClientData::has_thread().
Referenced by new_data(), and GtkStatsStripChart::new_data().
PStatGraph::GuideBar PStatGraph::get_user_guide_bar | ( | int | n | ) | const [inherited] |
Returns the nth user-defined guide bar.
Definition at line 126 of file pStatGraph.cxx.
References PStatGraph::make_guide_bar().
Referenced by additional_graph_window_paint(), GtkStatsStripChart::additional_graph_window_paint(), and additional_window_paint().
float PStatStripChart::get_vertical_scale | ( | ) | const [inline, inherited] |
Returns total value the height of the vertical axis represents.
Definition at line 88 of file pStatStripChart.I.
Referenced by additional_window_paint(), draw_slice(), and GtkStatsStripChart::draw_slice().
PStatView & PStatStripChart::get_view | ( | ) | const [inline, inherited] |
Returns the View this chart represents.
Definition at line 22 of file pStatStripChart.I.
Referenced by clicked_label(), and GtkStatsStripChart::clicked_label().
int PStatGraph::get_xsize | ( | ) | const [inline, inherited] |
Returns the width of the chart in pixels.
Definition at line 103 of file pStatGraph.I.
Referenced by additional_graph_window_paint(), GtkStatsStripChart::additional_graph_window_paint(), clear_region(), GtkStatsStripChart::clear_region(), consider_drag_start(), GtkStatsStripChart::consider_drag_start(), PStatPianoRoll::normal_guide_bars(), PStatStripChart::pixel_to_timestamp(), and PStatStripChart::timestamp_to_pixel().
int PStatGraph::get_ysize | ( | ) | const [inline, inherited] |
Returns the height of the chart in pixels.
Definition at line 113 of file pStatGraph.I.
Referenced by clear_region(), GtkStatsStripChart::clear_region(), consider_drag_start(), GtkStatsStripChart::consider_drag_start(), copy_region(), GtkStatsStripChart::copy_region(), draw_cursor(), GtkStatsStripChart::draw_cursor(), draw_empty(), GtkStatsStripChart::draw_empty(), draw_slice(), GtkStatsStripChart::draw_slice(), end_draw(), GtkStatsStripChart::end_draw(), PStatStripChart::get_collector_under_pixel(), GtkStatsStripChart::handle_button_release(), GtkStatsStripChart::handle_motion(), PStatStripChart::height_to_pixel(), and PStatStripChart::pixel_to_height().
int PStatStripChart::height_to_pixel | ( | float | value | ) | const [inline, inherited] |
Converts a value (i.e.
a "height" in the strip chart) to a vertical pixel offset.
Definition at line 182 of file pStatStripChart.I.
References PStatGraph::get_ysize().
Referenced by draw_slice(), GtkStatsStripChart::draw_slice(), and PStatStripChart::get_collector_under_pixel().
void PStatStripChart::idle | ( | ) | [protected, virtual, inherited] |
Should be overridden by the user class to perform any other updates might be necessary after the color bars have been redrawn.
For instance, it could check the state of _labels_changed, and redraw the labels if it is true.
Definition at line 778 of file pStatStripChart.cxx.
Referenced by PStatStripChart::update().
bool PStatStripChart::is_label_used | ( | int | collector_index | ) | const [inline, protected, inherited] |
Returns true if the indicated collector appears anywhere on the chart at the current time, false otherwise.
Definition at line 205 of file pStatStripChart.I.
Referenced by PStatStripChart::update_labels().
bool PStatStripChart::is_title_unknown | ( | ) | const [inherited] |
Returns true if get_title_text() has never yet returned an answer, false if it has.
Definition at line 314 of file pStatStripChart.cxx.
Referenced by new_data(), and GtkStatsStripChart::new_data().
PStatGraph::GuideBar PStatGraph::make_guide_bar | ( | float | value, |
PStatGraph::GuideBarStyle | style = GBS_normal |
||
) | const [protected, inherited] |
Makes a guide bar for the indicated elapsed time or level units.
Definition at line 295 of file pStatGraph.cxx.
References PStatGraph::format_number().
Referenced by additional_window_paint(), PStatGraph::get_user_guide_bar(), and PStatGraph::update_guide_bars().
void WinStatsStripChart::move_graph_window | ( | int | graph_left, |
int | graph_top, | ||
int | graph_xsize, | ||
int | graph_ysize | ||
) | [protected, virtual] |
Repositions the graph child window within the parent window according to the _margin variables.
Reimplemented from WinStatsGraph.
Definition at line 656 of file winStatsStripChart.cxx.
void WinStatsGraph::move_label_stack | ( | ) | [protected, inherited] |
Repositions the label stack if its coordinates or size have changed.
Definition at line 218 of file winStatsGraph.cxx.
References WinStatsLabelStack::is_setup(), and WinStatsLabelStack::set_pos().
Referenced by WinStatsGraph::setup_label_stack(), and WinStatsGraph::window_proc().
void PStatGraph::move_user_guide_bar | ( | int | n, |
float | height | ||
) | [inherited] |
Adjusts the height of the nth user-defined guide bar.
Definition at line 137 of file pStatGraph.cxx.
Referenced by GtkStatsStripChart::handle_button_release(), and GtkStatsStripChart::handle_motion().
void WinStatsStripChart::new_collector | ( | int | collector_index | ) | [virtual] |
Called whenever a new Collector definition is received from the client.
Reimplemented from WinStatsGraph.
Definition at line 90 of file winStatsStripChart.cxx.
void PStatStripChart::new_data | ( | int | frame_number | ) | [inherited] |
Indicates that new data has become available.
Definition at line 77 of file pStatStripChart.cxx.
void WinStatsStripChart::new_data | ( | int | thread_index, |
int | frame_number | ||
) | [virtual] |
Called as each frame's data is made available.
There is no gurantee the frames will arrive in order, or that all of them will arrive at all. The monitor should be prepared to accept frames received out-of-order or missing.
Reimplemented from WinStatsGraph.
Definition at line 104 of file winStatsStripChart.cxx.
References PStatGraph::format_number(), PStatStripChart::get_average_net_value(), PStatGraph::get_guide_bar_unit_name(), PStatGraph::get_guide_bar_units(), PStatStripChart::get_title_text(), PStatStripChart::is_title_unknown(), and PStatStripChart::update().
void PStatStripChart::normal_guide_bars | ( | ) | [protected, virtual, inherited] |
Calls update_guide_bars with parameters suitable to this kind of graph.
Implements PStatGraph.
Definition at line 833 of file pStatStripChart.cxx.
References PStatGraph::update_guide_bars().
Referenced by PStatStripChart::set_vertical_scale().
float PStatStripChart::pixel_to_height | ( | int | y | ) | const [inline, inherited] |
Converts a vertical pixel offset to a value (a "height" in the strip chart).
Definition at line 193 of file pStatStripChart.I.
References PStatGraph::get_ysize().
Referenced by consider_drag_start(), GtkStatsStripChart::consider_drag_start(), GtkStatsStripChart::handle_button_press(), GtkStatsStripChart::handle_button_release(), and GtkStatsStripChart::handle_motion().
float PStatStripChart::pixel_to_timestamp | ( | int | x | ) | const [inline, inherited] |
Converts a horizontal pixel offset to a timestamp.
Definition at line 171 of file pStatStripChart.I.
References PStatGraph::get_xsize().
Referenced by PStatStripChart::get_collector_under_pixel(), and PStatStripChart::set_auto_vertical_scale().
void PStatGraph::remove_user_guide_bar | ( | int | n | ) | [inherited] |
Removes the user guide bar with the indicated index number.
All subsequent index numbers are adjusted down one.
Definition at line 160 of file pStatGraph.cxx.
Referenced by GtkStatsStripChart::handle_button_release().
void PStatStripChart::scale_frame_data | ( | FrameData & | fdata, |
float | factor | ||
) | [static, protected, inherited] |
Applies the indicated scale to all collector values in data.
Definition at line 420 of file pStatStripChart.cxx.
Referenced by PStatStripChart::compute_average_pixel_data().
void PStatStripChart::set_auto_vertical_scale | ( | ) | [inherited] |
Sets the vertical scale to make all the data visible.
Definition at line 185 of file pStatStripChart.cxx.
References PStatThreadData::get_frame_number_at_time(), PStatStripChart::get_net_value(), PStatView::get_thread_data(), PStatThreadData::has_frame(), PStatStripChart::pixel_to_timestamp(), and PStatStripChart::set_vertical_scale().
void PStatStripChart::set_average_mode | ( | bool | average_mode | ) | [inline, inherited] |
Changes the average_mode flag.
When true, the strip chart will average out the color values over pstats_average_time seconds, which hides spikes and makes the overall trends easier to read. When false, the strip chart shows the actual data as it is happening.
Definition at line 133 of file pStatStripChart.I.
References PStatStripChart::force_redraw().
Referenced by set_drag_mode(), GtkStatsStripChart::set_drag_mode(), and window_proc().
void PStatStripChart::set_collector_index | ( | int | collector_index | ) | [inherited] |
Changes the collector represented by this strip chart.
This may force a redraw.
Definition at line 146 of file pStatStripChart.cxx.
References PStatStripChart::force_redraw(), and PStatStripChart::update_labels().
Referenced by clicked_label(), and GtkStatsStripChart::clicked_label().
void PStatStripChart::set_default_vertical_scale | ( | ) | [inherited] |
Sets the vertical scale according to the suggested scale of the base collector, if any, or to center the target frame rate bar otherwise.
Definition at line 165 of file pStatStripChart.cxx.
References PStatClientData::get_collector_def(), PStatGraph::get_target_frame_rate(), PStatClientData::has_collector(), and PStatStripChart::set_vertical_scale().
void WinStatsStripChart::set_drag_mode | ( | WinStatsGraph::DragMode | drag_mode | ) | [protected, virtual] |
This should be called whenever the drag mode needs to change state.
It provides hooks for a derived class to do something special.
Reimplemented from WinStatsGraph.
Definition at line 629 of file winStatsStripChart.cxx.
References PStatStripChart::set_average_mode().
Referenced by window_proc().
void PStatGraph::set_guide_bar_unit_name | ( | const string & | unit_name | ) | [inline, inherited] |
Sets the name of the units to be used for the guide bars if the units type is set to GBU_named | GBU_show_units.
Definition at line 152 of file pStatGraph.I.
void PStatGraph::set_guide_bar_units | ( | int | guide_bar_units | ) | [inline, inherited] |
Sets the units that are displayed for the guide bar labels.
This may be a union of one or more members of the GuideBarUnits enum.
Definition at line 125 of file pStatGraph.I.
Referenced by set_time_units(), and GtkStatsStripChart::set_time_units().
void PStatStripChart::set_horizontal_scale | ( | float | time_width | ) | [inline, inherited] |
Changes the amount of time the width of the horizontal axis represents.
This may force a redraw.
Definition at line 44 of file pStatStripChart.I.
References PStatStripChart::force_reset().
Referenced by set_scroll_speed(), and GtkStatsStripChart::set_scroll_speed().
void WinStatsGraph::set_pause | ( | bool | pause | ) | [inherited] |
Changes the pause flag for the graph.
When this flag is true, the graph does not update in response to new data.
Definition at line 160 of file winStatsGraph.cxx.
Referenced by WinStatsMonitor::open_piano_roll(), WinStatsMonitor::open_strip_chart(), and WinStatsMonitor::set_pause().
void PStatStripChart::set_scroll_mode | ( | bool | scroll_mode | ) | [inline, inherited] |
Changes the scroll_mode flag.
When true, the strip chart will update itself by scrolling to the left; when false, the strip chart will wrap around at the right and restart at the left end without scrolling.
Definition at line 101 of file pStatStripChart.I.
void WinStatsStripChart::set_scroll_speed | ( | float | scroll_speed | ) | [virtual] |
Called when the user selects a new scroll speed from the monitor pulldown menu, this should adjust the speed for the graph to the indicated value.
Reimplemented from WinStatsGraph.
Definition at line 182 of file winStatsStripChart.cxx.
References PStatStripChart::set_horizontal_scale().
Referenced by WinStatsMonitor::open_strip_chart().
void PStatGraph::set_target_frame_rate | ( | float | frame_rate | ) | [inline, inherited] |
Sets the target frame rate of the application in Hz.
This only affects the choice of initial scale and the placement of guide bars.
Definition at line 79 of file pStatGraph.I.
void WinStatsStripChart::set_time_units | ( | int | unit_mask | ) | [virtual] |
Called when the user selects a new time units from the monitor pulldown menu, this should adjust the units for the graph to the indicated mask if it is a time-based graph.
Reimplemented from WinStatsGraph.
Definition at line 156 of file winStatsStripChart.cxx.
References PStatGraph::get_guide_bar_units(), and PStatGraph::set_guide_bar_units().
Referenced by WinStatsMonitor::open_strip_chart().
void WinStatsStripChart::set_vertical_scale | ( | float | value_height | ) |
Changes the value the height of the vertical axis represents.
This may force a redraw.
Reimplemented from PStatStripChart.
Definition at line 229 of file winStatsStripChart.cxx.
void WinStatsGraph::setup_label_stack | ( | ) | [protected, inherited] |
Sets up the label stack on the left edge of the frame.
Definition at line 206 of file winStatsGraph.cxx.
References WinStatsGraph::move_label_stack(), and WinStatsLabelStack::setup().
int PStatStripChart::timestamp_to_pixel | ( | float | time | ) | const [inline, inherited] |
Converts a timestamp to a horizontal pixel offset.
Definition at line 161 of file pStatStripChart.I.
References PStatGraph::get_xsize().
void PStatStripChart::update | ( | ) | [inherited] |
Updates the chart with the latest data.
Definition at line 90 of file pStatStripChart.cxx.
References PStatMonitor::get_client_data(), PStatThreadData::get_frame(), PStatThreadData::get_latest_frame_number(), PStatView::get_level_index(), PStatGraph::get_monitor(), PStatClientData::get_num_collectors(), PStatClientData::get_num_threads(), PStatFrameData::get_start(), PStatView::get_thread_data(), PStatStripChart::idle(), PStatThreadData::is_empty(), and PStatStripChart::update_labels().
Referenced by new_data(), and GtkStatsStripChart::new_data().
void PStatGraph::update_guide_bars | ( | int | num_bars, |
float | scale | ||
) | [protected, inherited] |
Resets the list of guide bars.
Definition at line 257 of file pStatGraph.cxx.
References PStatGraph::make_guide_bar().
Referenced by PStatStripChart::normal_guide_bars(), and PStatPianoRoll::normal_guide_bars().
void WinStatsStripChart::update_labels | ( | ) | [protected, virtual] |
Resets the list of labels.
Reimplemented from PStatStripChart.
Definition at line 244 of file winStatsStripChart.cxx.
References WinStatsLabelStack::add_label(), WinStatsLabelStack::clear_labels(), PStatGraph::get_label_collector(), and PStatGraph::get_num_labels().
void WinStatsGraph::user_guide_bars_changed | ( | ) | [inherited] |
Called when the user guide bars have been changed.
Definition at line 170 of file winStatsGraph.cxx.
Referenced by WinStatsMonitor::user_guide_bars_changed().
LONG WinStatsStripChart::window_proc | ( | HWND | hwnd, |
UINT | msg, | ||
WPARAM | wparam, | ||
LPARAM | lparam | ||
) | [protected] |
This window_proc should be called up to by the derived classes for any messages that are not specifically handled by the derived class.
Reimplemented from WinStatsGraph.
Definition at line 381 of file winStatsStripChart.cxx.
References PStatStripChart::set_average_mode(), and set_drag_mode().
DWORD WinStatsGraph::graph_window_style [static, protected, inherited] |
WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_OVERLAPPEDWINDOW | WS_VISIBLE
Definition at line 129 of file winStatsGraph.h.