public void DrawSelectionInterface(double width, double height, double mouseDownPosX, double mouseDownPosY, double mouseCurrPosX, double mouseCurrPosY, OpenGLFlatShape shape) { GL.MatrixMode(MatrixMode.Projection); GL.PushMatrix(); GL.LoadIdentity(); GL.Ortho(0, width, 0, height, 0, 1000); GL.MatrixMode(MatrixMode.Modelview); GL.PushMatrix(); GL.LoadIdentity(); GL.PolygonMode(MaterialFace.FrontAndBack, PolygonMode.Line); GL.Disable(EnableCap.CullFace); GL.Disable(EnableCap.DepthTest); DrawFlatShape((short)mouseDownPosX, (short)mouseDownPosY, (short)mouseCurrPosX, (short)mouseCurrPosY, shape); GL.Enable(EnableCap.CullFace); GL.Enable(EnableCap.DepthTest); GL.MatrixMode(MatrixMode.Projection); GL.PopMatrix(); GL.MatrixMode(MatrixMode.Modelview); GL.PopMatrix(); }
public void DrawFlatShape(double mouseDownPosX, double mouseDownPosY, double mouseCurrPosX, double mouseCurrPosY, OpenGLFlatShape shape) { switch (shape) { case OpenGLFlatShape.Circle: DrawCircle((short)mouseDownPosX, (short)mouseDownPosY, (short)mouseCurrPosX, (short)mouseCurrPosY); break; case OpenGLFlatShape.Rectangle: OpenTK.Graphics.Color4 color = new OpenTK.Graphics.Color4(1.0f, 1.0f, 1.0f, 0.0f); SetColor(color); GL.Rects((short)mouseDownPosX, (short)mouseDownPosY, (short)mouseCurrPosX, (short)mouseCurrPosY); break; } }