Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit f8e5b78

Browse files
fix overlay scale
1 parent 815e2d2 commit f8e5b78

File tree

4 files changed

+137
-86
lines changed

4 files changed

+137
-86
lines changed

‎editor/src/messages/portfolio/document/overlays/utility_types.rs‎

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use super::utility_functions::overlay_canvas_context;
22
use crate::consts::{
33
ARC_SWEEP_GIZMO_RADIUS, COLOR_OVERLAY_BLUE, COLOR_OVERLAY_BLUE_50, COLOR_OVERLAY_GREEN, COLOR_OVERLAY_RED, COLOR_OVERLAY_WHITE, COLOR_OVERLAY_YELLOW, COLOR_OVERLAY_YELLOW_DULL,
44
COMPASS_ROSE_ARROW_SIZE, COMPASS_ROSE_HOVER_RING_DIAMETER, COMPASS_ROSE_MAIN_RING_DIAMETER, COMPASS_ROSE_RING_INNER_DIAMETER, DOWEL_PIN_RADIUS, MANIPULATOR_GROUP_MARKER_SIZE,
5-
PIVOT_CROSSHAIR_LENGTH, PIVOT_CROSSHAIR_THICKNESS, PIVOT_DIAMETER, SEGMENT_SELECTED_THICKNESS,
5+
PIVOT_CROSSHAIR_LENGTH, PIVOT_CROSSHAIR_THICKNESS, PIVOT_DIAMETER, RESIZE_HANDLE_SIZE,SEGMENT_SELECTED_THICKNESS,SKEW_TRIANGLE_OFFSET,SKEW_TRIANGLE_SIZE,
66
};
77
use crate::messages::portfolio::document::utility_types::document_metadata::LayerNodeIdentifier;
88
use crate::messages::prelude::Message;
@@ -153,6 +153,11 @@ impl core::hash::Hash for OverlayContext {
153153
}
154154

155155
impl OverlayContext {
156+
pub fn reverse_scale(&self, distance: f64) -> f64 {
157+
// No-op when rendering to canvas
158+
distance
159+
}
160+
156161
pub fn quad(&mut self, quad: Quad, stroke_color: Option<&str>, color_fill: Option<&str>) {
157162
self.dashed_polygon(&quad.0, stroke_color, color_fill, None, None, None);
158163
}
@@ -499,6 +504,20 @@ impl OverlayContext {
499504
self.square(position, None, Some(color_fill), Some(COLOR_OVERLAY_BLUE));
500505
}
501506

507+
pub fn resize_handle(&mut self, position: DVec2, rotation: f64) {
508+
let quad = DAffine2::from_angle_translation(rotation, position) * Quad::from_box([DVec2::splat(-RESIZE_HANDLE_SIZE / 2.), DVec2::splat(RESIZE_HANDLE_SIZE / 2.)]);
509+
self.quad(quad, None, Some(COLOR_OVERLAY_WHITE));
510+
}
511+
512+
pub fn skew_handles(&mut self, edge_start: DVec2, edge_end: DVec2) {
513+
let edge_dir = (edge_end - edge_start).normalize();
514+
let mid = edge_end.midpoint(edge_start);
515+
516+
for edge in [edge_dir, -edge_dir] {
517+
self.draw_triangle(mid + edge * (3. + SKEW_TRIANGLE_OFFSET), edge, SKEW_TRIANGLE_SIZE, None, None);
518+
}
519+
}
520+
502521
/// Transforms the canvas context to adjust for DPI scaling
503522
///
504523
/// Overwrites all existing tranforms. This operation can be reversed with [`Self::reset_transform`].

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /