use crate::WuiLabel;
use crate::action::WuiAction;
use waterui::component::button::{ButtonConfig, ButtonStyle};
into_ffi! {ButtonStyle, non_exhaustive,
pub enum WuiButtonStyle {
Automatic,
Plain,
Link,
Borderless,
Bordered,
BorderedProminent,
}
}
#[repr(C)]
#[derive(Debug)]
pub struct WuiButton {
pub label: WuiLabel,
pub action: *mut WuiAction,
pub style: WuiButtonStyle,
}
impl crate::IntoFFI for ButtonConfig {
type FFI = WuiButton;
fn into_ffi(self) -> Self::FFI {
WuiButton {
label: self.label.into_ffi(),
action: self.action.into_ffi(),
style: self.style.into_ffi(),
}
}
}
ffi_view!(ButtonConfig, WuiButton, button);