ClassesClassesClassesClasses | | | | Operators

flush_bufferflush_bufferFlushBufferflush_bufferFlushBufferFlushBuffer (Operator)

Name

flush_bufferflush_bufferFlushBufferflush_bufferFlushBufferFlushBuffer — Flush the contents of a window.

Signature

flush_buffer( : : WindowHandle : )

Herror flush_buffer(const Hlong WindowHandle)

Herror T_flush_buffer(const Htuple WindowHandle)

Herror flush_buffer(const HTuple& WindowHandle)

void HWindow::FlushBuffer() const

void FlushBuffer(const HTuple& WindowHandle)

void HWindow::FlushBuffer() const

void HOperatorSetX.FlushBuffer([in] VARIANT WindowHandle)

void HWindowX.FlushBuffer()

static void HOperatorSet.FlushBuffer(HTuple windowHandle)

void HWindow.FlushBuffer()

Description

flush_bufferflush_bufferFlushBufferflush_bufferFlushBufferFlushBuffer flushes the contents of the window WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle.

flush_bufferflush_bufferFlushBufferflush_bufferFlushBufferFlushBuffer 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_paramSetWindowParamset_window_paramSetWindowParamSetWindowParam. If 'flush'"flush""flush""flush""flush""flush" is 'false'"false""false""false""false""false" all display operations (such as disp_objdisp_objDispObjdisp_objDispObjDispObj or disp_textdisp_textDispTextdisp_textDispTextDispText) are redirected to a buffer and have no effect on WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (this applies for all window modes). flush_bufferflush_bufferFlushBufferflush_bufferFlushBufferFlushBuffer copies the contents of this buffer to the window WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle.

This is very useful to avoid flickering by batching several display operations (e.g. a clear_windowclear_windowClearWindowclear_windowClearWindowClearWindow followed by a disp_objdisp_objDispObjdisp_objDispObjDispObj) and displaying the final result with flush_bufferflush_bufferFlushBufferflush_bufferFlushBufferFlushBuffer.

This does not apply to drawing objects, which are always updated.

Attention

flush_bufferflush_bufferFlushBufferflush_bufferFlushBufferFlushBuffer depends on the library libcanvas, which might not be available on embedded systems.

Parallelization

Parameters

WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (input_control)  window HWindow, HTupleHTupleHTupleHWindowX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Window handle.

Example (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)

Result

If the window exists flush_bufferflush_bufferFlushBufferflush_bufferFlushBufferFlushBuffer returns 2 (H_MSG_TRUE).

Possible Predecessors

disp_objdisp_objDispObjdisp_objDispObjDispObj

Possible Successors

dump_window_imagedump_window_imageDumpWindowImagedump_window_imageDumpWindowImageDumpWindowImage

See also

set_window_paramset_window_paramSetWindowParamset_window_paramSetWindowParamSetWindowParam

Module

Foundation


ClassesClassesClassesClasses | | | | Operators