str_id現在の ID スタックと組み合わせて項目やスコープを識別する文字列です。
flagsこの操作を制御する ImGuiWindowFlags オプションです。互換性のあるフラグは | で組み合わせます。
スコープが開いて内容を描ける場合は true です。true の場合だけ EndPopup() を呼び、false なら内容と終了呼び出しを省略します。
ポップアップとモーダル:
背後の通常のマウスホバー検出(したがって大半のマウス操作)を遮断します。
非モーダルなら外側の任意の場所のクリックや ESCAPE で閉じられます。
可視状態(ほぼ bool)は通常の Begin*() のようにプログラマーではなく内部が保持します。
以上の 3 特性は関連しています。ポップアップはいつでも閉じられるため、ライブラリが可視状態を保持する必要があります。
IsItemHovered() や IsWindowHovered() に ImGuiHoveredFlags.AllowWhenBlockedByPopup を指定するとホバー制限を回避できます。
重要:ポップアップ識別子は現在の ID スタックに相対的なので、OpenPopup と BeginPopup は通常スタックの同じ階層に置く必要があります。混乱するミスにつながることがあり、将来見直す可能性があります。
BeginPopup():状態を照会し、開いていれば内容の追加を開始します。true を返したら後で EndPopup() を呼びます。ImGuiWindowFlags はウィンドウに転送されます。
BeginPopupModal():背後のすべての操作を遮断し、ユーザーが直接閉じることはできず、暗い背景を追加し、タイトルバーを持ちます。 ポップアップが開いていれば true を返し、出力を開始できます。
開いているポップアップへの追加を開始します。