Annotation of nono/wx/wxlcdwindow.h, revision 1.1.1.1

1.1       root        1: //
                      2: // nono
                      3: // Copyright (C) 2020 nono project
                      4: // Licensed under nono-license.txt
                      5: //
                      6: 
                      7: //
                      8: // LUNA LCD パネル
                      9: //
                     10: 
                     11: #pragma once
                     12: 
                     13: #include "wxheader.h"
                     14: #include "wxsubwindow.h"
                     15: 
                     16: // LCD パネル
                     17: class WXLCDPanel : public wxPanel
                     18: {
                     19:        using inherited = wxPanel;
                     20:  public:
                     21:        WXLCDPanel(wxWindow *parent);
                     22:        ~WXLCDPanel();
                     23: 
                     24:  private:
                     25:        void OnTimer(wxTimerEvent& event);
                     26:        void OnPaint(wxPaintEvent& event);
                     27:        void Draw(wxDC&);
                     28:        void DrawChar(wxDC&, int x, int y, uint8 ch);
                     29: 
                     30:        const uint8 *ddram {};
                     31: 
                     32:        std::unique_ptr<uint8[]> bmpbuf {};
                     33:        std::unique_ptr<wxImage> image {};
                     34:        std::unique_ptr<wxBitmap> bitmap {};
                     35: 
                     36:        // 描画管理用
                     37:        uint32 count {};
                     38:        wxTimer timer {};
                     39: 
                     40:        wxDECLARE_EVENT_TABLE();
                     41: };
                     42: 
                     43: // LCD ウィンドウ
                     44: class WXLCDWindow : public WXSubWindow
                     45: {
                     46:        using inherited = WXSubWindow;
                     47:  public:
                     48:        WXLCDWindow(wxWindow *parent, wxWindowID id);
                     49:        ~WXLCDWindow();
                     50: 
                     51:  private:
                     52:        WXLCDPanel *panel {};
                     53: };
                     54: 
                     55: // LCD キャラクタパネル
                     56: class WXLCDCharPanel : public wxPanel
                     57: {
                     58:        using inherited = wxPanel;
                     59:  public:
                     60:        WXLCDCharPanel(wxWindow *parent);
                     61:        ~WXLCDCharPanel();
                     62: 
                     63:  private:
                     64:        void OnPaint(wxPaintEvent& event);
                     65:        void Draw(wxDC&);
                     66: 
                     67:        std::unique_ptr<uint8[]> bmpbuf {};
                     68:        std::unique_ptr<wxImage> image {};
                     69:        std::unique_ptr<wxBitmap> bitmap {};
                     70: 
                     71:        wxDECLARE_EVENT_TABLE();
                     72: };
                     73: 
                     74: // LCD キャラクタウィンドウ
                     75: class WXLCDMonitor : public WXSubWindow
                     76: {
                     77:        using inherited = WXSubWindow;
                     78:  public:
                     79:        WXLCDMonitor(wxWindow *parent, wxWindowID id);
                     80:        ~WXLCDMonitor();
                     81: 
                     82:  private:
                     83:        WXTextScreen *monpanel {};
                     84:        WXLCDCharPanel *chrpanel {};
                     85: };

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.