glutVisibilityFunc はカレントウィンドウに対し, ビジビリティ(可視化性;visibility)コールバックを登録します.
Usage
void glutVisibilityFunc(void (*func)(int state));
Description
glutVisibilityFuncは カレントウィンドウに対するビジビリティ(可視化性)・ コールバックを指定する.ビジビリティ・コールバックは, ウィンドウのビジビリティが変化するとコールされる. コールバックのパラメータstateは GLUT_NOT_VISIBLEまたはGLUT_VISIBLEのいずれかで, ウィンドウのカレントのビジビリティに依存する. GLUT_VISIBLEは, ウィンドウが完全にビジブルであるか,一部だけビジブルであるかを区別しない. GLUT_NOT_VISIBLEはウィンドウのどんな部分もビジブルでない状態を 意味している;つまり,ウィンドウのビジビリティが変更されない限り, ウィンドウへのさらなる描画は全て捨てられる.
GLUT は,あるウィンドウの任意のピクセルがビジブルであるか, または, スクリーン上にある任意の子孫ウィンドウの任意のピクセルがビジブルであれば, そのウィンドウをビジブルであるとみなす.
引数NULLをglutVisibilityFuncに渡すと, ビジビリティ・コールバックは働かなくなる.
あるウィンドウに対するビジビリティ・コールバックを働かなくして, 後から再び働くようにした場合は, ウィンドウのビジビリティ・ステータスが未定義となっている; しかし,ウィンドウ・ビジビリティのどんな変化も報告されるであろう, つまり,あるビジビリティ・コールバックを働かなくしてそれから再び働くように しても,次のビジビリティの変化は報告されることが保証されている.
※ 使用例
main( )
{
glutVisibilityFunc(visibility);
.....
}
void visibility (int status)
{
if (status == GLUT_VIDIBLE )
glutIdleFunc(animate);
else /* stop animating */
glutIdleFunc(NULL);
}