/////////////////////////////////////
//			GLProcedure.h
//注：アプリケーションが処理した場合
//    TRUEを返すと、コールバック関数
//    は0を返し、FALSEを返すとDef-
//    WindowProcを呼びます。
/////////////////////////////////////
//メッセージ処理関数定義
/////////////////////////
//WM_CREATE処理
bool OnCreate(HWND hWnd) {

	GetRC(hWnd);				//レンダリングコンテキストを取得してhDCと連携させる
	glutInit(&__argc, __argv);	// GLUTを初期化する（__argcと__argvはWinMainで使用可）
	glShadeModel(GL_SMOOTH);	//既定値の滑らかな網かけ（他の選択肢としてフラットシェーディング−GL_FLATがある）
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH | GLUT_RGBA);	// 表示モード設定
  	return TRUE;
}

//WM_LBUTTONDOWN処理
bool OnLButtonDown(HWND hWnd) {

	g_Stop = !g_Stop;			//一時停止フラグ
	return TRUE;
}

//WM_SIZE処理
bool OnSize(LPARAM lParam) {

	if(IsGL()) {				//OpenGLを使っていてRCを取得している時のみ処理する
		SizeChanged(lParam);
		return TRUE;
	}
	else
		return FALSE;
}

//WM_CLOSE処理
bool OnClose(HWND hWnd) {

	if(MessageBox(hWnd, "終了してもよいですか", "終了確認", 
					MB_YESNO | MB_ICONQUESTION) == IDYES)
		return TRUE;
	else
		return FALSE;
}

//WM_DESTROY処理
bool OnDestroy() {

	if(IsGL())
		ReleaseRC();			//レンダリングコンテキストを開放する
	return TRUE;
}
