Работа с событиями

Описание общих принципов работы с событиями

События подразумевают под собой такие действия, как создание окна, установку свойств, клавиатурные события, события тачскрина. События ассоциируются с контекстом. Допускается только одна очередь событий на контекст.

Пример простого обработчика событий

...
screen_event_t screen_ev;
screen_create_event(&screen_ev);
while (1){
do {
/* Вызываем screen_get_event с таймаутом -1 или ~0, что позволяет заблокироваться в ожидании события в очереди */
screen_get_event(screen_ctx, screen_ev, -1);
/* Получаем тип события */
screen_get_event_property_iv(screen_ev, SCREEN_PROPERTY_TYPE, &type);
/* Обрабатываем события, интересные нашему приложению */
if (type == SCREEN_EVENT_POST) {
/* Обрабатываем SCREEN_EVENT_POST; помещаем в очередь или устанавливаем корректные свойства для событий POST */
}
else if (type == SCREEN_EVENT_CLOSE) {
/* Обрабатываем SCREEN_EVENT_CLOSE; помещаем в очередь или устанавливаем корректные свойства для событий CLOSE */
}
else if
...
} while (type != SCREEN_EVENT_NONE);
}
...




Предыдущий раздел: Оконная подсистема Screen