1.5【应用开发】缓冲区(二)
二,附加缓冲区
你可以通过分别调用以下函数来附加一个缓冲区(screen_buffer_t类型),以将其与像素图、流或窗口相关联:
screen_attach_pixmap_buffer() //用于附加像素图缓冲区
screen_attach_stream_buffers()//用于附加流缓冲区
screen_attach_window_buffers()屏幕附加窗口缓冲区
要附加缓冲区,请执行以下操作:
2.1 获取一个 screen_buffer_t
要访问缓冲区,你可以检索以下任何内容:
- 一个外部缓冲区(即通过调用 screen_create_buffer() 创建的缓冲区,并且为其分配了内存)
- 通过调用 screen_acquire_buffer() 函数从流中获取缓冲区。例如
screen_stream_t astream = NULL;
screen_buffer_t buffer = NULL;
...
screen_acquire_buffer(&buffer, astream, NULL, NULL, NULL, SCREEN_ACQUIRE_DONT_BLOCK);
...
- 通过调用 screen_get_*_property_pv() 函数,并使用其返回缓冲区的有效属性之一,从像素图、流或窗口获取缓冲区
像素图 pixmap
使用以下属性之一调用 screen_get_pixmap_property_pv():
SCREEN_PROPERTY_BUFFERS
SCREEN_PROPERTY_RENDER_BUFFERS
流 stream
使用