15 #ifndef WINSTATSPIANOROLL_H
16 #define WINSTATSPIANOROLL_H
18 #include "pandatoolbase.h"
20 #include "winStatsGraph.h"
21 #include "pStatPianoRoll.h"
22 #include "pointerTo.h"
39 virtual void new_data(
int thread_index,
int frame_number);
49 virtual void begin_draw();
50 virtual void draw_bar(
int row,
int from_x,
int to_x);
51 virtual void end_draw();
54 LONG window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
55 virtual LONG graph_window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
56 virtual void additional_window_paint(HDC hdc);
57 virtual void additional_graph_window_paint(HDC hdc);
58 virtual DragMode consider_drag_start(
int mouse_x,
int mouse_y,
59 int width,
int height);
62 int get_collector_under_pixel(
int xpoint,
int ypoint);
64 void draw_guide_bar(HDC hdc,
const GuideBar &bar);
68 static void register_window_class(HINSTANCE application);
70 static LONG WINAPI static_window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
72 static bool _window_class_registered;
73 static const char *
const _window_class_name;
virtual void clicked_label(int collector_index)
Called when the user single-clicks on a label.
This is an abstract class that presents the interface for drawing a piano-roll type chart: it shows t...
void set_horizontal_scale(double time_width)
Changes the amount of time the width of the horizontal axis represents.
virtual void new_data(int thread_index, int frame_number)
Called as each frame's data is made available.
virtual void force_redraw()
Called when it is necessary to redraw the entire graph.
This is just an abstract base class to provide a common pointer type for the various kinds of graphs ...
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 set_time_units(int unit_mask)
Called when the user selects a new time units from the monitor pulldown menu, this should adjust the ...
This class represents a connection to a PStatsClient and manages the data exchange with the client...
A window that draws a piano-roll style chart, which shows the collectors explicitly stopping and star...