mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-25 17:18:11 +08:00
Introduce network request handler (#4194)
* Impl NetworkMessageHandler * Repalce Frontend fetch like messages with NetworkMessage * Reimpl resource loading with NetworkMessage * Fix wasm * dedublicate resource requests * Embedd font resources created by migration * Fixup * Fix tests * Fix font catalog not loading * Cleanup * Fix layouts not updating when font catalog is loaded * Review * Review * Cleanup
This commit is contained in:
@@ -290,6 +290,10 @@ impl<'a> MessageHandler<ToolMessage, &mut ToolActionMessageContext<'a>> for Text
|
||||
self.options.fill.fill_choice = Some(solid(context.global_tool_data.primary_color));
|
||||
}
|
||||
|
||||
if context.fonts.font_catalog.is_empty() {
|
||||
responses.add_front(FontsMessage::LoadCatalog);
|
||||
}
|
||||
|
||||
let options = match message {
|
||||
ToolMessage::Text(TextToolMessage::UpdateOptions { options }) => options,
|
||||
ToolMessage::Text(TextToolMessage::SelectionChanged) => {
|
||||
@@ -598,14 +602,10 @@ impl TextToolData {
|
||||
|
||||
fn check_click(document: &DocumentMessageHandler, input: &InputPreprocessorMessageHandler, fonts: &FontsMessageHandler, responses: &mut VecDeque<Message>) -> Option<LayerNodeIdentifier> {
|
||||
let mouse = DVec2::new(input.mouse.position.x, input.mouse.position.y);
|
||||
let layers: Vec<LayerNodeIdentifier> = document.metadata().all_layers().filter(|&layer| document.metadata().is_text_layer(layer)).collect();
|
||||
for layer in layers {
|
||||
document.metadata().all_layers().filter(|&layer| document.metadata().is_text_layer(layer)).find(|&layer| {
|
||||
let transformed_quad = document.metadata().transform_to_viewport(layer) * text_bounding_box(layer, document, fonts, responses);
|
||||
if transformed_quad.contains(mouse) {
|
||||
return Some(layer);
|
||||
}
|
||||
}
|
||||
None
|
||||
transformed_quad.contains(mouse)
|
||||
})
|
||||
}
|
||||
|
||||
fn get_snap_candidates(&mut self, document: &DocumentMessageHandler, fonts: &FontsMessageHandler, responses: &mut VecDeque<Message>) {
|
||||
|
||||
Reference in New Issue
Block a user