Fix windows and ios modules

This commit is contained in:
Héctor Ramón Jiménez 2020-03-12 07:15:06 +01:00
parent 5849b06b9c
commit ae0833e3d2
2 changed files with 10 additions and 8 deletions

View file

@ -6,7 +6,7 @@ use std::error::Error;
pub fn new_clipboard<W: HasRawWindowHandle>( pub fn new_clipboard<W: HasRawWindowHandle>(
_window: &W, _window: &W,
) -> Result<Box<dyn ClipboardProvider>, Box<dyn Error>> { ) -> Result<Box<dyn ClipboardProvider>, Box<dyn Error>> {
Ok(Box::new(clipboard_ios::Clipboard::new()?)) Ok(Box::new(Clipboard::new()?))
} }
pub struct Clipboard; pub struct Clipboard;
@ -31,8 +31,8 @@ impl std::fmt::Display for iOSClipboardError {
impl Error for iOSClipboardError {} impl Error for iOSClipboardError {}
impl ClipboardProvider for clipboard_ios::Clipboard { impl ClipboardProvider for Clipboard {
fn read(&self) -> Result<String, Box<dyn Error>> { fn read(&self) -> Result<String, Box<dyn Error>> {
Err(Box::new(clipboard_ios::iOSClipboardError::Unimplemented)) Err(Box::new(iOSClipboardError::Unimplemented))
} }
} }

View file

@ -1,18 +1,20 @@
use crate::ClipboardProvider; use crate::ClipboardProvider;
use clipboard_win::get_clipboard_string;
use raw_window_handle::HasRawWindowHandle; use raw_window_handle::HasRawWindowHandle;
use clipboard_win::{get_clipboard_string, set_clipboard_string};
use std::error::Error; use std::error::Error;
pub fn new_clipboard<W: HasRawWindowHandle>( pub fn new_clipboard<W: HasRawWindowHandle>(
_window: &W, _window: &W,
) -> Result<Box<dyn ClipboardProvider>, Box<dyn Error>> { ) -> Result<Box<dyn ClipboardProvider>, Box<dyn Error>> {
Ok(Box::new(clipboard_windows::Clipboard::new()?)) Ok(Box::new(Clipboard))
} }
impl ClipboardProvider for clipboard_windows::Clipboard { pub struct Clipboard;
fn fn read(&self) -> Result<String, Box<dyn Error>> {
impl ClipboardProvider for Clipboard {
fn read(&self) -> Result<String, Box<dyn Error>> {
Ok(get_clipboard_string()?) Ok(get_clipboard_string()?)
} }
} }