使用Cocoa获取可滚动OpenGL视图的最佳方法

时间:2013-06-03 07:49:34

标签: macos cocoa opengl

假设我正在编写某种2D CAD程序,我希望能够放大并滚动文档。但是,我还希望完全控制我的文档绘制方式,并且我想要一个OpenGL上下文来进行绘图。我该怎么做呢?我应该继承NSScrollView并做一些我无法弄清楚的东西吗?我应该继承NSOpenGLView并添加一对NSScroller并弄清楚如何正确绘制它们?制作NSScroller并以原本看起来很好的方式绘制它们看起来很重要,但是NSScrollViews似乎想要拥有你可能正在滚动的所有内容,而不是让我控制滚动条旋钮的大小和其他类似的东西。我完全满足于提供像素或类似的文档大小,对我来说最重要的是当我在OpenGL上下文中绘制到(0,0)时,我画到窗口的角落,并且不要进入NSScrollView拥有的缓冲区。

1 个答案:

答案 0 :(得分:1)

  

我应该继承NSOpenGLView并添加一对NSScrollers

是的,因为滚动OpenGL视图没有意义。您希望调整查看体积(即定义投影矩阵的参数),而不是移动视口。只有在手动控制滚动条时才能使用。