/********************************************************************/
/* Copyright (c) 2019 System fugen G.K. and Yuzi Mizuno          */
/* All rights reserved.                                             */
/********************************************************************/
/********************************************************************/
#if !defined(AFX_GLPARAMVIEW_H__8613C83B_63AC_4E4E_9C52_8AA56D97554F__INCLUDED_)
#define AFX_GLPARAMVIEW_H__8613C83B_63AC_4E4E_9C52_8AA56D97554F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "mg/Box.h"
#include "fugenView2D.h"

/////////////////////////////////////////////////////////////////////////////
// CGLParamView ビュー

class CGLParamView : public fugenView2D{

protected:
	CGLParamView();
	DECLARE_DYNCREATE(CGLParamView)

// オペレーション
public:
	const MGBox& param_box() const{ return m_param_box;}
	void redrawOnlythis();

// オーバーライド
	// ClassWizard は仮想関数のオーバーライドを生成します。

	//{{AFX_VIRTUAL(CGLParamView)
protected:
	void OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint);
	//}}AFX_VIRTUAL

	//Make openGL display list in the input glview.
	void makeDisplayList();
	void OnInitialUpdate();

// インプリメンテーション
protected:
	~CGLParamView();

	///Initialize model.
	void initializeModel();

	// 生成されたメッセージ マップ関数
protected:
	//{{AFX_MSG(CGLParamView)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

private:
	//Obj pointer to draw the parameter line.
	const MGObject* m_ParamObj;
	mgVBO m_vbo;

	//Parameter box of the above object.
	MGBox m_param_box;
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ は前行の直前に追加の宣言を挿入します。

#endif // !defined(AFX_GLPARAMVIEW_H__8613C83B_63AC_4E4E_9C52_8AA56D97554F__INCLUDED_)
