use objc_id::ShareId;
use objc::runtime::Object;
#[derive(Debug)]
pub struct ViewHandle<T> {
pub objc: ShareId<Object>,
_t: std::marker::PhantomData<T>
pub top: LayoutAnchorY,
pub leading: LayoutAnchorX,
pub trailing: LayoutAnchorX,
pub bottom: LayoutAnchorY,
pub width: LayoutAnchorDimension,
pub height: LayoutAnchorDimension,
pub center_x: LayoutAnchorX,
pub center_y: LayoutAnchorY
}
impl<T> TextControl for ViewHandle<T>
where
T:
impl<T> Layout for ViewHandle<T> {
fn get_backing_node(&self) -> ShareId<Object> {
self.objc.clone()
}
fn add_subview<V: Layout>(&self, view: &V) {
let backing_node = view.get_backing_node();
unsafe {
let _: () = msg_send![&*self.objc, addSubview:backing_node];
}
}
}