|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2018 [email protected]
4: //
5:
6: #include "wxheader.h"
7: #include "wxmonitor.h"
8: #include "wxtextscreen.h"
9:
10: //
11: // モニターウィンドウ
12: //
13:
14: // イベントテーブル
15: wxBEGIN_EVENT_TABLE(WXMonitorWindow, inherited)
16: EVT_TIMER(wxID_ANY, WXMonitorWindow::OnTimer)
17: wxEND_EVENT_TABLE()
18:
19: // コンストラクタ
20: WXMonitorWindow::WXMonitorWindow(wxWindow *parent, wxWindowID id,
21: const wxString& name, Object *obj)
22: : inherited(parent, id, name)
23: {
24: object = obj;
25: assert(object);
26:
27: // テキストスクリーン
28: TextScreen& monitor = object->monitor;
29: int col = monitor.GetCol();
30: int row = monitor.GetRow();
31: const uint16 *textbuf = monitor.GetBuf();
32: screen = new WXTextScreen(this, col, row, textbuf);
33:
34: // 大きさをそれに固定
35: Layout();
36: Fit();
37:
38: // 更新タイマーは適当な短さにしておく
39: timer.SetOwner(this);
40: timer.Start(10);
41: }
42:
43: // デストラクタ
44: WXMonitorWindow::~WXMonitorWindow()
45: {
46: }
47:
48: // タイマーイベント
49: void
50: WXMonitorWindow::OnTimer(wxTimerEvent& event)
51: {
52: // モニタースクリーンを更新して再描画。
53: bool avail = object->MonitorUpdate();
54: assert(avail);
55: screen->Refresh();
56: }
57:
58: // フォントサイズ変更
59: void
60: WXMonitorWindow::SetFontSize(fontsize_t fontsize)
61: {
62: screen->SetFontSize(fontsize);
63: // 大きさを変更
64: Layout();
65: Fit();
66: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.