table of contents
TICKIT_WINDOW_FLUSH(3) | Library Functions Manual | TICKIT_WINDOW_FLUSH(3) |
NAME¶
tickit_window_flush - invoke pending events on the window hierarchy
SYNOPSIS¶
#include <tickit.h> void tickit_window_flush(TickitWindow *win);
Link with -ltickit.
DEPRECATED¶
This function is deprecated and should not be used in new programs. Instead, obtain the root window from the toplevel Tickit instance by calling tickit_get_rootwin(3), and its pending events will automatically be managed by the toplevel instance tickit_run(3) function.
DESCRIPTION¶
tickit_window_flush() causes any pending activity in the window hierarchy to be performed. First it makes any window ordering changes that have been queued by tickit_window_raise(3) and tickit_window_lower(3), then fires any TICKIT_EV_EXPOSE events to render newly-exposed areas, before finally resetting the terminal cursor to the state required by whichever window has input focus. This function must be invoked on the root window instance.
An application working at the window level would typically use this function in conjunction with input even waiting, to drive the main loop of the core logic. Such a loop may look like:
while(1) {
tickit_window_flush(rootwin);
tickit_term_input_wait_msec(term, -1);
}
There is no adverse effect of calling this function when here are no pending events on the window instance. An application that makes use of multiple root windows across multiple terminal instances in a multi-head setup can safely invoke it on all the root windows at once.
RETURN VALUE¶
tickit_window_flush() returns no value.
SEE ALSO¶
tickit_window_new(3), tickit_window_expose(3), tickit_window_bind_event(3), tickit_window(7), tickit(7)