pub use crate::prelude::*;
use fltk_sys::widget::*;
#[derive(Debug)]
pub struct Widget {
_inner: *mut Fl_Widget,
}
impl<W: WidgetExt> From<W> for Widget {
fn from(s: W) -> Self {
let widg: *mut Fl_Widget = s.as_widget_ptr();
Widget { _inner: widg }
}
}
impl Widget {
pub unsafe fn from_raw(ptr: *mut Fl_Widget) -> Self {
assert!(!ptr.is_null());
Widget { _inner: ptr }
}
pub fn as_ptr(&self) -> *mut Fl_Widget {
self._inner
}
pub fn into<W: WidgetExt>(self) -> W {
unsafe { W::from_widget_ptr(self._inner) }
}
}