14 #ifndef WINSTATSGRAPH_H
15 #define WINSTATSGRAPH_H
21 #ifndef WIN32_LEAN_AND_MEAN
22 #define WIN32_LEAN_AND_MEAN 1
50 virtual void new_data(
int thread_index,
int frame_number);
64 void setup_label_stack();
65 void move_label_stack();
67 HBRUSH get_collector_brush(
int collector_index);
69 LONG window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
70 virtual LONG graph_window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
72 virtual void additional_window_paint(HDC hdc);
73 virtual void additional_graph_window_paint(HDC hdc);
74 virtual DragMode consider_drag_start(
int mouse_x,
int mouse_y,
75 int width,
int height);
76 virtual void set_drag_mode(DragMode drag_mode);
78 virtual void move_graph_window(
int graph_left,
int graph_top,
79 int graph_xsize,
int graph_ysize);
91 HCURSOR _sizewe_cursor;
97 int _graph_left, _graph_top;
98 int _bitmap_xsize, _bitmap_ysize;
99 int _left_margin, _right_margin;
100 int _top_margin, _bottom_margin;
102 COLORREF _dark_color;
103 COLORREF _light_color;
104 COLORREF _user_guide_bar_color;
107 HPEN _user_guide_bar_pen;
110 DragMode _potential_drag_mode;
111 int _drag_start_x, _drag_start_y;
112 double _drag_scale_start;
118 void setup_bitmap(
int xsize,
int ysize);
119 void release_bitmap();
120 void create_graph_window();
121 static void register_graph_window_class(HINSTANCE application);
123 static LONG WINAPI static_graph_window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
125 static bool _graph_window_class_registered;
126 static const char *
const _graph_window_class_name;
129 static DWORD graph_window_style;