Blender V5.0
GWL_Window Struct Reference

Public Attributes

struct { 
   wl_surface *   surface = nullptr 
wl
struct { 
   wp_viewport *   viewport = nullptr 
   wp_fractional_scale_v1 *   fractional_scale_handle = nullptr 
wp
struct { 
   xdg_activation_token_v1 *   activation_token = nullptr 
xdg
struct { 
backend
GHOST_WindowWaylandghost_window = nullptr
GHOST_SystemWaylandghost_system = nullptr
GHOST_TDrawingContextType ghost_context_type = GHOST_kDrawingContextTypeNone
std::vector< GWL_Output * > outputs
GWL_XDG_Decor_Windowxdg_decor = nullptr
GWL_WindowFrame frame
GWL_WindowFrame frame_pending
std::mutex frame_pending_mutex
GHOST_CursorGeneratorcursor_generator = nullptr
std::string title
bool is_dialog = false
bool is_init = false
bool is_valid_setup = false
GWL_WindowScaleParams scale_params
std::atomic< bool > pending_actions [PENDING_NUM] = {false}

Detailed Description

Definition at line 397 of file GHOST_WindowWayland.cc.

Member Data Documentation

◆ activation_token

xdg_activation_token_v1* GWL_Window::activation_token = nullptr

A temporary token used for the window to be notified of it's activation.

Definition at line 418 of file GHOST_WindowWayland.cc.

Referenced by gwl_window_activate(), and xdg_activation_handle_done().

◆ [struct]

struct { ... } GWL_Window::backend

◆ cursor_generator

GHOST_CursorGenerator* GWL_Window::cursor_generator = nullptr

Definition at line 462 of file GHOST_WindowWayland.cc.

Referenced by gwl_window_pending_actions_handle().

◆ fractional_scale_handle

wp_fractional_scale_v1* GWL_Window::fractional_scale_handle = nullptr

When set, only respond to the #wp_fractional_scale_v1_listener::preferred_scale callback and ignore updated scale based on #wl_surface_listener::enter & exit events.

Definition at line 412 of file GHOST_WindowWayland.cc.

◆ frame

◆ frame_pending

◆ frame_pending_mutex

std::mutex GWL_Window::frame_pending_mutex

Needed so calls such as GHOST_Window::setClientSize doesn't conflict with WAYLAND callbacks that may run in a thread.

Definition at line 459 of file GHOST_WindowWayland.cc.

Referenced by gwl_window_frame_update_from_pending(), and xdg_toplevel_handle_configure().

◆ ghost_context_type

GHOST_TDrawingContextType GWL_Window::ghost_context_type = GHOST_kDrawingContextTypeNone

Definition at line 432 of file GHOST_WindowWayland.cc.

Referenced by gwl_window_resize_for_backend().

◆ ghost_system

◆ ghost_window

◆ is_dialog

bool GWL_Window::is_dialog = false

Definition at line 466 of file GHOST_WindowWayland.cc.

◆ is_init

bool GWL_Window::is_init = false

True once the window has been initialized.

Definition at line 469 of file GHOST_WindowWayland.cc.

◆ is_valid_setup

bool GWL_Window::is_valid_setup = false

True when the GPU context is valid.

Definition at line 472 of file GHOST_WindowWayland.cc.

◆ outputs

std::vector<GWL_Output *> GWL_Window::outputs

Outputs on which the window is currently shown on.

This is an ordered set (whoever adds to this is responsible for keeping members unique). In practice this is rarely manipulated and is limited by the number of physical displays.

Definition at line 440 of file GHOST_WindowWayland.cc.

◆ pending_actions

std::atomic<bool> GWL_Window::pending_actions[PENDING_NUM] = {false}

These pending actions can't be performed when WAYLAND handlers are running from a thread. Postpone their execution until the main thread can handle them.

Definition at line 482 of file GHOST_WindowWayland.cc.

Referenced by gwl_window_pending_actions_handle(), and gwl_window_pending_actions_tag().

◆ scale_params

GWL_WindowScaleParams GWL_Window::scale_params

Currently only initialized on access (avoids allocations & allows to keep private).

Definition at line 475 of file GHOST_WindowWayland.cc.

◆ surface

◆ title

std::string GWL_Window::title

Definition at line 464 of file GHOST_WindowWayland.cc.

Referenced by gwl_window_title_set().

◆ viewport

◆ [struct]

◆ [struct]

◆ [struct]

struct { ... } GWL_Window::xdg

XDG native types.

Referenced by gwl_window_activate(), and xdg_activation_handle_done().

◆ xdg_decor


The documentation for this struct was generated from the following file: