parent
46989438c1
commit
c7e3d01e2b
|
|
@ -20,7 +20,7 @@ use crate::messages::portfolio::document::utility_types::document_metadata::{Doc
|
||||||
use crate::messages::portfolio::document::utility_types::misc::{AlignAggregate, AlignAxis, FlipAxis, PTZ};
|
use crate::messages::portfolio::document::utility_types::misc::{AlignAggregate, AlignAxis, FlipAxis, PTZ};
|
||||||
use crate::messages::portfolio::document::utility_types::network_interface::{FlowType, InputConnector, NodeTemplate};
|
use crate::messages::portfolio::document::utility_types::network_interface::{FlowType, InputConnector, NodeTemplate};
|
||||||
use crate::messages::portfolio::document::utility_types::nodes::RawBuffer;
|
use crate::messages::portfolio::document::utility_types::nodes::RawBuffer;
|
||||||
use crate::messages::portfolio::utility_types::{FontCatalog, PanelType, PersistentData};
|
use crate::messages::portfolio::utility_types::{PanelType, PersistentData};
|
||||||
use crate::messages::prelude::*;
|
use crate::messages::prelude::*;
|
||||||
use crate::messages::tool::common_functionality::graph_modification_utils::{self, get_blend_mode, get_fill, get_opacity};
|
use crate::messages::tool::common_functionality::graph_modification_utils::{self, get_blend_mode, get_fill, get_opacity};
|
||||||
use crate::messages::tool::tool_messages::select_tool::SelectToolPointerKeys;
|
use crate::messages::tool::tool_messages::select_tool::SelectToolPointerKeys;
|
||||||
|
|
@ -36,7 +36,6 @@ use graphene_std::raster::BlendMode;
|
||||||
use graphene_std::raster_types::Raster;
|
use graphene_std::raster_types::Raster;
|
||||||
use graphene_std::subpath::Subpath;
|
use graphene_std::subpath::Subpath;
|
||||||
use graphene_std::table::Table;
|
use graphene_std::table::Table;
|
||||||
use graphene_std::text::Font;
|
|
||||||
use graphene_std::vector::PointId;
|
use graphene_std::vector::PointId;
|
||||||
use graphene_std::vector::click_target::{ClickTarget, ClickTargetType};
|
use graphene_std::vector::click_target::{ClickTarget, ClickTargetType};
|
||||||
use graphene_std::vector::misc::{dvec2_to_point, point_to_dvec2};
|
use graphene_std::vector::misc::{dvec2_to_point, point_to_dvec2};
|
||||||
|
|
@ -2175,7 +2174,7 @@ impl DocumentMessageHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Loads all of the fonts in the document.
|
/// Loads all of the fonts in the document.
|
||||||
pub fn load_layer_resources(&self, responses: &mut VecDeque<Message>, font_catalog: &FontCatalog) {
|
pub fn load_layer_resources(&self, responses: &mut VecDeque<Message>) {
|
||||||
let mut fonts_to_load = HashSet::new();
|
let mut fonts_to_load = HashSet::new();
|
||||||
|
|
||||||
for (_, node, _) in self.document_network().recursive_nodes() {
|
for (_, node, _) in self.document_network().recursive_nodes() {
|
||||||
|
|
@ -2187,12 +2186,7 @@ impl DocumentMessageHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
for font in fonts_to_load {
|
for font in fonts_to_load {
|
||||||
if let Some(style) = font_catalog.find_font_style_in_catalog(&font) {
|
responses.add(PortfolioMessage::LoadFontData { font });
|
||||||
responses.add_front(FrontendMessage::TriggerFontDataLoad {
|
|
||||||
font: Font::new(font.font_family, style.to_named_style()),
|
|
||||||
url: style.url,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -434,11 +434,12 @@ impl MessageHandler<PortfolioMessage, PortfolioMessageContext<'_>> for Portfolio
|
||||||
let catalog = &self.persistent_data.font_catalog;
|
let catalog = &self.persistent_data.font_catalog;
|
||||||
|
|
||||||
if catalog.0.is_empty() {
|
if catalog.0.is_empty() {
|
||||||
log::error!("Tried to load document resources before font catalog was loaded");
|
responses.add_front(FrontendMessage::TriggerFontCatalogLoad);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(document) = self.documents.get_mut(&document_id) {
|
if let Some(document) = self.documents.get_mut(&document_id) {
|
||||||
document.load_layer_resources(responses, catalog);
|
document.load_layer_resources(responses);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
PortfolioMessage::NewDocumentWithName { name } => {
|
PortfolioMessage::NewDocumentWithName { name } => {
|
||||||
|
|
@ -741,7 +742,7 @@ impl MessageHandler<PortfolioMessage, PortfolioMessageContext<'_>> for Portfolio
|
||||||
added_nodes = true;
|
added_nodes = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
document.load_layer_resources(responses, &self.persistent_data.font_catalog);
|
document.load_layer_resources(responses);
|
||||||
let new_ids: HashMap<_, _> = entry.nodes.iter().map(|(id, _)| (*id, NodeId::new())).collect();
|
let new_ids: HashMap<_, _> = entry.nodes.iter().map(|(id, _)| (*id, NodeId::new())).collect();
|
||||||
let layer = LayerNodeIdentifier::new_unchecked(new_ids[&NodeId(0)]);
|
let layer = LayerNodeIdentifier::new_unchecked(new_ids[&NodeId(0)]);
|
||||||
all_new_ids.extend(new_ids.values().cloned());
|
all_new_ids.extend(new_ids.values().cloned());
|
||||||
|
|
@ -1106,9 +1107,7 @@ impl MessageHandler<PortfolioMessage, PortfolioMessageContext<'_>> for Portfolio
|
||||||
};
|
};
|
||||||
if !document.is_loaded {
|
if !document.is_loaded {
|
||||||
document.is_loaded = true;
|
document.is_loaded = true;
|
||||||
if self.persistent_data.font_catalog.0.is_empty() {
|
responses.add(PortfolioMessage::LoadDocumentResources { document_id });
|
||||||
responses.add_front(FrontendMessage::TriggerFontCatalogLoad);
|
|
||||||
}
|
|
||||||
responses.add(PortfolioMessage::UpdateDocumentWidgets);
|
responses.add(PortfolioMessage::UpdateDocumentWidgets);
|
||||||
responses.add(PropertiesPanelMessage::Clear);
|
responses.add(PropertiesPanelMessage::Clear);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue