--- nono/wx/wxtextscreen.h 2026/04/29 17:05:27 1.1.1.11 +++ nono/wx/wxtextscreen.h 2026/04/29 17:05:48 1.1.1.13 @@ -40,6 +40,8 @@ class WXTextScreen : public WXTextPanel // フォントサイズ変更 void FontChanged() override; + void Fit() override; + // テキストスクリーンを取得 (WXTextScreen を継承せずに更新する人のため) TextScreen& GetScreen() { return screen; } @@ -50,13 +52,16 @@ class WXTextScreen : public WXTextPanel int GetPaddingTop() const { return pad_top; } int GetPaddingRight() const { return pad_right; } int GetPaddingBottom() const { return pad_bottom; } + int GetPaddingX() const { return GetPaddingLeft() + GetPaddingRight(); } + int GetPaddingY() const { return GetPaddingTop() + GetPaddingBottom(); } // 桁数、行数を取得する int GetCol() const { return screen.GetCol(); } int GetRow() const { return screen.GetRow(); } - // 全域を表示するのに必要なピクセルサイズを返す。 - wxSize GetDesiredSize() const; + // 指定の桁数行数の時のピクセル数を取得する + int GetScreenWidth(int col_) const; + int GetScreenHeight(int row_) const; // クライアント座標 pos をテキスト座標(桁、行)に変換して返す // (パディング領域では戻り値が負数になることに注意) @@ -80,7 +85,7 @@ class WXTextScreen : public WXTextPanel void OnCopy(wxCommandEvent&); void Init(int col, int row); - void DoSize(); + void ResetFit(); void InvalidateText(); void Draw() override; @@ -92,5 +97,8 @@ class WXTextScreen : public WXTextPanel int pad_right {}; int pad_bottom {}; + // 余白を塗りつぶす場合は true + bool draw_padding {}; + wxDECLARE_EVENT_TABLE(); };