|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
5: //
6:
7: //
1.1.1.8 root 8: // LUNA LCD パネル、モニタ
1.1 root 9: //
10:
11: #pragma once
12:
13: #include "wxsubwindow.h"
1.1.1.6 root 14: #include "wxbitmappanel.h"
1.1.1.7 root 15: #include "wxmonitor.h"
1.1 root 16:
1.1.1.8 root 17: class LCDDevice;
18:
19: // LUNA 前面 LCD パネル
20: class WXLCDPanel : public WXTextPanel
1.1 root 21: {
1.1.1.8 root 22: using inherited = WXTextPanel;
1.1 root 23: public:
1.1.1.9 root 24: explicit WXLCDPanel(wxWindow *parent);
25: ~WXLCDPanel() override;
1.1 root 26:
1.1.1.8 root 27: void FontChanged() override;
28:
1.1 root 29: private:
1.1.1.5 root 30: void OnLCDChanged(wxCommandEvent& event);
1.1.1.6 root 31: void Draw() override;
32: void DrawChar(int x, int y, uint8 ch);
1.1 root 33:
34: const uint8 *ddram {};
1.1.1.8 root 35:
36: int unit {};
37: int u_width {};
38: int u_height {};
39:
40: LCDDevice *lcd {};
1.1 root 41: };
42:
1.1.1.8 root 43: // LUNA 前面 LCD ウィンドウ
1.1 root 44: class WXLCDWindow : public WXSubWindow
45: {
46: using inherited = WXSubWindow;
47: public:
1.1.1.9 root 48: explicit WXLCDWindow(wxWindow *parent);
49: ~WXLCDWindow() override;
1.1 root 50: };
51:
1.1.1.8 root 52: // モニタの LCD キャラクタ部パネル
53: class WXLCDCharPanel : public WXTextPanel
1.1 root 54: {
1.1.1.8 root 55: using inherited = WXTextPanel;
1.1 root 56: public:
1.1.1.9 root 57: explicit WXLCDCharPanel(wxWindow *parent);
58: ~WXLCDCharPanel() override;
1.1 root 59:
1.1.1.8 root 60: void FontChanged() override;
61:
1.1 root 62: private:
1.1.1.6 root 63: void Draw() override;
1.1.1.8 root 64:
65: int unit {};
66: int u_width {};
67: int u_height {};
68:
69: LCDDevice *lcd {};
1.1 root 70: };
71:
1.1.1.8 root 72: // LCD モニタウィンドウ
1.1 root 73: class WXLCDMonitor : public WXSubWindow
74: {
75: using inherited = WXSubWindow;
76: public:
1.1.1.9 root 77: explicit WXLCDMonitor(wxWindow *parent);
78: ~WXLCDMonitor() override;
1.1 root 79:
1.1.1.10! root 80: void FontChanged() override;
! 81: bool Layout() override;
! 82:
1.1 root 83: private:
1.1.1.7 root 84: WXMonitorPanel *monpanel {};
1.1 root 85: WXLCDCharPanel *chrpanel {};
1.1.1.10! root 86: WXBitmapPanel *space {};
1.1 root 87: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.