ferroui_base/controls/
resources_changed_event_args.rs1use std::cell::Cell;
2
3#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, Hash)]
9pub struct ResourcesChangedEventArgs {
10 pub sequence_number: i32,
11}
12
13crate::ferro_thread_local! {
14 static LAST_SEQUENCE_NUMBER: Cell<i32> = const { Cell::new(0) };
15}
16
17impl ResourcesChangedEventArgs {
18 pub fn new(sequence_number: i32) -> Self {
19 Self { sequence_number }
20 }
21
22 pub fn create() -> Self {
24 let next = LAST_SEQUENCE_NUMBER.get().wrapping_add(1);
25 LAST_SEQUENCE_NUMBER.set(next);
26 Self { sequence_number: next }
27 }
28}