#[macro_export]
macro_rules! for_each_builtin_structs {
($macro:ident) => {
$macro![
#[derive(Copy, Eq)]
struct KeyboardModifiers {
@name = "slint::private_api::KeyboardModifiers"
export {
alt: bool,
control: bool,
shift: bool,
meta: bool,
}
private {
}
}
struct PointerEvent {
@name = "slint::private_api::PointerEvent"
export {
button: PointerEventButton,
kind: PointerEventKind,
modifiers: KeyboardModifiers,
}
private {
}
}
struct KeyEvent {
@name = "slint::private_api::KeyEvent"
export {
text: SharedString,
modifiers: KeyboardModifiers,
}
private {
event_type: KeyEventType,
preedit_selection_start: usize,
preedit_selection_end: usize,
}
}
#[non_exhaustive]
struct StandardListViewItem {
@name = "slint::StandardListViewItem"
export {
text: SharedString,
}
private {
}
}
#[non_exhaustive]
struct TableColumn {
@name = "TableColumn"
export {
title: SharedString,
min_width: Coord,
horizontal_stretch: f32,
sort_order: SortOrder,
width: Coord,
}
private {
}
}
struct StateInfo {
@name = "slint::private_api::StateInfo"
export {
current_state: i32,
previous_state: i32,
}
private {
change_time: crate::animations::Instant,
}
}
];
};
}