pub struct BorrowedWindow<'a>(/* private fields */);Available on crate feature
winio only.Expand description
Raw window handle.
Implementations§
Source§impl<'a> BorrowedWindow<'a>
impl<'a> BorrowedWindow<'a>
Sourcepub unsafe fn win32(hwnd: *mut c_void) -> BorrowedWindow<'a>
Available on Windows and crate feature win32 only.
pub unsafe fn win32(hwnd: *mut c_void) -> BorrowedWindow<'a>
win32 only.Create from Win32 HWND.
§Safety
- The caller must ensure that
hwndis a valid handle for the lifetime'a. hwndmust not be null.
Examples found in repository?
examples/test/widgets.rs (line 221)
176 async fn update(
177 &mut self,
178 message: Self::Message,
179 sender: &ComponentSender<Self>,
180 ) -> Result<bool, Self::Error> {
181 // futures_util::future::join(self.window.update(), self.canvas.update()).await;
182 Ok(match message {
183 MainMessage::Noop => false,
184 MainMessage::PasswordCheck => {
185 self.pentry.set_password(!self.pcheck.is_checked()?);
186 true
187 }
188 MainMessage::List(e) => {
189 self.pop_button.set_enabled(!self.list.is_empty());
190 self.combo
191 .emit(ComboBoxMessage::from_observable_vec_event(e))
192 .await?
193 }
194 MainMessage::Select => {
195 self.index = self.combo.selection()?;
196 false
197 }
198 MainMessage::Push => {
199 self.list.push(self.radio_group[self.rindex].text()?);
200 false
201 }
202 MainMessage::Pop => {
203 self.list.pop();
204 false
205 }
206 MainMessage::RSelect(i) => {
207 self.rindex = i;
208 false
209 }
210 MainMessage::Show => {
211 MessageBox::new()
212 .title("Show selected item")
213 .message(
214 self.index
215 .and_then(|index| self.list.get(index))
216 .map(|s| s.as_str())
217 .unwrap_or("No selection."),
218 )
219 .buttons(MessageBoxButton::Ok)
220 // https://github.com/compio-rs/winio/issues/105
221 .show(unsafe { BorrowedWindow::win32(self.window.as_container().as_win32()) })
222 .await;
223 false
224 }
225 MainMessage::OptionsPage(m) => {
226 tracing::debug!(?m, "Options page message");
227 match m {
228 OptionsPageMessage::Redraw => true,
229 OptionsPageMessage::Close => {
230 sender.output(());
231 false
232 }
233 OptionsPageMessage::Save(config, tx) => {
234 config.s = self.mltext.text()?;
235 tx.send(config).unwrap();
236 false
237 }
238 }
239 }
240 })
241 }Trait Implementations§
Source§impl AsWindow for BorrowedWindow<'_>
impl AsWindow for BorrowedWindow<'_>
Source§fn as_window(&self) -> BorrowedWindow<'_>
fn as_window(&self) -> BorrowedWindow<'_>
Get the window handle.
Source§impl<'a> Clone for BorrowedWindow<'a>
impl<'a> Clone for BorrowedWindow<'a>
Source§fn clone(&self) -> BorrowedWindow<'a>
fn clone(&self) -> BorrowedWindow<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a, T> From<&'a T> for BorrowedWindow<'a>
impl<'a, T> From<&'a T> for BorrowedWindow<'a>
Source§fn from(value: &'a T) -> BorrowedWindow<'a>
fn from(value: &'a T) -> BorrowedWindow<'a>
Converts to this type from the input type.
impl<'a> Copy for BorrowedWindow<'a>
Auto Trait Implementations§
impl<'a> Freeze for BorrowedWindow<'a>
impl<'a> RefUnwindSafe for BorrowedWindow<'a>
impl<'a> !Send for BorrowedWindow<'a>
impl<'a> !Sync for BorrowedWindow<'a>
impl<'a> Unpin for BorrowedWindow<'a>
impl<'a> UnsafeUnpin for BorrowedWindow<'a>
impl<'a> UnwindSafe for BorrowedWindow<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more