This commit is contained in:
Nathan Sobo
2023-04-21 15:36:52 -06:00
parent 55db28e074
commit 83bf3d071d
2 changed files with 73 additions and 16 deletions
+15 -5
View File
@@ -13,11 +13,11 @@ use crate::{
},
text_layout::TextLayoutCache,
util::post_inc,
Action, AnyModelHandle, AnyView, AnyViewHandle, AnyWeakModelHandle, AnyWeakViewHandle,
AppContext, Effect, Element, Entity, Handle, ModelContext, ModelHandle, MouseRegion,
MouseRegionId, ParentId, SceneBuilder, Subscription, UpdateModel, UpdateView,
UpgradeModelHandle, UpgradeViewHandle, View, ViewContext, ViewHandle, WeakModelHandle,
WeakViewHandle, WindowInvalidation,
AccessAppContext, Action, AnyModelHandle, AnyView, AnyViewHandle, AnyWeakModelHandle,
AnyWeakViewHandle, AppContext, Effect, Element, Entity, Handle, ModelContext, ModelHandle,
MouseRegion, MouseRegionId, ParentId, SceneBuilder, Subscription, UpdateModel, UpdateView,
UpgradeModelHandle, View, ViewContext, ViewHandle, WeakModelHandle, WeakViewHandle,
WindowInvalidation,
};
use anyhow::{anyhow, bail, Result};
use collections::{HashMap, HashSet};
@@ -133,6 +133,16 @@ impl DerefMut for WindowContext<'_> {
}
}
impl AccessAppContext for WindowContext<'_> {
fn read<T, F: FnOnce(&AppContext) -> T>(&self, f: F) -> T {
self.app_context.read(f)
}
fn update<T, F: FnOnce(&mut AppContext) -> T>(&mut self, f: F) -> T {
self.app_context.update(f)
}
}
impl UpdateModel for WindowContext<'_> {
fn update_model<T: Entity, R>(
&mut self,