|
|
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: private:
52: WXLCDPanel *panel {};
53: };
54:
1.1.1.8 root 55: // モニタの LCD キャラクタ部パネル
56: class WXLCDCharPanel : public WXTextPanel
1.1 root 57: {
1.1.1.8 root 58: using inherited = WXTextPanel;
1.1 root 59: public:
1.1.1.9 ! root 60: explicit WXLCDCharPanel(wxWindow *parent);
! 61: ~WXLCDCharPanel() override;
1.1 root 62:
1.1.1.8 root 63: void FontChanged() override;
64:
1.1 root 65: private:
1.1.1.6 root 66: void Draw() override;
1.1.1.8 root 67:
68: int unit {};
69: int u_width {};
70: int u_height {};
71:
72: LCDDevice *lcd {};
1.1 root 73: };
74:
1.1.1.8 root 75: // LCD モニタウィンドウ
1.1 root 76: class WXLCDMonitor : public WXSubWindow
77: {
78: using inherited = WXSubWindow;
79: public:
1.1.1.9 ! root 80: explicit WXLCDMonitor(wxWindow *parent);
! 81: ~WXLCDMonitor() override;
1.1 root 82:
83: private:
1.1.1.7 root 84: WXMonitorPanel *monpanel {};
1.1 root 85: WXLCDCharPanel *chrpanel {};
86: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.