VLC 4.0.0-dev
|
Window provider event reporting. More...
Functions | |
static void | vlc_window_ReportSize (vlc_window_t *window, unsigned width, unsigned height) |
Reports the current window size. More... | |
static void | vlc_window_ReportClose (vlc_window_t *window) |
Reports a request to close the window. More... | |
static void | vlc_window_ReportState (vlc_window_t *window, unsigned state) |
Reports the current window state. More... | |
void | vlc_window_ReportWindowed (vlc_window_t *wnd) |
Reports that the window is not in full screen. More... | |
void | vlc_window_ReportFullscreen (vlc_window_t *wnd, const char *id) |
Reports that the window is in full screen. More... | |
static void | vlc_window_SendMouseEvent (vlc_window_t *window, const vlc_window_mouse_event_t *mouse) |
static void | vlc_window_ReportMouseMoved (vlc_window_t *window, int x, int y) |
Reports a pointer movement. More... | |
static void | vlc_window_ReportMousePressed (vlc_window_t *window, int button) |
Reports a mouse button press. More... | |
static void | vlc_window_ReportMouseReleased (vlc_window_t *window, int button) |
Reports a mouse button release. More... | |
static void | vlc_window_ReportMouseDoubleClick (vlc_window_t *window, int button) |
Reports a mouse double-click. More... | |
static void | vlc_window_ReportKeyPress (vlc_window_t *window, int key) |
Reports a keyboard key press. More... | |
static void | vlc_window_ReportOutputDevice (vlc_window_t *window, const char *id, const char *name) |
Adds/removes a fullscreen output. More... | |
static void | vlc_window_ReportICCProfile (vlc_window_t *window, vlc_icc_profile_t *prof) |
Reports a change to the currently active ICC profile. More... | |
Window provider event reporting.
The Window provider has to report some events to the core so that it can react appropriately to these events, for this the window provider calls the functions in this section when appropriate.
|
inlinestatic |
Reports a request to close the window.
This function is called by the window implementation to advise that the window is being closed externally, and should be disabled by the owner.
window | window implementation that reports the event |
References vlc_window_owner::cbs, vlc_window_callbacks::closed, and vlc_window::owner.
void vlc_window_ReportFullscreen | ( | vlc_window_t * | wnd, |
const char * | id | ||
) |
Reports that the window is in full screen.
wnd | the window reporting the fullscreen state |
id | fullscreen output nul-terminated identifier, NULL for default |
References vlc_window_owner::cbs, container_of, window_t::fullscreen, vlc_window_callbacks::fullscreened, window_t::inhibit_windowed, window_t::lock, vlc_window::owner, vlc_mutex_lock(), vlc_mutex_unlock(), and vlc_window_UpdateInhibitionUnlocked().
|
inlinestatic |
Reports a change to the currently active ICC profile.
window | the window reporting the ICC profile |
prof | the profile data, or NULL. Ownership transfers to callee |
References vlc_window_owner::cbs, vlc_window_callbacks::icc_event, and vlc_window::owner.
|
inlinestatic |
Reports a keyboard key press.
window | window in focus |
key | VLC key code |
References vlc_window_owner::cbs, vlc_window_callbacks::keyboard_event, and vlc_window::owner.
|
inlinestatic |
Reports a mouse double-click.
window | window in focus |
button | double-clicked button (see vlc_mouse_button) |
References VLC_WINDOW_MOUSE_DOUBLE_CLICK, and vlc_window_SendMouseEvent().
|
inlinestatic |
Reports a pointer movement.
The mouse position must be expressed in window pixel units. See also vlc_window_mouse_event_t.
window | window in focus |
x | abscissa |
y | ordinate |
References VLC_WINDOW_MOUSE_MOVED, and vlc_window_SendMouseEvent().
Referenced by vout_display_SendMouseMovedDisplayCoordinates().
|
inlinestatic |
Reports a mouse button press.
window | window in focus |
button | pressed button (see vlc_mouse_button) |
References VLC_WINDOW_MOUSE_PRESSED, and vlc_window_SendMouseEvent().
Referenced by vout_display_SendEventMousePressed().
|
inlinestatic |
Reports a mouse button release.
window | window in focus |
button | released button (see vlc_mouse_button) |
References VLC_WINDOW_MOUSE_RELEASED, and vlc_window_SendMouseEvent().
Referenced by vout_display_SendEventMouseReleased().
|
inlinestatic |
Adds/removes a fullscreen output.
This notifies the owner of the window that a usable fullscreen output has been added, changed or removed.
If an output with the same identifier is already known, its name will be updated. Otherwise it will be added. If the name parameter is NULL, the output will be removed.
window | the window reporting the output device |
id | unique nul-terminated identifier for the output |
name | human-readable name |
References vlc_window_owner::cbs, name, vlc_window_callbacks::output_event, and vlc_window::owner.
|
inlinestatic |
Reports the current window size.
This function is called by the window implementation and notifies the owner of the window what the pixel dimensions of the window are (or should be, depending on the windowing system).
window | window implementation that reports the event |
width | width of the usable window area in pixels |
height | height of the usable window area in pixels |
References vlc_window_owner::cbs, vlc_window::owner, and vlc_window_callbacks::resized.
|
inlinestatic |
Reports the current window state.
This function is called by the window implementation to notify the owner of the window that the state of the window changed.
window | the window reporting the state change |
state |
References vlc_window_owner::cbs, vlc_window::owner, state, and vlc_window_callbacks::state_changed.
void vlc_window_ReportWindowed | ( | vlc_window_t * | wnd | ) |
Reports that the window is not in full screen.
This notifies the owner of the window that the window is windowed, i.e. not in full screen mode.
wnd | window implementation that reports the event |
References vlc_window_owner::cbs, container_of, window_t::fullscreen, window_t::inhibit_windowed, window_t::lock, vlc_window::owner, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_window_UpdateInhibitionUnlocked(), and vlc_window_callbacks::windowed.
|
inlinestatic |