--- nono/wx/wxsoftkey.h 2026/04/29 17:05:44 1.1.1.15 +++ nono/wx/wxsoftkey.h 2026/04/29 17:05:48 1.1.1.16 @@ -84,11 +84,16 @@ class WXSoftKeyPanel : public WXTextPane void InitColorKeytop(int num); void InitIcon(); + + // LUNA-I、LUNA-88K の共通初期化 + void InitLunaCommon(); + void OnKeyChanged(wxCommandEvent& event); void OnTimer(wxTimerEvent& event); void Draw() override; void DrawKey(const keydata_t& key); + void DrawKeyBox(const keydata_t&, Color bg, Color bd); void DrawEnterKey(); void DrawBuzzer(const keydata_t& key); virtual int DrawLED(const keydata_t& key) = 0; @@ -164,13 +169,28 @@ class WXSoftKeyPanel : public WXTextPane wxDECLARE_EVENT_TABLE(); }; -// LUNA ソフトウェアキーボード (パネル) -class WXLunaSoftKeyPanel : public WXSoftKeyPanel +// LUNA-I ソフトウェアキーボード (パネル) +class WXLuna1SoftKeyPanel : public WXSoftKeyPanel +{ + using inherited = WXSoftKeyPanel; + public: + explicit WXLuna1SoftKeyPanel(wxWindow *parent); + ~WXLuna1SoftKeyPanel() override; + + private: + int DrawLED(const keydata_t& key) override; + + // キー描画データ + static std::vector keydata; +}; + +// LUNA-88K ソフトウェアキーボード (パネル) +class WXLuna88kSoftKeyPanel : public WXSoftKeyPanel { using inherited = WXSoftKeyPanel; public: - explicit WXLunaSoftKeyPanel(wxWindow *parent); - ~WXLunaSoftKeyPanel() override; + explicit WXLuna88kSoftKeyPanel(wxWindow *parent); + ~WXLuna88kSoftKeyPanel() override; private: int DrawLED(const keydata_t& key) override;