1
0
mirror of https://github.com/emilk/egui.git synced 2026-08-31 05:40:03 -04:00

Update wgpu to 0.19 (#3824)

* Closes https://github.com/emilk/egui/issues/3675

---------

Co-authored-by: Andreas Reich <r_andreas2@web.de>
Co-authored-by: Mingun <Alexander_Sergey@mail.ru>
This commit is contained in:
Emil Ernerfeldt
2024-01-19 10:14:13 +01:00
committed by GitHub
parent 7733d1d87c
commit b766a48fa7
27 changed files with 578 additions and 344 deletions

View File

@@ -1,4 +1,4 @@
use raw_window_handle::HasRawDisplayHandle;
use raw_window_handle::RawDisplayHandle;
/// Handles interfacing with the OS clipboard.
///
@@ -26,7 +26,7 @@ pub struct Clipboard {
impl Clipboard {
/// Construct a new instance
pub fn new(_display_target: &dyn HasRawDisplayHandle) -> Self {
pub fn new(_raw_display_handle: Option<RawDisplayHandle>) -> Self {
Self {
#[cfg(all(feature = "arboard", not(target_os = "android")))]
arboard: init_arboard(),
@@ -41,7 +41,7 @@ impl Clipboard {
),
feature = "smithay-clipboard"
))]
smithay: init_smithay_clipboard(_display_target),
smithay: init_smithay_clipboard(_raw_display_handle),
clipboard: Default::default(),
}
@@ -135,15 +135,14 @@ fn init_arboard() -> Option<arboard::Clipboard> {
feature = "smithay-clipboard"
))]
fn init_smithay_clipboard(
_display_target: &dyn HasRawDisplayHandle,
raw_display_handle: Option<RawDisplayHandle>,
) -> Option<smithay_clipboard::Clipboard> {
crate::profile_function!();
use raw_window_handle::RawDisplayHandle;
if let RawDisplayHandle::Wayland(display) = _display_target.raw_display_handle() {
if let Some(RawDisplayHandle::Wayland(display)) = raw_display_handle {
log::debug!("Initializing smithay clipboard…");
#[allow(unsafe_code)]
Some(unsafe { smithay_clipboard::Clipboard::new(display.display) })
Some(unsafe { smithay_clipboard::Clipboard::new(display.display.as_ptr()) })
} else {
#[cfg(feature = "wayland")]
log::debug!("Cannot init smithay clipboard without a Wayland display handle");

View File

@@ -22,7 +22,7 @@ mod window_settings;
pub use window_settings::WindowSettings;
use raw_window_handle::HasRawDisplayHandle;
use raw_window_handle::HasDisplayHandle;
#[allow(unused_imports)]
pub(crate) use profiling_scopes::*;
@@ -106,7 +106,7 @@ impl State {
pub fn new(
egui_ctx: egui::Context,
viewport_id: ViewportId,
display_target: &dyn HasRawDisplayHandle,
display_target: &dyn HasDisplayHandle,
native_pixels_per_point: Option<f32>,
max_texture_side: Option<usize>,
) -> Self {
@@ -126,7 +126,9 @@ impl State {
any_pointer_button_down: false,
current_cursor_icon: None,
clipboard: clipboard::Clipboard::new(display_target),
clipboard: clipboard::Clipboard::new(
display_target.display_handle().ok().map(|h| h.as_raw()),
),
simulate_touch_screen: false,
pointer_touch_id: None,