next up previous contents index
Next: 7.4 glutKeyboardFunc Up: 7 Callback Registration Previous:7.2 glutOverlayDisplayFunc

7.3 glutReshapeFunc

  glutReshapeFuncカレントウィンドウに対し, リシェイプ・コールバックを指定します.

Usage

void glutReshapeFunc(void (*func)(int width, int height));
func
ユーザー定義のリシェイプ・コールバック関数.

Description

glutReshapeFuncカレントウィンドウに対するリシェイプ・コールバック関数を指定する. リシェイプ・コールバック関数はウィンドウが変形した際にコールされる. また,ウィンドウが生成された直後の,最初のディスプレイ・コールバックが コールされる直前や, そのウィンドウへのオーバーレイが設定された時はいつでもコールされる. コールバックの引数widthheightは新しいウィンドウのサイズ (ピクセル値)である.コールバックの前に, カレントウィンドウはリシェイプされたウィンドウにセットされる.

ウィンドウに対してリシェイプ・コールバック関数が登録されていないか, あるいは(直前に登録されたコールバックを登録削除するために) 引数NULLglutReshapeFuncに渡された場合は, デフォルトのリシェイプ・コールバックが用いられる. デフォルトのコールバックは,ノーマルプレーン上で (オーバーレイがあれば,オーバーレイでも)単に glViewport(0,0,width,height)をコールする.

ウィンドウに対し,オーバーレイが設定されているときは 単一のリシェイプ・コールバックが生成される. (必要に応じて 使用中のレイヤーを変更しながら) ウィンドウのノーマル(プレーン),オーバーレイをアップデートするのは コールバックの責任である.

トップレベル・ウィンドウがリシェイプされた時は サブウィンドウはリシェイプされない. GLUT プログラムで扱えるのは,トップレベル・ウィンドウ内での サブウィンドウのサイズと位置までである. なお,リシェイプ・コールバックはサブウィンドウに対しても, glutReshapeWindowを用いてサイズが変更された場合にコールされる.


next up previous contents index
Next: 7.4 glutKeyboardFunc Up: 7 Callback Registration Previous:7.2 glutOverlayDisplayFunc
Mark Kilgard
Fri Feb 23 08:05:02 PST 1996