mirror of
https://github.com/danbulant/cushy
synced 2026-06-13 19:42:39 +00:00
Updating Kludgine/Refactoring close
This commit is contained in:
parent
f96a5d2055
commit
2ed140a0fe
2 changed files with 23 additions and 30 deletions
30
Cargo.lock
generated
30
Cargo.lock
generated
|
|
@ -562,9 +562,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "bytemuck_derive"
|
||||
version = "1.7.1"
|
||||
version = "1.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26"
|
||||
checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
|
@ -1160,9 +1160,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "figures"
|
||||
version = "0.4.0"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "03202a3576f662d11a8fe13ce5677c80b4fa2e8366ee77dfe42a187e2e23428e"
|
||||
checksum = "097ad6ec659462a9d6efea9af358a9564e52d76981aa9d73343ab3c566d083c0"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"euclid",
|
||||
|
|
@ -1199,9 +1199,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "font-types"
|
||||
version = "0.6.0"
|
||||
version = "0.7.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8f0189ccb084f77c5523e08288d418cbaa09c451a08515678a0aa265df9a8b60"
|
||||
checksum = "dda6e36206148f69fc6ecb1bb6c0dedd7ee469f3db1d0dc2045beea28430ca43"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
]
|
||||
|
|
@ -1729,7 +1729,7 @@ checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc"
|
|||
[[package]]
|
||||
name = "kludgine"
|
||||
version = "0.11.0"
|
||||
source = "git+https://github.com/khonsulabs/kludgine#3ce7d43f8870a3455f46ab2c2fba997ca36a1f60"
|
||||
source = "git+https://github.com/khonsulabs/kludgine#0df62c716c13a93ee249b79d9c831933d0d49d99"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"alot",
|
||||
|
|
@ -2705,9 +2705,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "proc-macro2"
|
||||
version = "1.0.86"
|
||||
version = "1.0.87"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
|
||||
checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
|
@ -2905,9 +2905,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "read-fonts"
|
||||
version = "0.20.0"
|
||||
version = "0.22.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8c141b9980e1150201b2a3a32879001c8f975fe313ec3df5471a9b5c79a880cd"
|
||||
checksum = "fb94d9ac780fdcf9b6b252253f7d8f221379b84bd3573131139b383df69f85e1"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"font-types",
|
||||
|
|
@ -3204,9 +3204,9 @@ checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
|
|||
|
||||
[[package]]
|
||||
name = "skrifa"
|
||||
version = "0.20.0"
|
||||
version = "0.22.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "abea4738067b1e628c6ce28b2c216c19e9ea95715cdb332680e821c3bec2ef23"
|
||||
checksum = "8e1c44ad1f6c5bdd4eefed8326711b7dbda9ea45dfd36068c427d332aa382cbe"
|
||||
dependencies = [
|
||||
"bytemuck",
|
||||
"read-fonts",
|
||||
|
|
@ -3308,9 +3308,9 @@ checksum = "20e16a0f46cf5fd675563ef54f26e83e20f2366bcf027bcb3cc3ed2b98aaf2ca"
|
|||
|
||||
[[package]]
|
||||
name = "swash"
|
||||
version = "0.1.18"
|
||||
version = "0.1.19"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "93cdc334a50fcc2aa3f04761af3b28196280a6aaadb1ef11215c478ae32615ac"
|
||||
checksum = "cbd59f3f359ddd2c95af4758c18270eddd9c730dde98598023cdabff472c2ca2"
|
||||
dependencies = [
|
||||
"skrifa",
|
||||
"yazi",
|
||||
|
|
|
|||
|
|
@ -1335,7 +1335,6 @@ struct OpenWindow<T> {
|
|||
tree: Tree,
|
||||
root: MountedWidget,
|
||||
contents: Drawing,
|
||||
should_close: bool,
|
||||
cursor: CursorState,
|
||||
mouse_buttons: AHashMap<DeviceId, AHashMap<MouseButton, WidgetId>>,
|
||||
redraw_status: InvalidationStatus,
|
||||
|
|
@ -1385,17 +1384,14 @@ where
|
|||
T: WindowBehavior,
|
||||
{
|
||||
fn request_close(
|
||||
should_close: &mut bool,
|
||||
behavior: &mut T,
|
||||
window: &mut RunningWindow<kludgine::app::Window<'_, WindowCommand>>,
|
||||
) -> bool {
|
||||
*should_close |= behavior.close_requested(window)
|
||||
behavior.close_requested(window)
|
||||
&& window
|
||||
.close_requested
|
||||
.as_ref()
|
||||
.map_or(true, |close| close.invoke(()));
|
||||
|
||||
*should_close
|
||||
.map_or(true, |close| close.invoke(()))
|
||||
}
|
||||
|
||||
fn keyboard_activate_widget<W>(
|
||||
|
|
@ -1622,7 +1618,7 @@ where
|
|||
&& input.state.is_pressed()
|
||||
&& self.behavior.close_requested(window)
|
||||
{
|
||||
self.should_close = true;
|
||||
window.close();
|
||||
window.set_needs_redraw();
|
||||
}
|
||||
HANDLED
|
||||
|
|
@ -1773,7 +1769,6 @@ where
|
|||
root,
|
||||
tree,
|
||||
contents: Drawing::default(),
|
||||
should_close: false,
|
||||
cursor: CursorState {
|
||||
location: None,
|
||||
widget: None,
|
||||
|
|
@ -1970,7 +1965,7 @@ where
|
|||
{
|
||||
let cushy = self.app.cushy().clone();
|
||||
let _guard = cushy.enter_runtime();
|
||||
if self.behavior.close_requested(&mut RunningWindow::new(
|
||||
let mut window = RunningWindow::new(
|
||||
window,
|
||||
kludgine.id(),
|
||||
&self.redraw_status,
|
||||
|
|
@ -1979,8 +1974,9 @@ where
|
|||
&self.occluded,
|
||||
self.inner_size.source(),
|
||||
&self.close_requested,
|
||||
)) {
|
||||
self.should_close = true;
|
||||
);
|
||||
if self.behavior.close_requested(&mut window) {
|
||||
window.close();
|
||||
true
|
||||
} else {
|
||||
false
|
||||
|
|
@ -2598,10 +2594,8 @@ where
|
|||
&'pass mut self,
|
||||
_window: kludgine::app::Window<'_, WindowCommand>,
|
||||
graphics: &mut kludgine::RenderingGraphics<'_, 'pass>,
|
||||
) -> bool {
|
||||
) {
|
||||
self.contents.render(1., graphics);
|
||||
|
||||
!self.should_close
|
||||
}
|
||||
|
||||
fn initial_window_attributes(context: &Self::Context) -> kludgine::app::WindowAttributes {
|
||||
|
|
@ -2628,7 +2622,6 @@ where
|
|||
let cushy = self.app.cushy().clone();
|
||||
let _guard = cushy.enter_runtime();
|
||||
Self::request_close(
|
||||
&mut self.should_close,
|
||||
&mut self.behavior,
|
||||
&mut RunningWindow::new(
|
||||
window,
|
||||
|
|
|
|||
Loading…
Reference in a new issue