glutOverlayDisplayFuncは カレント・ウィンドウに対する オーバーレイ・ディスプレイ・コールバックをセットします.
Usage
void glutOverlayDisplayFunc(void (*func)(void));
Description
glutDisplayFuncはカレントウィンドウに対し, オーバーレイ・ディスプレイ・コールバックをセットする. オーバーレイ・ディスプレイ・コールバックは ウィンドウ・ディスプレイ・コールバックと機能的に同じであるが, オーバーレイ・ディスプレイ・コールバックはウィンドウのオーバーレイ (※のみ)を再描画するのに用いられる.
ウィンドウのオーバーレイ・プレーンが再描画される必要があると GLUTが判断したときにオーバーレイ・ディスプレイ・コールバックが呼び出される. コールバックの前に,カレントウィンドウは 再描画の必要があるウィンドウに設定され, 使用中のレイヤーはオーバーレイに設定される. オーバーレイ・ディスプレイ・コールバックは引数なしでコールされる. コールバックに応じて,オーバーレイ領域が完全に再描画されなければならない (このことはプログラムが補助的なバッファのステートに依存しているならば, それらのバッファを含む).
GLUTは,いつオーバーレイ・ディスプレイ・コールバックが呼び出されるべきか,を ウィンドウのオーバーレイの再描画ステートに基づいて決定する. あるウィンドウに対するオーバーレイの再描画ステートは glutPostOverlayRedisplayをコールすることで明示的にも設定できるし, ウィンドウシステムから報告されるウィンドウ・ダメージの結果によって 自動的にも設定され得る. ひとつのウィンドウに対する複数のオーバーレイ再描画は, オーバーレイ・ディスプレイ・コールバックへの呼び出しが最小となるように GLUTによってまとめられる.
オーバーレイ・ディスプレイ・コールバックからの戻りにより, ( glutLayerGet(GLUT_OVERLAY_DAMAGED)のコールによって返される) ウィンドウのオーバーレイ・ダメージのステートはクリアされる.
オーバーレイ・ディスプレイ・コールバックは glutOverlayDisplayFuncに引数として NULLを渡すことにより, 登録を解除できる. オーバーレイ・ディスプレイ・コールバックはオーバーレイが設定されたときの 初期値は NULLである. オーバーレイ・ディスプレイ・コールバックが登録されないときに, ディスプレイ・コールバックだけがどのように用いられるかを理解するには glutDisplayFuncを三章のこと.