[C++] 111 FLTK:子ウィジェットの座標 その2 モーダルダイアログ

[M1 Mac, Big Sur 11.6.7, clang 13.0.0, NO IDE]

“[C++] 31 FLTK:子ウィジェットの座標”の続編です。

親ウィンドウを動かした後に生成したモーダルダイアログが親ウィンドウの相対位置になっていない問題を解決することができました。

親ウィンドウのx_root, y_rootを取得すれば済む話でした。これはすぐに解らないといけない、と反省です。

Fl_Window *window;
modalDialog *dlg;

const char* msg = "該当する色はありません";
dlg = new modalDialog(400, 200, "Attention", msg);
dlg->hotspot(window);

int x_win = window->x_root();
int y_win = window->y_root();
cout<<"x_win "<< x_win <<" y_win "<< y_win <<endl;

dlg->resize(x_win+205, y_win+165,250,150);
dlg->set_modal();
dlg->show();