flush_bufferT_flush_bufferFlushBufferFlushBufferflush_buffer (算子)
名称
flush_bufferT_flush_bufferFlushBufferFlushBufferflush_buffer — 清空窗口内容。
签名
描述
flush_bufferflush_bufferFlushBufferFlushBufferFlushBufferflush_buffer flushes the contents of the window
WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle。
flush_bufferflush_bufferFlushBufferFlushBufferFlushBufferflush_buffer is only necessary if the window parameter
'flush'"flush""flush""flush""flush""flush" has been set to 'false'"false""false""false""false""false" with
set_window_paramset_window_paramSetWindowParamSetWindowParamSetWindowParamset_window_param。If 'flush'"flush""flush""flush""flush""flush" is 'false'"false""false""false""false""false" all
display operations (such as disp_objdisp_objDispObjDispObjDispObjdisp_obj or disp_textdisp_textDispTextDispTextDispTextdisp_text) are
redirected to a buffer and have no effect on WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle
(this applies for all window modes). flush_bufferflush_bufferFlushBufferFlushBufferFlushBufferflush_buffer copies the
contents of this buffer to the window WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle。
This is very useful to avoid flickering by batching several display
operations (e.g., a clear_windowclear_windowClearWindowClearWindowClearWindowclear_window followed by a disp_objdisp_objDispObjDispObjDispObjdisp_obj)
and displaying the final result with flush_bufferflush_bufferFlushBufferFlushBufferFlushBufferflush_buffer.
This does not apply to drawing objects, which are always updated.
注意
flush_bufferflush_bufferFlushBufferFlushBufferFlushBufferflush_buffer 依赖于 libcanvas 库,该库在嵌入式系统上可能不可用。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 未采用并行化处理。
参数
WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle (输入控制) window → HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
窗口句柄。
示例(HDevelop)
read_image (Image, 'printer_chip/printer_chip_01')
threshold (Image, Region, 128, 255)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
set_window_param (WindowHandle, 'flush', 'false')
dev_display (Image)
dev_display (Region)
disp_text (WindowHandle, 'Result of threshold', 'window', \
12, 12, 'black', [], [])
* nothing is displayed until flush_buffer is called
flush_buffer (WindowHandle)
结果
If the window exists flush_bufferflush_bufferFlushBufferFlushBufferFlushBufferflush_buffer 返回 2 ( H_MSG_TRUE )。
可能的前趋
disp_objdisp_objDispObjDispObjDispObjdisp_obj
可能的后继
dump_window_imagedump_window_imageDumpWindowImageDumpWindowImageDumpWindowImagedump_window_image
另见
set_window_paramset_window_paramSetWindowParamSetWindowParamSetWindowParamset_window_param
模块
基础