--- nono/vm/uimessage.h 2026/04/29 17:04:59 1.1.1.1 +++ nono/vm/uimessage.h 2026/04/29 17:05:11 1.1.1.2 @@ -5,7 +5,7 @@ // // -// VM から UI へのメッセージ機構 +// UI スレッドへのメッセージ機構 // #pragma once @@ -20,8 +20,8 @@ class UIMessage enum ID { NONE = 0, - // VM 電源オフになったのでアプリケーションを終了する場合 - POWEROFF, + // アプリケーションを終了する + APPEXIT, // MPU がホールト状態になった HALT, @@ -38,6 +38,12 @@ class UIMessage // LCD 状態が変わった LCD, + // 画面を更新した + RENDER, + + // パレットが変更になった + PALETTE, + ID_MAX, }; @@ -45,6 +51,7 @@ class UIMessage public: UIMessage(); + UIMessage(ID id_, int arg_); ID GetID() const { return id; } int GetArg() const { return arg; } @@ -52,21 +59,18 @@ class UIMessage // メッセージ処理関数をアタッチ static void Attach(const std::function& process_); - // VM 外に向けてメッセージを投函 // 新しい UIMessage を生成して投函 static void Post(ID id); // 新しい UIMessage を生成して投函(argあり) static void Post(ID id, int arg); protected: - UIMessage(ID id_, int arg_); - // 自身を投函 void Post(); private: - ID id; - int arg; + ID id {}; + int arg {}; static Queue queue;