Cocoa: 不使用drawRect回调,如何将CGContext绘制命令刷新到屏幕

我在使用glfw+CoreGraphics进行测试,绘制流程是像OpenGL一样 draw, flush, waitEvents, OpenGL绘制完使用SwapBuffers就可以刷新到屏幕了,使用CGContext时却无法生效。

大致代码如下

CGContextRef ctx = [[nsWindow graphicsContext] CGContext];
[[nsWindow contentView] lockFocus];
// draw commands here...
CGContextFlush(ctx);
CGContextSynchronize(ctx);
[[nsWindow contentView] unlockFocus];
[nsWindow flushWindow];

对Cocoa和OC不太了解,搜索过一些资料都是只能使用drawRect.

麻烦懂这方面的朋友帮忙看下,谢谢。

阅读 1.6k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题