|
|
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.