Types of notifications
Synopsis:
#include <screen/screen.h>
enum {
SCREEN_NOTIFY_VSYNC = 0,
SCREEN_NOTIFY_UPDATE = 1,
SCREEN_NOTIFY_INPUT = 2,
SCREEN_NOTIFY_EVENT = 3
};
Data:
- SCREEN_NOTIFY_VSYNC
- Not supported; do not use.
- SCREEN_NOTIFY_UPDATE
- Notification of an update; this notification type is applicable to the following API objects:
- display: notification when Screen completes composition
- stream: notification when screen_post_stream() has been called with the specified stream
- window: notification when screen_post_window() has been called with the specified window
When you register for SCREEN_NOTIFY_UPDATE notifications, Screen still adds SCREEN_EVENT_POST events to your context's event queue when applicable.
- SCREEN_NOTIFY_INPUT
- Notification of an event from a display or an input device; this notification type is applicable to the following API objects:
- device: notification when the specified device is sending input; note that when you receive a notification for input, it isn't necessarily an indication that there's an event corresponding to your input device in your context's event queue.
- display: notification when there's input occuring that's targeted for the specified display
When you register for SCREEN_NOTIFY_UPDATE notifications with a NULL object, then you receive notifications when any input device is sending input
- SCREEN_NOTIFY_EVENT
- Notification of when a property has been changed on the specified API object or when an event is available in your context's event queue; this notification type is applicable to the following API objects:
- device
- group
- pixmap
- session
- stream
- window
When you register for SCREEN_NOTIFY_EVENT notifications for any of the above API objects, Screen sends a notification when a property has been changed on that specified object. If the property change also invokes Screen to send a SCREEN_EVENT_PROPERTY event, then you will receive this event in your context's event queue in addition to the notification; otherwise, you receive only the notification. Refer to Screen property types to determine whether a property sends a change event.
When you register for SCREEN_NOTIFY_EVENT notifications with a NULL object, then you receive notifications when there's any type of event that's enqueued to your context's event queue.
Library:
libscreen