如何为openTK gameWindow实现垂直滚动条
How to implement a vertical scroll bar for openTK gameWindow
我正在使用 openTK 和 c# 开发 2d windows 应用程序。
我正在使用游戏window class.
class myWindow : GameWindow
{
}
有什么办法可以实现这个window的垂直滚动条吗?
谢谢
制作您自己的 Scrollbar
小部件。使用 OpenGL 以二维方式绘制它:
DrawVerticalScrollBar(scrollbar_x, scrollbar_y,
scrollbar_width, scrollbar_height,
vertical_scroll, min_value, max_value); //pseudocode
然后稍后绘制 "scroll-bar" 视图的内容:
GL.Enable(EnableCap.ScissorTest);
GL.Scissor(view_start_x, view_start_y, view_end_x, view_end_y);
// Assume matrix mode is modelview
GL.PushMatrix();
GL.Translate(0, -vertical_scroll, 0);
// Draw the graphics affected by scrollbar
GL.PopMatrix();
GL.Disable(EnableCap.ScissorTest);
// Draw rest of the 2d graphics
如果您不想裁剪视图的内容,您可以删除 ScissorTest
和 GL.Scissor
我正在使用 openTK 和 c# 开发 2d windows 应用程序。 我正在使用游戏window class.
class myWindow : GameWindow
{
}
有什么办法可以实现这个window的垂直滚动条吗? 谢谢
制作您自己的 Scrollbar
小部件。使用 OpenGL 以二维方式绘制它:
DrawVerticalScrollBar(scrollbar_x, scrollbar_y,
scrollbar_width, scrollbar_height,
vertical_scroll, min_value, max_value); //pseudocode
然后稍后绘制 "scroll-bar" 视图的内容:
GL.Enable(EnableCap.ScissorTest);
GL.Scissor(view_start_x, view_start_y, view_end_x, view_end_y);
// Assume matrix mode is modelview
GL.PushMatrix();
GL.Translate(0, -vertical_scroll, 0);
// Draw the graphics affected by scrollbar
GL.PopMatrix();
GL.Disable(EnableCap.ScissorTest);
// Draw rest of the 2d graphics
如果您不想裁剪视图的内容,您可以删除 ScissorTest
和 GL.Scissor