Scroll to navigation

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)