|
Blender V5.0
|
Definition at line 1467 of file GHOST_SystemWayland.cc.
| xdg_activation_v1* GWL_Display::activation_manager = nullptr |
Definition at line 1500 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_xdg_activation_add(), and gwl_registry_xdg_activation_remove().
| bool GWL_Display::background = false |
When true, running without any windows. Wayland is only used to access the GPU.
Definition at line 1549 of file GHOST_SystemWayland.cc.
Referenced by gwl_display_destroy(), gwl_display_event_thread_create(), gwl_display_event_thread_destroy(), and gwl_display_event_thread_fn().
| wl_compositor* GWL_Display::compositor = nullptr |
Definition at line 1473 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_compositor_add(), and gwl_registry_compositor_remove().
| wp_cursor_shape_manager_v1* GWL_Display::cursor_shape_manager = nullptr |
Definition at line 1493 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_wp_cursor_shape_manager_add(), and gwl_registry_wp_cursor_shape_manager_remove().
| wl_data_device_manager* GWL_Display::data_device_manager = nullptr |
Definition at line 1477 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_wl_data_device_manager_add(), gwl_registry_wl_data_device_manager_remove(), gwl_registry_wl_seat_update(), and system_clipboard_put().
| wl_display* GWL_Display::display = nullptr |
Definition at line 1472 of file GHOST_SystemWayland.cc.
Referenced by gwl_display_destroy(), gwl_display_event_thread_fn(), system_clipboard_get(), and system_clipboard_get_primary_selection().
| 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 1576 of file GHOST_SystemWayland.cc.
Referenced by gwl_display_destroy(), and gwl_display_event_thread_create().
| std::mutex GWL_Display::events_pending_mutex |
Guard against multiple threads accessing events_pending at once.
Definition at line 1578 of file GHOST_SystemWayland.cc.
| pthread_t GWL_Display::events_pthread = 0 |
Run a thread that consumes events in the background. Use pthread because std::thread leaks memory.
Not set when background == true.
Definition at line 1564 of file GHOST_SystemWayland.cc.
Referenced by gwl_display_destroy(), gwl_display_event_thread_create(), and gwl_display_event_thread_destroy().
| bool GWL_Display::events_pthread_is_active = false |
Use to exit the event reading loop.
Not set when background == true.
Definition at line 1570 of file GHOST_SystemWayland.cc.
Referenced by gwl_display_destroy(), gwl_display_event_thread_create(), and gwl_display_event_thread_fn().
| wp_fractional_scale_manager_v1* GWL_Display::fractional_scale_manager = nullptr |
Definition at line 1486 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_wp_fractional_scale_manager_add(), and gwl_registry_wp_fractional_scale_manager_remove().
| 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 1588 of file GHOST_SystemWayland.cc.
Referenced by gwl_display_destroy().
| GWL_DisplayTimeStamp GWL_Display::input_timestamp |
Definition at line 1503 of file GHOST_SystemWayland.cc.
| zxdg_output_manager_v1* GWL_Display::output_manager = nullptr |
Definition at line 1499 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_wl_output_update(), gwl_registry_xdg_output_manager_add(), and gwl_registry_xdg_output_manager_remove().
| 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 1526 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_wl_output_add(), and gwl_registry_wl_output_remove().
| zwp_pointer_constraints_v1* GWL_Display::pointer_constraints = nullptr |
Definition at line 1488 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_wp_pointer_constraints_add(), and gwl_registry_wp_pointer_constraints_remove().
| zwp_pointer_gestures_v1* GWL_Display::pointer_gestures = nullptr |
Definition at line 1489 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_wp_pointer_gestures_add(), and gwl_registry_wp_pointer_gestures_remove().
| zwp_primary_selection_device_manager_v1* GWL_Display::primary_selection_device_manager = nullptr |
Definition at line 1485 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_wl_seat_update(), gwl_registry_wp_primary_selection_device_manager_add(), gwl_registry_wp_primary_selection_device_manager_remove(), and system_clipboard_put_primary_selection().
| wl_registry* GWL_Display::registry = nullptr |
Definition at line 1471 of file GHOST_SystemWayland.cc.
Referenced by global_handle_add(), global_handle_remove(), gwl_display_destroy(), gwl_registry_compositor_add(), gwl_registry_wl_data_device_manager_add(), gwl_registry_wl_output_add(), gwl_registry_wl_seat_add(), gwl_registry_wl_shm_add(), gwl_registry_wp_cursor_shape_manager_add(), gwl_registry_wp_fractional_scale_manager_add(), gwl_registry_wp_pointer_constraints_add(), gwl_registry_wp_pointer_gestures_add(), gwl_registry_wp_primary_selection_device_manager_add(), gwl_registry_wp_relative_pointer_manager_add(), gwl_registry_wp_tablet_manager_add(), gwl_registry_wp_viewporter_add(), gwl_registry_xdg_activation_add(), gwl_registry_xdg_decoration_manager_add(), gwl_registry_xdg_output_manager_add(), and gwl_registry_xdg_wm_base_add().
| GWL_RegistryEntry* GWL_Display::registry_entry = nullptr |
Registry entries, kept to allow updating & removal at run-time.
Definition at line 1514 of file GHOST_SystemWayland.cc.
Referenced by global_handle_add(), gwl_registry_entry_add(), gwl_registry_entry_remove_all(), gwl_registry_entry_remove_by_interface_slot(), gwl_registry_entry_remove_by_name(), and gwl_registry_entry_update_all().
| 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 1511 of file GHOST_SystemWayland.cc.
Referenced by global_handle_add(), and global_handle_remove().
| zwp_relative_pointer_manager_v1* GWL_Display::relative_pointer_manager = nullptr |
Definition at line 1484 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_wp_relative_pointer_manager_add(), and gwl_registry_wp_relative_pointer_manager_remove().
| std::vector<GWL_Seat *> GWL_Display::seats |
Definition at line 1527 of file GHOST_SystemWayland.cc.
Referenced by gwl_display_seat_active_get(), gwl_display_seat_active_set(), gwl_display_seat_index(), gwl_registry_wl_seat_add(), and gwl_registry_wl_seat_remove().
| 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 example), basic support is sufficient for now as currently isn't a widely used feature.
Definition at line 1539 of file GHOST_SystemWayland.cc.
Referenced by gwl_display_seat_active_get(), gwl_display_seat_active_set(), and gwl_registry_wl_seat_remove().
| wl_shm* GWL_Display::shm = nullptr |
Definition at line 1474 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_wl_shm_add(), and gwl_registry_wl_shm_remove().
| GHOST_SystemWayland* GWL_Display::system = nullptr |
Definition at line 1505 of file GHOST_SystemWayland.cc.
Referenced by gwl_display_destroy(), gwl_display_event_thread_fn(), gwl_registry_wl_output_add(), and gwl_registry_wl_seat_add().
| zwp_tablet_manager_v2* GWL_Display::tablet_manager = nullptr |
Definition at line 1483 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_wl_seat_update(), gwl_registry_wp_tablet_manager_add(), and gwl_registry_wp_tablet_manager_remove().
| bool GWL_Display::use_window_frame = false |
Show window decorations, otherwise all windows are frame-less.
Definition at line 1554 of file GHOST_SystemWayland.cc.
| wp_viewporter* GWL_Display::viewporter = nullptr |
Definition at line 1487 of file GHOST_SystemWayland.cc.
Referenced by gwl_registry_wp_viewporter_add(), and gwl_registry_wp_viewporter_remove().
| struct { ... } GWL_Display::wl |
Wayland core types.
Referenced by global_handle_add(), global_handle_remove(), gwl_display_destroy(), gwl_display_event_thread_fn(), gwl_registry_compositor_add(), gwl_registry_compositor_remove(), gwl_registry_wl_data_device_manager_add(), gwl_registry_wl_data_device_manager_remove(), gwl_registry_wl_output_add(), gwl_registry_wl_seat_add(), gwl_registry_wl_seat_update(), gwl_registry_wl_shm_add(), gwl_registry_wl_shm_remove(), gwl_registry_wp_cursor_shape_manager_add(), gwl_registry_wp_fractional_scale_manager_add(), gwl_registry_wp_pointer_constraints_add(), gwl_registry_wp_pointer_gestures_add(), gwl_registry_wp_primary_selection_device_manager_add(), gwl_registry_wp_relative_pointer_manager_add(), gwl_registry_wp_tablet_manager_add(), gwl_registry_wp_viewporter_add(), gwl_registry_xdg_activation_add(), gwl_registry_xdg_decoration_manager_add(), gwl_registry_xdg_output_manager_add(), gwl_registry_xdg_wm_base_add(), system_clipboard_get(), system_clipboard_get_primary_selection(), and system_clipboard_put().
| struct { ... } GWL_Display::wp |
Wayland native types.
Referenced by gwl_registry_wl_seat_update(), gwl_registry_wp_cursor_shape_manager_add(), gwl_registry_wp_cursor_shape_manager_remove(), gwl_registry_wp_fractional_scale_manager_add(), gwl_registry_wp_fractional_scale_manager_remove(), gwl_registry_wp_pointer_constraints_add(), gwl_registry_wp_pointer_constraints_remove(), gwl_registry_wp_pointer_gestures_add(), gwl_registry_wp_pointer_gestures_remove(), gwl_registry_wp_primary_selection_device_manager_add(), gwl_registry_wp_primary_selection_device_manager_remove(), gwl_registry_wp_relative_pointer_manager_add(), gwl_registry_wp_relative_pointer_manager_remove(), gwl_registry_wp_tablet_manager_add(), gwl_registry_wp_tablet_manager_remove(), gwl_registry_wp_viewporter_add(), gwl_registry_wp_viewporter_remove(), and system_clipboard_put_primary_selection().
| struct { ... } GWL_Display::xdg |
Wayland XDG types.
Referenced by gwl_registry_wl_output_update(), gwl_registry_xdg_activation_add(), gwl_registry_xdg_activation_remove(), gwl_registry_xdg_output_manager_add(), and gwl_registry_xdg_output_manager_remove().
| GWL_XDG_Decor_System* GWL_Display::xdg_decor = nullptr |