blob: ccd1994f5341030697a9db72bf3d1101b8381d94 [file] [log] [blame]
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
use crate::{
core::{Core, ObjectRef, OnAdded, Property},
shapes::PathVertex,
};
#[derive(Debug, Default)]
pub struct StraightVertex {
path_vertex: PathVertex,
radius: Property<f32>,
}
impl ObjectRef<'_, StraightVertex> {
pub fn radius(&self) -> f32 {
self.radius.get()
}
pub fn set_radius(&self, radius: f32) {
if self.radius() == radius {
return;
}
self.radius.set(radius);
self.cast::<PathVertex>().mark_path_dirty();
}
}
impl Core for StraightVertex {
parent_types![(path_vertex, PathVertex)];
properties![(26, radius, set_radius), path_vertex];
}
impl OnAdded for ObjectRef<'_, StraightVertex> {
on_added!(PathVertex);
}