我正在使用openTK和c#开发一个2d windows应用程序。 我正在使用gamewindow类。
class myWindow : GameWindow
{
}
有没有办法为这个窗口实现垂直滚动条? 谢谢
答案 0 :(得分:2)
创建自己的Scrollbar
小部件。使用OpenGL在2D中绘制:
DrawVerticalScrollBar(scrollbar_x, scrollbar_y,
scrollbar_width, scrollbar_height,
vertical_scroll, min_value, max_value); //pseudocode
然后绘制“滚动条”视图的内容:
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