mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-10-01 13:38:11 +08:00
Fix text tool
This commit is contained in:
@@ -393,12 +393,24 @@ impl TextToolData {
|
|||||||
Fill::None
|
Fill::None
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
responses.add(GraphOperationMessage::TransformSet {
|
|
||||||
layer: self.layer,
|
responses.add(DeferMessage::AfterGraphRun {
|
||||||
transform: editing_text.transform,
|
messages: vec![
|
||||||
transform_in: TransformIn::Viewport,
|
GraphOperationMessage::TransformSet {
|
||||||
skip_rerender: true,
|
layer: self.layer,
|
||||||
|
transform: editing_text.transform,
|
||||||
|
transform_in: TransformIn::Viewport,
|
||||||
|
skip_rerender: true,
|
||||||
|
}
|
||||||
|
.into(),
|
||||||
|
DeferMessage::AfterGraphRun {
|
||||||
|
messages: vec![OverlaysMessage::Draw.into()],
|
||||||
|
}
|
||||||
|
.into(),
|
||||||
|
NodeGraphMessage::RunDocumentGraph.into(),
|
||||||
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
self.editing_text = Some(editing_text);
|
self.editing_text = Some(editing_text);
|
||||||
|
|
||||||
self.set_editing(true, font_cache, responses);
|
self.set_editing(true, font_cache, responses);
|
||||||
@@ -475,9 +487,9 @@ impl Fsm for TextToolFsmState {
|
|||||||
let ToolMessage::Text(event) = event else { return self };
|
let ToolMessage::Text(event) = event else { return self };
|
||||||
match (self, event) {
|
match (self, event) {
|
||||||
(TextToolFsmState::Editing, TextToolMessage::Overlays(mut overlay_context)) => {
|
(TextToolFsmState::Editing, TextToolMessage::Overlays(mut overlay_context)) => {
|
||||||
responses.add(FrontendMessage::DisplayEditableTextboxTransform {
|
let t = document.metadata().transform_to_viewport(tool_data.layer);
|
||||||
transform: document.metadata().transform_to_viewport(tool_data.layer).to_cols_array(),
|
warn!("Set transform {t}");
|
||||||
});
|
responses.add(FrontendMessage::DisplayEditableTextboxTransform { transform: t.to_cols_array() });
|
||||||
if let Some(editing_text) = tool_data.editing_text.as_mut() {
|
if let Some(editing_text) = tool_data.editing_text.as_mut() {
|
||||||
let font_data = font_cache.get(&editing_text.font).map(|data| load_font(data));
|
let font_data = font_cache.get(&editing_text.font).map(|data| load_font(data));
|
||||||
let far = graphene_std::text::bounding_box(&tool_data.new_text, font_data, editing_text.typesetting, false);
|
let far = graphene_std::text::bounding_box(&tool_data.new_text, font_data, editing_text.typesetting, false);
|
||||||
|
|||||||
Reference in New Issue
Block a user