VLC 4.0.0-dev
|
Window event callbacks structure. More...
#include <vlc_window.h>
Data Fields | |
void(* | resized )(struct vlc_window *, unsigned width, unsigned height, vlc_window_ack_cb cb, void *opaque) |
Callback for window size changes. | |
void(* | closed )(struct vlc_window *) |
Callback for window closing. | |
void(* | state_changed )(struct vlc_window *, unsigned state) |
Callback for window state change. | |
void(* | windowed )(struct vlc_window *) |
Callback for windowed mode. | |
void(* | fullscreened )(struct vlc_window *, const char *id) |
Callback for fullscreen mode. | |
void(* | mouse_event )(struct vlc_window *, const vlc_window_mouse_event_t *mouse) |
Callback for pointer input events. | |
void(* | keyboard_event )(struct vlc_window *, unsigned key) |
Callback for keyboard input events. | |
void(* | output_event )(struct vlc_window *, const char *id, const char *desc) |
Callback for fullscreen output enumeration. | |
void(* | icc_event )(struct vlc_window *, vlc_icc_profile_t *profile) |
Callback for ICC profile update. | |
Window event callbacks structure.
This structure provided to vlc_window_New() conveys callbacks to handle window events.
As a general rule, the events can occur synchronously or asynchronously from the time that the window is (successfully) being created by vlc_window_New() until the time that the window has been deleted by vlc_window_Delete().
void(* vlc_window_callbacks::closed) (struct vlc_window *) |
Callback for window closing.
This callback function (if non-NULL) is invoked upon an external request to close the window. Not all windowing systems support this.
Soon after this callback, the window should be disabled with vlc_window_Disable().
Referenced by vlc_window_ReportClose().
void(* vlc_window_callbacks::fullscreened) (struct vlc_window *, const char *id) |
Callback for fullscreen mode.
This callback function (if non-NULL) is invoked when the window becomes fullscreen, when it changes to a different fullscreen output, or spuriously when the window remains in fullscreen mode.
id | fullscreen output identifier (NULL if unspecified) |
Referenced by vlc_window_ReportFullscreen().
void(* vlc_window_callbacks::icc_event) (struct vlc_window *, vlc_icc_profile_t *profile) |
Callback for ICC profile update.
This can happen either because of the window being moved to a different display, or because the ICC profile associated with a display is updated. Memory transfers to the callee.
profile | ICC profile associated with the window, or NULL to indicate absence of an ICC profile |
Referenced by vlc_window_ReportICCProfile().
void(* vlc_window_callbacks::keyboard_event) (struct vlc_window *, unsigned key) |
Callback for keyboard input events.
This callback function (if non-NULL) is invoked upon any keyboard key press event, or repetition event, on the window.
key | VLC key code |
Referenced by vlc_window_ReportKeyPress().
void(* vlc_window_callbacks::mouse_event) (struct vlc_window *, const vlc_window_mouse_event_t *mouse) |
Callback for pointer input events.
This callback function (if non-NULL) is invoked upon any pointer input event on the window. See vlc_window_mouse_event_t.
mouse | pointer to the input event. |
Referenced by vlc_window_SendMouseEvent().
void(* vlc_window_callbacks::output_event) (struct vlc_window *, const char *id, const char *desc) |
Callback for fullscreen output enumeration.
This callback function (if non-NULL) indicates that a fullscreen output becomes available, changes human-readable description, or becomes unavailable.
id | nul-terminated id fullscreen output identifier (cannot be NULL) |
desc | nul-terminated human-readable description, or NULL if the output has become unavailable |
Referenced by vlc_window_ReportOutputDevice().
void(* vlc_window_callbacks::resized) (struct vlc_window *, unsigned width, unsigned height, vlc_window_ack_cb cb, void *opaque) |
Callback for window size changes.
This callback function is invoked when the windowing system changes the window size.
This event may occur synchronously when the window is created or a size change is requested. It may also occur asynchronously as a consequence of external events from the windowing system, or deferred processing of a size change request.
If a non-NULL acknowledgement callback is specified, it is called synchronously after the consumer of the window has been notified of the size change, and before any further processing by the consumer. In other words, the callback invocation is after all rendering operations using the previous old window size, and before all rendering operations using the new window size.
cb | optional acknowledgement callback function (NULL to ignore) |
opaque | opaque data pointer for the acknowledgement callback |
Referenced by vlc_gl_surface_Create(), and vlc_window_ReportSize().
void(* vlc_window_callbacks::state_changed) (struct vlc_window *, unsigned state) |
Callback for window state change.
This callback function (if non-NULL) is invoked when the window state as changed, either as a consequence of vlc_window_SetSate() or external events.
state | new window state (see vlc_window_state). |
Referenced by vlc_window_ReportState().
void(* vlc_window_callbacks::windowed) (struct vlc_window *) |
Callback for windowed mode.
This callback function (if non-NULL) is invoked when the window becomes windowed. It might also occur spuriously if the window remains windowed.
Referenced by vlc_window_ReportWindowed().