From 5dd795d463c0ca6c02f9cc7d60cc9d3adb0b1324 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Thu, 14 Mar 2024 13:30:50 -0400 Subject: [PATCH] refactor: add type that hides the platform clipboard --- examples/big_file.rs | 6 +++--- examples/read.rs | 6 +++--- examples/write.rs | 6 +++--- src/lib.rs | 10 ++++++---- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/examples/big_file.rs b/examples/big_file.rs index f666812..8be0fa2 100644 --- a/examples/big_file.rs +++ b/examples/big_file.rs @@ -1,5 +1,5 @@ use rand::distributions::{Alphanumeric, Distribution}; -use window_clipboard::Clipboard; +use window_clipboard::PlatformClipboard; use winit::{ error::EventLoopError, event::{ElementState, Event, KeyEvent, WindowEvent}, @@ -24,8 +24,8 @@ fn main() -> Result<(), EventLoopError> { .build(&event_loop) .unwrap(); - let mut clipboard = - unsafe { Clipboard::connect(&window) }.expect("Connect to clipboard"); + let mut clipboard = unsafe { PlatformClipboard::connect(&window) } + .expect("Connect to clipboard"); clipboard.write(data.clone()).unwrap(); diff --git a/examples/read.rs b/examples/read.rs index ddbaf8b..8407133 100644 --- a/examples/read.rs +++ b/examples/read.rs @@ -1,4 +1,4 @@ -use window_clipboard::Clipboard; +use window_clipboard::PlatformClipboard; use winit::{ error::EventLoopError, event::{Event, WindowEvent}, @@ -14,8 +14,8 @@ fn main() -> Result<(), EventLoopError> { .build(&event_loop) .unwrap(); - let clipboard = - unsafe { Clipboard::connect(&window) }.expect("Connect to clipboard"); + let clipboard = unsafe { PlatformClipboard::connect(&window) } + .expect("Connect to clipboard"); event_loop.run(move |event, elwt| match event { Event::AboutToWait => { diff --git a/examples/write.rs b/examples/write.rs index 40e6263..49dc505 100644 --- a/examples/write.rs +++ b/examples/write.rs @@ -1,4 +1,4 @@ -use window_clipboard::Clipboard; +use window_clipboard::PlatformClipboard; use winit::{ error::EventLoopError, event::{Event, WindowEvent}, @@ -14,8 +14,8 @@ fn main() -> Result<(), EventLoopError> { .build(&event_loop) .unwrap(); - let mut clipboard = - unsafe { Clipboard::connect(&window) }.expect("Connect to clipboard"); + let mut clipboard = unsafe { PlatformClipboard::connect(&window) } + .expect("Connect to clipboard"); clipboard .write(String::from("Hello, world!")) diff --git a/src/lib.rs b/src/lib.rs index af880a0..f574198 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -52,16 +52,18 @@ use mime::{ClipboardLoadData, ClipboardStoreData}; use raw_window_handle::HasDisplayHandle; use std::error::Error; -pub struct Clipboard { +pub type Clipboard = PlatformClipboard; + +pub struct PlatformClipboard { raw: C, } -impl Clipboard { +impl PlatformClipboard { /// Safety: the display handle must be valid for the lifetime of `Clipboard` pub unsafe fn connect( window: &W, ) -> Result> { - Ok(Clipboard { + Ok(PlatformClipboard { raw: platform::connect(window)?, }) } @@ -75,7 +77,7 @@ impl Clipboard { } } -impl Clipboard { +impl PlatformClipboard { pub fn read_primary(&self) -> Option>> { self.raw.read_primary() }