namespace Yw.WinFrmUI.Hydro
{
public partial class OrthoRotate2d : UserControl
{
public OrthoRotate2d()
{
InitializeComponent();
InitializeGLEvents();
}
private OrthoRotate2dHelper _helper = null;
///
/// 是否初始化
///
public bool Initialized
{
get
{
if (_helper == null)
{
return false;
}
return true;
}
}
///
/// 初始化
///
public void Initial()
{
_helper = new OrthoRotate2dHelper();
_helper.Initial(this.glControl1);
}
#region 私有方法
//初始化GL事件
private void InitializeGLEvents()
{
this.glControl1.Load += GlControl1_Load;
this.glControl1.MouseDown += GlControl1_MouseDown;
this.glControl1.MouseUp += GlControl1_MouseUp;
this.glControl1.MouseMove += GlControl1_MouseMove;
this.glControl1.MouseWheel += GlControl1_MouseWheel;
this.glControl1.MouseClick += GlControl1_MouseClick;
this.glControl1.MouseDoubleClick += GlControl1_MouseDoubleClick;
this.glControl1.Resize += GlControl1_Resize;
this.glControl1.Paint += GlControl1_Paint;
}
#endregion
#region 交互处理
//加载处理
private void GlControl1_Load(object sender, EventArgs e)
{
if (!Initialized)
{
return;
}
_helper.Load();
}
//鼠标按下
private void GlControl1_MouseDown(object sender, MouseEventArgs e)
{
if (!Initialized)
{
return;
}
_helper.MouseDown(e);
}
//鼠标弹起
private void GlControl1_MouseUp(object sender, MouseEventArgs e)
{
if (!Initialized)
{
return;
}
_helper.MouseUp(e);
}
//鼠标移动
private void GlControl1_MouseMove(object sender, MouseEventArgs e)
{
if (!Initialized)
{
return;
}
_helper.MouseMove(e);
}
//鼠标滚轮
private void GlControl1_MouseWheel(object sender, MouseEventArgs e)
{
if (!Initialized)
{
return;
}
_helper.MouseWheel(e);
}
//鼠标点击
private void GlControl1_MouseClick(object sender, MouseEventArgs e)
{
if (!Initialized)
{
return;
}
_helper.MouseClick(e);
}
//鼠标双击
private void GlControl1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (!Initialized)
{
return;
}
_helper.MouseDoubleClick(e);
}
//绘制
private void GlControl1_Paint(object sender, PaintEventArgs e)
{
if (!Initialized)
{
return;
}
_helper.Render();
}
//尺寸改变
private void GlControl1_Resize(object sender, EventArgs e)
{
if (!Initialized)
{
return;
}
_helper.Resize();
}
#endregion
}
}