|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2025 nono project
4: // Licensed under nono-license.txt
5: //
6:
7: //
8: // スレッドモニタ
9: //
10:
11: #pragma once
12:
13: #include "wxsubwindow.h"
14: #include "wxtextpanel.h"
15:
16: struct ThreadInfo;
17: class ThreadManager;
18:
19: class WXThreadMonitorPanel : WXTextPanel
20: {
21: using inherited = WXTextPanel;
22:
23: public:
24: explicit WXThreadMonitorPanel(wxWindow *parent);
25: ~WXThreadMonitorPanel() override;
26:
27: void FontChanged() override;
28: void Draw() override;
29:
30: private:
31: void OnTimer(wxTimerEvent&);
32: void DrawGraph(uint x, uint y, uint w, uint h, const ThreadInfo&);
33:
34: bool redraw_all {};
35:
36: uint nthreads {};
37:
38: // 最も長いスレッド名の長さ。
39: uint maxnamelen {};
40:
41: wxTimer timer {};
42:
43: ThreadManager *thman {};
44:
45: wxDECLARE_EVENT_TABLE();
46: };
47:
48: class WXThreadMonitorWindow : public WXSubWindow
49: {
50: using inherited = WXSubWindow;
51:
52: public:
53: explicit WXThreadMonitorWindow(wxWindow *parent);
54: ~WXThreadMonitorWindow() override;
55: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.