|
Blender V4.3
|
Public Attributes | ||
| struct { | ||
| wl_registry * registry = nullptr | ||
| wl_display * display = nullptr | ||
| wl_compositor * compositor = nullptr | ||
| wl_shm * shm = nullptr | ||
| wl_data_device_manager * data_device_manager = nullptr | ||
| } | wl | |
| struct { | ||
| zwp_tablet_manager_v2 * tablet_manager = nullptr | ||
| zwp_relative_pointer_manager_v1 * relative_pointer_manager = nullptr | ||
| zwp_primary_selection_device_manager_v1 * primary_selection_device_manager = nullptr | ||
| wp_fractional_scale_manager_v1 * fractional_scale_manager = nullptr | ||
| wp_viewporter * viewporter = nullptr | ||
| zwp_pointer_constraints_v1 * pointer_constraints = nullptr | ||
| zwp_pointer_gestures_v1 * pointer_gestures = nullptr | ||
| } | wp | |
| struct { | ||
| zxdg_output_manager_v1 * output_manager = nullptr | ||
| xdg_activation_v1 * activation_manager = nullptr | ||
| } | xdg | |
| GWL_DisplayTimeStamp | input_timestamp | |
| GHOST_SystemWayland * | system = nullptr | |
| bool | registry_skip_update_all = false | |
| GWL_RegistryEntry * | registry_entry = nullptr | |
| GWL_XDG_Decor_System * | xdg_decor = nullptr | |
| std::vector< GWL_Output * > | outputs | |
| std::vector< GWL_Seat * > | seats | |
| int | seats_active_index = 0 | |
| pthread_t | events_pthread = 0 | |
| bool | events_pthread_is_active = false | |
| std::vector< const GHOST_IEvent * > | events_pending | |
| std::mutex | events_pending_mutex | |
| GHOST_TimerManager * | ghost_timer_manager = nullptr | |
Definition at line 1416 of file GHOST_SystemWayland.cc.
| xdg_activation_v1* GWL_Display::activation_manager = nullptr |
Definition at line 1448 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::xdg_activation_manager_get().
| wl_compositor* GWL_Display::compositor = nullptr |
Definition at line 1422 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::wl_compositor_get().
| wl_data_device_manager* GWL_Display::data_device_manager = nullptr |
Definition at line 1426 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::putClipboardImage().
| wl_display* GWL_Display::display = nullptr |
Definition at line 1421 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::createOffscreenContext(), GHOST_SystemWayland::getClipboardImage(), GHOST_SystemWayland::GHOST_SystemWayland(), GHOST_SystemWayland::processEvents(), and GHOST_SystemWayland::wl_display_get().
| std::vector<const GHOST_IEvent *> GWL_Display::events_pending |
Events added from the event reading thread. Added into the main event queue when on GHOST_SystemWayland::processEvents.
Definition at line 1503 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::processEvents(), and GHOST_SystemWayland::pushEvent_maybe_pending().
| std::mutex GWL_Display::events_pending_mutex |
Guard against multiple threads accessing events_pending at once.
Definition at line 1505 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::processEvents(), and GHOST_SystemWayland::pushEvent_maybe_pending().
| pthread_t GWL_Display::events_pthread = 0 |
Run a thread that consumes events in the background. Use pthread because std::thread leaks memory.
Definition at line 1495 of file GHOST_SystemWayland.cc.
| bool GWL_Display::events_pthread_is_active = false |
Use to exit the event reading loop.
Definition at line 1497 of file GHOST_SystemWayland.cc.
| wp_fractional_scale_manager_v1* GWL_Display::fractional_scale_manager = nullptr |
Definition at line 1435 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::wp_fractional_scale_manager_get().
| GHOST_TimerManager* GWL_Display::ghost_timer_manager = nullptr |
A separate timer queue, needed so the WAYLAND thread can lock access. Using the system's #GHOST_Sysem::getTimerManager is not thread safe because access to the timer outside of WAYLAND specific logic will not lock.
Needed because GHOST_System::dispatchEvents fires timers outside of WAYLAND (without locking the timer_mutex).
Definition at line 1515 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::GHOST_SystemWayland(), and GHOST_SystemWayland::ghost_timer_manager().
| GWL_DisplayTimeStamp GWL_Display::input_timestamp |
Definition at line 1451 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::ms_from_input_time().
| zxdg_output_manager_v1* GWL_Display::output_manager = nullptr |
Definition at line 1447 of file GHOST_SystemWayland.cc.
| std::vector<GWL_Output *> GWL_Display::outputs |
NOTE(@ideasman42): Handling of outputs must account for this vector to be empty. While this seems like something which might not ever happen, it can occur when unplugging monitors (presumably from dodgy cables/connections too).
Definition at line 1474 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::getAllDisplayDimensions(), GHOST_SystemWayland::getMainDisplayDimensions(), GHOST_SystemWayland::getNumDisplays(), and GHOST_SystemWayland::outputs_get().
| zwp_pointer_constraints_v1* GWL_Display::pointer_constraints = nullptr |
Definition at line 1437 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::window_cursor_grab_set().
| zwp_pointer_gestures_v1* GWL_Display::pointer_gestures = nullptr |
Definition at line 1438 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::wp_pointer_gestures_get().
| zwp_primary_selection_device_manager_v1* GWL_Display::primary_selection_device_manager = nullptr |
Definition at line 1434 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::wp_primary_selection_manager_get().
| wl_registry* GWL_Display::registry = nullptr |
Definition at line 1420 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::GHOST_SystemWayland().
| GWL_RegistryEntry* GWL_Display::registry_entry = nullptr |
Registry entries, kept to allow updating & removal at run-time.
Definition at line 1462 of file GHOST_SystemWayland.cc.
| bool GWL_Display::registry_skip_update_all = false |
True when initializing registration, while updating all other entries wont cause problems, it will preform many redundant update calls.
Definition at line 1459 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::GHOST_SystemWayland().
| zwp_relative_pointer_manager_v1* GWL_Display::relative_pointer_manager = nullptr |
Definition at line 1433 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::window_cursor_grab_set().
| std::vector<GWL_Seat *> GWL_Display::seats |
Definition at line 1475 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::output_scale_update(), GHOST_SystemWayland::output_unref(), GHOST_SystemWayland::setMultitouchGestures(), and GHOST_SystemWayland::window_surface_unref().
| int GWL_Display::seats_active_index = 0 |
Support a single active seat at once, this isn't an exact or correct mapping from WAYLAND. Only allow input from different seats, not full concurrent multi-seat support.
The main purpose of having an active seat is an alternative from always using the first seat which prevents events from any other seat.
NOTE(@ideasman42): This could be extended and developed further extended to support an active seat per window (for e.g.), basic support is sufficient for now as currently isn't a widely used feature.
Definition at line 1487 of file GHOST_SystemWayland.cc.
| wl_shm* GWL_Display::shm = nullptr |
Definition at line 1423 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::cursor_shape_custom_set(), and GHOST_SystemWayland::wl_shm_get().
| GHOST_SystemWayland* GWL_Display::system = nullptr |
Definition at line 1453 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::GHOST_SystemWayland(), and GHOST_SystemWayland::processEvents().
| zwp_tablet_manager_v2* GWL_Display::tablet_manager = nullptr |
Definition at line 1432 of file GHOST_SystemWayland.cc.
| wp_viewporter* GWL_Display::viewporter = nullptr |
Definition at line 1436 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::wp_viewporter_get().
| struct { ... } GWL_Display::wl |
Wayland core types.
Referenced by GHOST_SystemWayland::createOffscreenContext(), GHOST_SystemWayland::cursor_shape_custom_set(), GHOST_SystemWayland::getClipboardImage(), GHOST_SystemWayland::GHOST_SystemWayland(), GHOST_SystemWayland::processEvents(), GHOST_SystemWayland::putClipboardImage(), GHOST_SystemWayland::wl_compositor_get(), GHOST_SystemWayland::wl_display_get(), and GHOST_SystemWayland::wl_shm_get().
| struct { ... } GWL_Display::wp |
| struct { ... } GWL_Display::xdg |
Wayland XDG types.
Referenced by GHOST_SystemWayland::xdg_activation_manager_get().
| GWL_XDG_Decor_System* GWL_Display::xdg_decor = nullptr |
Definition at line 1467 of file GHOST_SystemWayland.cc.
Referenced by GHOST_SystemWayland::GHOST_SystemWayland(), GHOST_SystemWayland::xdg_decor_manager_get(), and GHOST_SystemWayland::xdg_decor_shell_get().