|
Blender V5.0
|
#include <GHOST_WindowWayland.hh>
Inherits GHOST_Window.
Additional Inherited Members | |
| Protected Member Functions inherited from GHOST_Window | |
| GHOST_TSuccess | releaseNativeHandles () |
| Protected Attributes inherited from GHOST_Window | |
| GHOST_TDrawingContextType | drawing_context_type_ |
| GHOST_TUserDataPtr | user_data_ |
| bool | cursor_visible_ |
| GHOST_TGrabCursorMode | cursor_grab_ |
| GHOST_TAxisFlag | cursor_grab_axis_ |
| int32_t | cursor_grab_init_pos_ [2] |
| int32_t | cursor_grab_accum_pos_ [2] |
| GHOST_Rect | cursor_grab_bounds_ |
| GHOST_TStandardCursor | cursor_shape_ |
| bool | progress_bar_visible_ |
| bool | can_accept_drag_operation_ |
| bool | is_unsaved_changes_ |
| bool | full_screen_ |
| GHOST_TWindowDecorationStyleFlags | window_decoration_style_flags_ |
| GHOST_WindowDecorationStyleSettings | window_decoration_style_settings_ |
| GHOST_ContextParams | want_context_params_ |
| uint32_t | full_screen_width_ |
| uint32_t | full_screen_height_ |
| float | native_pixel_size_ |
| GHOST_WindowHDRInfo | hdr_info_ = GHOST_WINDOW_HDR_INFO_NONE |
Definition at line 65 of file GHOST_WindowWayland.hh.
| GHOST_WindowWayland::GHOST_WindowWayland | ( | GHOST_SystemWayland * | system, |
| const char * | title, | ||
| int32_t | left, | ||
| int32_t | top, | ||
| uint32_t | width, | ||
| uint32_t | height, | ||
| GHOST_TWindowState | state, | ||
| const GHOST_IWindow * | parent_window, | ||
| GHOST_TDrawingContextType | type, | ||
| const bool | is_dialog, | ||
| const GHOST_ContextParams & | context_params, | ||
| const bool | exclusive, | ||
| const GHOST_GPUDevice & | preferred_device ) |
Definition at line 1731 of file GHOST_WindowWayland.cc.
References FRACTIONAL_DENOMINATOR, GHOST_ASSERT, GHOST_kFailure, GHOST_PRINT, GHOST_Window::GHOST_Window(), GHOST_WindowWayland(), ghost_wl_display_report_error_if_set(), ghost_wl_surface_tag(), gwl_round_int2_by(), gwl_round_int_test(), gwl_window_frame_pending_fractional_scale_set_notest(), gwl_window_state_get(), gwl_window_state_set(), gwl_window_state_set_for_xdg(), gwl_window_title_set(), GHOST_Window::hdr_info_, GWL_XDG_Decor_Window::initial_bounds, GWL_XDG_Decor_Window::initial_configure_seen, libdecor_decorate, libdecor_frame_get_xdg_toplevel, libdecor_frame_map, libdecor_frame_set_app_id, libdecor_frame_set_min_content_size, libdecor_frame_set_parent, new(), outputs_changed_update_scale(), outputs_uniform_scale_or_default(), GHOST_SystemWayland::server_mutex, GHOST_Window::setDrawingContextType(), GHOST_Window::setSwapInterval(), GHOST_ContextVK_WindowInfo::size, state, GWL_XDG_Decor_Window::surface, GWL_XDG_Decor_Window::toplevel, GWL_XDG_Decor_Window::toplevel_decor, UNPACK2, wl_display, wl_display_dispatch, wl_display_flush, GHOST_SystemWayland::wl_display_get(), wl_display_roundtrip, wl_egl_window_create, wl_surface_listener, wp_fractional_scale_listener, GHOST_SystemWayland::wp_fractional_scale_manager_get(), GHOST_SystemWayland::xdg_app_id_get(), xdg_surface_listener, xdg_toplevel_decoration_v1_listener, and xdg_toplevel_listener.
Referenced by GHOST_WindowWayland(), and setWindowCursorShape().
|
override |
Definition at line 2119 of file GHOST_WindowWayland.cc.
References gwl_window_cursor_custom_free(), gwl_xdg_decor_window_destroy(), GHOST_Window::releaseNativeHandles(), wl_display_flush, and wl_egl_window_destroy.
| GHOST_TSuccess GHOST_WindowWayland::activate | ( | ) |
Set the window as active and send an GHOST_kEventWindowActivate event.
Definition at line 2609 of file GHOST_WindowWayland.cc.
References GHOST_kEventWindowActivate, GHOST_kFailure, GHOST_kSuccess, and notify_decor_redraw().
Referenced by gwl_window_frame_update_from_pending_no_lock().
|
overridevirtual |
Converts a point in client rectangle coordinates to screen coordinates.
| inX | The x-coordinate in the client rectangle. |
| inY | The y-coordinate in the client rectangle. |
| outX | The x-coordinate on the screen. |
| outY | The y-coordinate on the screen. |
Implements GHOST_IWindow.
Definition at line 2393 of file GHOST_WindowWayland.cc.
| GHOST_TSuccess GHOST_WindowWayland::close | ( | ) |
Definition at line 2603 of file GHOST_WindowWayland.cc.
References GHOST_kEventWindowClose.
Referenced by xdg_toplevel_handle_close().
| GHOST_TSuccess GHOST_WindowWayland::cursor_shape_refresh | ( | ) |
Refresh the cursor using the cursor assigned to this window.
Definition at line 2688 of file GHOST_WindowWayland.cc.
References GHOST_Window::cursor_shape_, GHOST_kSuccess, gwl_window_cursor_shape_refresh(), gwl_window_pending_actions_tag(), and PENDING_WINDOW_CURSOR_SHAPE_REFRESH.
Referenced by pointer_handle_enter(), setWindowCustomCursorGenerator(), tablet_tool_handle_frame(), tablet_tool_handle_proximity_in(), touch_seat_handle_down(), and update_cursor_scale().
| GHOST_TSuccess GHOST_WindowWayland::deactivate | ( | ) |
De-activate the window and send a GHOST_kEventWindowDeactivate event.
Definition at line 2639 of file GHOST_WindowWayland.cc.
References GHOST_kEventWindowDeactivate, GHOST_kSuccess, and notify_decor_redraw().
Referenced by gwl_window_frame_update_from_pending_no_lock().
|
overridevirtual |
Returns the client rectangle dimensions. The left and top members of the rectangle are always zero.
| bounds | The bounding rectangle of the client area of the window. |
Implements GHOST_IWindow.
Definition at line 2350 of file GHOST_WindowWayland.cc.
References bounds(), and UNPACK2.
Referenced by getCursorPositionClientRelative_impl(), getWindowBounds(), relative_pointer_handle_relative_motion_impl(), and setWindowCursorGrab().
|
overridevirtual |
Reimplemented from GHOST_Window.
Definition at line 2318 of file GHOST_WindowWayland.cc.
|
overridevirtual |
Return true when a software cursor should be used.
Reimplemented from GHOST_Window.
Definition at line 2266 of file GHOST_WindowWayland.cc.
References GHOST_Window::cursor_grab_.
|
overridevirtual |
Returns the recommended DPI for this window.
Reimplemented from GHOST_Window.
Definition at line 2402 of file GHOST_WindowWayland.cc.
References base_dpi, and gwl_window_fractional_to_viewport().
|
overridevirtual |
Returns the state of the window (normal, minimized, maximized).
Implements GHOST_IWindow.
Definition at line 2439 of file GHOST_WindowWayland.cc.
References gwl_window_state_get().
|
overridevirtual |
Returns the title displayed in the title bar.
| title | The title displayed in the title bar. |
Implements GHOST_IWindow.
Definition at line 2339 of file GHOST_WindowWayland.cc.
|
overridevirtual |
Returns indication as to whether the window is valid.
Reimplemented from GHOST_Window.
Definition at line 2326 of file GHOST_WindowWayland.cc.
References GHOST_Window::getValid().
Referenced by GHOST_SystemWayland::createWindow().
|
overridevirtual |
Returns the window rectangle dimensions. These are screen coordinates.
| bounds | The bounding rectangle of the window. |
Implements GHOST_IWindow.
Definition at line 2345 of file GHOST_WindowWayland.cc.
References bounds(), and getClientBounds().
|
overridevirtual |
Test if the standard cursor shape is supported by current platform.
Implements GHOST_IWindow.
Definition at line 2189 of file GHOST_WindowWayland.cc.
|
overridevirtual |
Invalidates the contents of this window.
Implements GHOST_IWindow.
Definition at line 2447 of file GHOST_WindowWayland.cc.
References GHOST_kSuccess.
|
overridevirtual |
Reimplemented from GHOST_Window.
Definition at line 2465 of file GHOST_WindowWayland.cc.
| GHOST_TSuccess GHOST_WindowWayland::notify_decor_redraw | ( | ) |
Definition at line 2672 of file GHOST_WindowWayland.cc.
References GHOST_kEventWindowUpdateDecor.
Referenced by activate(), and deactivate().
| GHOST_TSuccess GHOST_WindowWayland::notify_size | ( | ) |
Definition at line 2666 of file GHOST_WindowWayland.cc.
References GHOST_kEventWindowSize.
Referenced by gwl_window_frame_pending_size_set().
| bool GHOST_WindowWayland::outputs_changed_update_scale | ( | ) |
Return true when the windows scale or DPI changes.
Definition at line 2711 of file GHOST_WindowWayland.cc.
References ARRAY_SIZE, FRACTIONAL_DENOMINATOR, gwl_round_int_by(), gwl_window_frame_update_from_pending_no_lock(), gwl_window_pending_actions_tag(), i, libdecor_frame_commit, libdecor_state_free, libdecor_state_new, outputs_get(), outputs_max_scale_or_default(), PENDING_OUTPUT_SCALE_UPDATE, state, UNLIKELY, and UNPACK2.
Referenced by GHOST_WindowWayland(), gwl_window_pending_actions_handle(), and outputs_changed_update_scale_tag().
| void GHOST_WindowWayland::outputs_changed_update_scale_tag | ( | ) |
Definition at line 2699 of file GHOST_WindowWayland.cc.
References gwl_window_pending_actions_tag(), outputs_changed_update_scale(), and PENDING_OUTPUT_SCALE_UPDATE_DEFERRED.
Referenced by GHOST_SystemWayland::output_scale_update(), GHOST_SystemWayland::output_unref(), surface_handle_enter(), surface_handle_leave(), and wp_fractional_scale_handle_preferred_scale().
| bool GHOST_WindowWayland::outputs_enter | ( | GWL_Output * | output | ) |
Definition at line 2868 of file GHOST_WindowWayland.cc.
References output, and outputs.
Referenced by surface_handle_enter().
| const std::vector< GWL_Output * > & GHOST_WindowWayland::outputs_get | ( | ) |
Definition at line 2590 of file GHOST_WindowWayland.cc.
Referenced by GHOST_SystemWayland::output_scale_update(), and outputs_changed_update_scale().
| bool GHOST_WindowWayland::outputs_leave | ( | GWL_Output * | output | ) |
Definition at line 2879 of file GHOST_WindowWayland.cc.
References output, and outputs.
Referenced by GHOST_SystemWayland::output_unref(), and surface_handle_leave().
| void GHOST_WindowWayland::pending_actions_handle | ( | ) |
Definition at line 2892 of file GHOST_WindowWayland.cc.
References GHOST_ASSERT, GWL_Window::ghost_system, gwl_window_pending_actions_handle(), and GHOST_SystemWayland::main_thread_id.
Referenced by GHOST_SystemWayland::processEvents().
| int GHOST_WindowWayland::scale_get | ( | ) | const |
Definition at line 2553 of file GHOST_WindowWayland.cc.
Referenced by setCursorGrab_use_software_confine().
| const GWL_WindowScaleParams & GHOST_WindowWayland::scale_params_get | ( | ) | const |
Definition at line 2558 of file GHOST_WindowWayland.cc.
References GWL_WindowScaleParams::is_fractional, and GWL_WindowScaleParams::scale.
|
overridevirtual |
Converts a point in screen coordinates to client rectangle coordinates
| inX | The x-coordinate on the screen. |
| inY | The y-coordinate on the screen. |
| outX | The x-coordinate in the client rectangle. |
| outY | The y-coordinate in the client rectangle. |
Implements GHOST_IWindow.
Definition at line 2384 of file GHOST_WindowWayland.cc.
|
overridevirtual |
Resizes client rectangle height.
| height | The new height of the client area of the window. |
Implements GHOST_IWindow.
Definition at line 2361 of file GHOST_WindowWayland.cc.
References setClientSize().
|
overridevirtual |
Resizes client rectangle.
| width | The new width of the client area of the window. |
| height | The new height of the client area of the window. |
Implements GHOST_IWindow.
Definition at line 2366 of file GHOST_WindowWayland.cc.
References GWL_WindowFrame::buffer_scale, GHOST_kSuccess, gwl_round_int2_by(), gwl_window_frame_pending_size_set(), and GWL_WindowFrame::size.
Referenced by setClientHeight(), and setClientWidth().
|
overridevirtual |
Resizes client rectangle width.
| width | The new width of the client area of the window. |
Implements GHOST_IWindow.
Definition at line 2356 of file GHOST_WindowWayland.cc.
References setClientSize().
|
overridevirtual |
Sets the order of the window (bottom, top).
| order | The order of the window. |
Implements GHOST_IWindow.
Definition at line 2452 of file GHOST_WindowWayland.cc.
References GHOST_kSuccess, GHOST_kWindowOrderTop, and gwl_window_activate().
|
overridevirtual |
Sets the state of the window (normal, minimized, maximized).
| state | The state of the window. |
Implements GHOST_IWindow.
Definition at line 2431 of file GHOST_WindowWayland.cc.
References GHOST_kFailure, GHOST_kSuccess, gwl_window_state_set(), and state.
|
overridevirtual |
Sets the title displayed in the title bar.
| title | The title to display in the title bar. |
Implements GHOST_IWindow.
Definition at line 2331 of file GHOST_WindowWayland.cc.
References gwl_window_title_set().
|
overridevirtual |
Sets the cursor grab on the window using native window system calls.
Reimplemented from GHOST_Window.
Definition at line 2194 of file GHOST_WindowWayland.cc.
References bounds(), GHOST_Window::cursor_grab_, GHOST_Window::cursor_grab_axis_, GHOST_Window::cursor_grab_init_pos_, getClientBounds(), GHOST_Window::getCursorGrabBounds(), GHOST_kFailure, GHOST_kGrabWrap, and GHOST_kSuccess.
|
overridevirtual |
Implements GHOST_Window.
Definition at line 2222 of file GHOST_WindowWayland.cc.
References GHOST_Window::cursor_shape_, GHOST_kFailure, GHOST_kStandardCursorDefault, GHOST_kSuccess, GHOST_WindowWayland(), gwl_window_cursor_custom_clear(), wl_display, wl_display_dispatch_pending, and wl_display_flush.
|
overridevirtual |
Sets the cursor visibility on the window using native window system calls.
Implements GHOST_Window.
Definition at line 2414 of file GHOST_WindowWayland.cc.
References GHOST_kSuccess, wl_display, wl_display_dispatch_pending, and wl_display_flush.
|
overridevirtual |
Reimplemented from GHOST_Window.
Definition at line 2274 of file GHOST_WindowWayland.cc.
References GHOST_Window::cursor_shape_, cursor_shape_refresh(), GHOST_kStandardCursorCustom, GHOST_kSuccess, gwl_window_cursor_custom_free(), wl_display, wl_display_dispatch_pending, and wl_display_flush.
|
overridevirtual |
Implements GHOST_Window.
Definition at line 2301 of file GHOST_WindowWayland.cc.
References GHOST_ASSERT, GHOST_kFailure, mask(), and size().
|
overridevirtual |
Reimplemented from GHOST_Window.
Definition at line 2182 of file GHOST_WindowWayland.cc.
References GHOST_ASSERT, and GHOST_Window::swapBufferRelease().
| wl_fixed_t GHOST_WindowWayland::wl_fixed_from_window | ( | wl_fixed_t | value | ) | const |
Definition at line 2569 of file GHOST_WindowWayland.cc.
References gwl_window_fractional_from_viewport().
Referenced by getCursorPositionClientRelative_impl(), relative_pointer_handle_relative_motion(), relative_pointer_handle_relative_motion_impl(), and setCursorPositionClientRelative_impl().
| wl_fixed_t GHOST_WindowWayland::wl_fixed_to_window | ( | wl_fixed_t | value | ) | const |
Definition at line 2577 of file GHOST_WindowWayland.cc.
References gwl_window_fractional_to_viewport().
Referenced by getCursorPositionClientRelative_impl().
| wl_surface * GHOST_WindowWayland::wl_surface_get | ( | ) | const |
Definition at line 2585 of file GHOST_WindowWayland.cc.
References wl_surface.
Referenced by gwl_window_activate().