--- nono/wx/wxmainview.cpp 2026/04/29 17:05:31 1.1.1.16 +++ nono/wx/wxmainview.cpp 2026/04/29 17:05:44 1.1.1.17 @@ -9,6 +9,7 @@ // #include "wxmainview.h" +#include "wxmainframe.h" #include "wxuimessage.h" #include "config.h" #include "event.h" @@ -190,8 +191,8 @@ WXMainView::DoResize(double scale) renderer->ResizeView(viewwidth, viewheight); // ウィンドウサイズ変更 - SetClientSize(viewwidth, viewheight); - SetMinClientSize(wxSize(viewwidth, viewheight)); + SetSize(viewwidth, viewheight); + SetMinSize(wxSize(viewwidth, viewheight)); } } @@ -239,7 +240,7 @@ WXMainView::SetMouseMode(bool mode) // このウィンドウから外れないように移動を検出し続けるため、 // マウスカーソルをウィンドウ中央に移す。 // ウィンドウとメニューバーが分離してる wxOSX のために必要。 - MyWarpPointer(GetClientSize() / 2); + MyWarpPointer(GetSize() / 2); } else { // マウスモードを OFF にする DMPRINTF("SetMouseMode OFF\n"); @@ -249,12 +250,16 @@ WXMainView::SetMouseMode(bool mode) } // 分かりやすさのため、マウスカーソルを中央へ戻してから復帰 - wxSize pt = GetClientSize() / 2; + wxSize pt = GetSize() / 2; WarpPointer(pt.x, pt.y); // マウスカーソル ON ::wxSetCursor(wxNullCursor); } + + // マウスモードなら、タイトルにマウスモードの抜け方を表示したい。 + auto frame = dynamic_cast(GetParent()); + frame->SetMyTitle(mousemode); } // マウスカーソルをクライアント座標 (x, y) に移動 @@ -336,7 +341,7 @@ WXMainView::OnMouse(wxMouseEvent& event) // マウスカーソルを中心に戻す if (dx != 0 || dy != 0) { - MyWarpPointer(GetClientSize() / 2); + MyWarpPointer(GetSize() / 2); } } }