diff options
| author | 2023-11-24 16:08:03 +0800 | |
|---|---|---|
| committer | 2024-02-03 14:54:59 +0100 | |
| commit | 6e97595d953811fe3f5877e13022c3b5d3b070a6 (patch) | |
| tree | 86a56f68ac6dae948ccc2779defa63f0e6fcd3bf /runtime/src/command | |
| parent | 0b2c9db22868c43e4dd160b66abddce0846991b1 (diff) | |
| download | iced-6e97595d953811fe3f5877e13022c3b5d3b070a6.tar.gz iced-6e97595d953811fe3f5877e13022c3b5d3b070a6.tar.bz2 iced-6e97595d953811fe3f5877e13022c3b5d3b070a6.zip | |
feat: somewhere to place extra actions by platform
I have view iced-sckt forked iced, and add the extra actions. and there
do are some extra actions, like set margin for layer-shell, set lock for
ext-session-shell. I think add an any will be of help maybe
Diffstat (limited to '')
| -rw-r--r-- | runtime/src/command/action.rs | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/runtime/src/command/action.rs b/runtime/src/command/action.rs index cb0936df..d119141b 100644 --- a/runtime/src/command/action.rs +++ b/runtime/src/command/action.rs @@ -5,6 +5,7 @@ use crate::system;  use crate::window;  use iced_futures::MaybeSend; +use std::any::Any;  use std::borrow::Cow;  use std::fmt; @@ -43,6 +44,9 @@ pub enum Action<T> {          /// The message to produce when the font has been loaded.          tagger: Box<dyn Fn(Result<(), font::Error>) -> T>,      }, + +    /// Pass PlatformSpecific action, for some special platform +    PlatformSpecific(Box<dyn Any>)  }  impl<T> Action<T> { @@ -72,6 +76,7 @@ impl<T> Action<T> {                  bytes,                  tagger: Box::new(move |result| f(tagger(result))),              }, +            Self::PlatformSpecific(special) => Action::PlatformSpecific(special)          }      }  } @@ -90,6 +95,7 @@ impl<T> fmt::Debug for Action<T> {              Self::System(action) => write!(f, "Action::System({action:?})"),              Self::Widget(_action) => write!(f, "Action::Widget"),              Self::LoadFont { .. } => write!(f, "Action::LoadFont"), +            Self::PlatformSpecific(_) => write!(f, "Action::PlatformSpecific")          }      }  } | 
