forked from 1b-agent/opencadstudio-upstream
feat(grip): complete standard grip-shape vocabulary
Existing entity grip definitions already followed the conventional CAD layout: square at vertices / endpoints, diamond at curve centres / midpoints, triangle for directional control. Round out the supported shape vocabulary with the two missing standards so future entities (polyline straight-segment stretch grips, dimension parameter grips, …) can pick the right marker without inventing ad-hoc visuals: - `GripShape::Rectangle` — direction-aware mid-segment stretch handle (wider-than-tall box). - `GripShape::Circle` — parametric control (radius / dimension value). New `rectangle_grip` / `circle_grip` helpers in `entities::common` mirror the existing `square_grip` / `diamond_grip` / `triangle_grip` constructors. `SelectionCanvas::draw` renders the two new variants; the previously-used Square / Diamond / Triangle paths are unchanged. Both new variants carry `#[allow(dead_code)]` until an entity adopts them.
This commit is contained in:
1 parent
0ec6d77cb1
commit
1e33a9049c
3 files changed
+43
-1
No files matched your search
@@ -148,6 +148,26 @@ pub fn triangle_grip(id: usize, world: Vec3) -> GripDef {
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub fn rectangle_grip(id: usize, world: Vec3) -> GripDef {
|
||||
GripDef {
|
||||
id,
|
||||
world,
|
||||
is_midpoint: true,
|
||||
shape: GripShape::Rectangle,
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub fn circle_grip(id: usize, world: Vec3) -> GripDef {
|
||||
GripDef {
|
||||
id,
|
||||
world,
|
||||
is_midpoint: false,
|
||||
shape: GripShape::Circle,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn edit_prop(label: &'static str, field: &'static str, value: f64) -> Property {
|
||||
Property {
|
||||
label: label.into(),
|
||||
|
||||
Reference in new issue
Block a user