Remove dyn dispatch
This commit is contained in:
parent
79c7b23bed
commit
5b82ae6266
1 changed files with 5 additions and 5 deletions
|
@ -55,13 +55,13 @@ pub trait Object: Container {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_object_align(
|
fn set_object_align<C>(
|
||||||
&mut self,
|
&mut self,
|
||||||
base: &mut dyn Container,
|
base: &mut C,
|
||||||
align: ObjectAlign,
|
align: ObjectAlign,
|
||||||
x_mod: i32,
|
x_mod: i32,
|
||||||
y_mod: i32,
|
y_mod: i32,
|
||||||
) {
|
) where C: Container {
|
||||||
let align = match align {
|
let align = match align {
|
||||||
ObjectAlign::Center => lvgl_sys::LV_ALIGN_CENTER,
|
ObjectAlign::Center => lvgl_sys::LV_ALIGN_CENTER,
|
||||||
ObjectAlign::InTopLeft => lvgl_sys::LV_ALIGN_IN_TOP_LEFT,
|
ObjectAlign::InTopLeft => lvgl_sys::LV_ALIGN_IN_TOP_LEFT,
|
||||||
|
@ -126,7 +126,7 @@ pub struct Button {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Button {
|
impl Button {
|
||||||
pub fn new(parent: &mut dyn Container) -> Self {
|
pub fn new<C>(parent: &mut C) -> Self where C: Container {
|
||||||
let raw = unsafe {
|
let raw = unsafe {
|
||||||
let ptr = lvgl_sys::lv_btn_create(parent.raw().as_mut(), ptr::null_mut());
|
let ptr = lvgl_sys::lv_btn_create(parent.raw().as_mut(), ptr::null_mut());
|
||||||
ptr::NonNull::new_unchecked(ptr)
|
ptr::NonNull::new_unchecked(ptr)
|
||||||
|
@ -156,7 +156,7 @@ pub struct Label {
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Label {
|
impl Label {
|
||||||
pub fn new(parent: &mut dyn Container) -> Self {
|
pub fn new<C>(parent: &mut C) -> Self where C: Container {
|
||||||
let raw = unsafe {
|
let raw = unsafe {
|
||||||
let ptr = lvgl_sys::lv_label_create(parent.raw().as_mut(), ptr::null_mut());
|
let ptr = lvgl_sys::lv_label_create(parent.raw().as_mut(), ptr::null_mut());
|
||||||
ptr::NonNull::new_unchecked(ptr)
|
ptr::NonNull::new_unchecked(ptr)
|
||||||
|
|
Loading…
Reference in a new issue