pub struct PolylineGeometry { /* private fields */ }Expand description
Represents the geometry of a polyline or polygon.
Implementations§
Source§impl PolylineGeometry
impl PolylineGeometry
pub fn points_property() -> &'static DirectProperty<PolylineGeometry, Option<Points>>
pub fn is_filled_property() -> &'static StyledProperty<bool>
Source§impl PolylineGeometry
impl PolylineGeometry
pub fn new() -> Ref<Self>
Sourcepub fn with_points(
points: impl IntoIterator<Item = Point>,
is_filled: bool,
) -> Ref<Self>
pub fn with_points( points: impl IntoIterator<Item = Point>, is_filled: bool, ) -> Ref<Self>
Creates a polyline geometry with a copy of the given points.
Sourcepub fn with_points_and_fill_rule(
points: impl IntoIterator<Item = Point>,
is_filled: bool,
fill_rule: FillRule,
) -> Ref<Self>
pub fn with_points_and_fill_rule( points: impl IntoIterator<Item = Point>, is_filled: bool, fill_rule: FillRule, ) -> Ref<Self>
Creates a polyline geometry with a copy of the given points and the given fill rule.
pub fn set_points(&self, value: Points)
pub fn set_is_filled(&self, value: bool)
Methods from Deref<Target = Geometry>§
Sourcepub fn clone_geometry(&self) -> Ref<Geometry>
pub fn clone_geometry(&self) -> Ref<Geometry>
Clones the geometry.
Sourcepub fn create_defining_geometry(&self) -> Option<Arc<dyn IGeometryImpl>>
pub fn create_defining_geometry(&self) -> Option<Arc<dyn IGeometryImpl>>
Creates the platform implementation of the geometry, without the transform applied.
Sourcepub fn changed_subscriber_count(&self) -> usize
pub fn changed_subscriber_count(&self) -> usize
The number of subscribers to the changes of the geometry (a diagnostics member, used by tests to verify that subscriptions are released).
Sourcepub fn changed(&self, handler: impl Fn() + 'static) -> Rc<dyn IDisposable>
pub fn changed(&self, handler: impl Fn() + 'static) -> Rc<dyn IDisposable>
Subscribes to changes of the geometry. Disposing the returned handle unsubscribes.
Sourcepub fn platform_impl(&self) -> Option<Arc<dyn IGeometryImpl>>
pub fn platform_impl(&self) -> Option<Arc<dyn IGeometryImpl>>
The platform-specific implementation of the geometry.
pub fn set_transform(&self, value: impl Into<Nullable<Transform>>)
Sourcepub fn get_render_bounds(&self, pen: &dyn IPen) -> Rect
pub fn get_render_bounds(&self, pen: &dyn IPen) -> Rect
Gets the geometry’s bounding rectangle with the specified pen.
Sourcepub fn fill_contains(&self, point: Point) -> bool
pub fn fill_contains(&self, point: Point) -> bool
Indicates whether the geometry’s fill contains the specified point.
Sourcepub fn get_fill_intersection_result(
&self,
geometry: &Geometry,
) -> Option<IntersectionResult>
pub fn get_fill_intersection_result( &self, geometry: &Geometry, ) -> Option<IntersectionResult>
Gets the relation between this geometry’s fill and another one’s.
Sourcepub fn stroke_contains(&self, pen: &dyn IPen, point: Point) -> bool
pub fn stroke_contains(&self, pen: &dyn IPen, point: Point) -> bool
Indicates whether the geometry’s stroke contains the specified point.
Sourcepub fn get_widened_geometry(&self, pen: &dyn IPen) -> Ref<Geometry>
pub fn get_widened_geometry(&self, pen: &dyn IPen) -> Ref<Geometry>
Gets a geometry that is the shape defined by the stroke on the geometry produced by the specified pen.
Sourcepub fn invalidate_geometry(&self)
pub fn invalidate_geometry(&self)
Invalidates the platform implementation of the geometry.
Sourcepub fn contour_length(&self) -> f64
pub fn contour_length(&self) -> f64
The geometry’s total length as if all its contours are placed in a straight line.
Sourcepub fn try_get_point_at_distance(&self, distance: f64) -> Option<Point>
pub fn try_get_point_at_distance(&self, distance: f64) -> Option<Point>
Attempts to get the corresponding point at the specified distance.
Methods from Deref<Target = FerroObject>§
Sourcepub fn dispatcher(&self) -> &Arc<Dispatcher> ⓘ
pub fn dispatcher(&self) -> &Arc<Dispatcher> ⓘ
Returns the Dispatcher that this object is associated with: the
dispatcher of the thread that owns the object.
Sourcepub fn check_access(&self) -> bool
pub fn check_access(&self) -> bool
Returns whether the calling thread is the thread that owns this object.
Sourcepub fn verify_access(&self)
pub fn verify_access(&self)
Sourcepub fn to_ref(&self) -> Ref<FerroObject>
pub fn to_ref(&self) -> Ref<FerroObject>
A strong reference to this object.
Sourcepub fn to_weak(&self) -> WeakRef<FerroObject>
pub fn to_weak(&self) -> WeakRef<FerroObject>
A weak reference to this object.
Sourcepub fn is<T: ObjectType>(&self) -> bool
pub fn is<T: ObjectType>(&self) -> bool
Whether the object is of class T or a class derived from it.
Sourcepub fn downcast_ref<T: ObjectType>(&self) -> Option<&T>
pub fn downcast_ref<T: ObjectType>(&self) -> Option<&T>
Returns the object viewed as class T if it is one.
Sourcepub fn on_property_changed(&self, change: &FerroPropertyChangedEventArgs<'_>)
pub fn on_property_changed(&self, change: &FerroPropertyChangedEventArgs<'_>)
Invokes the on_property_changed virtual member.
Sourcepub fn inheritance_parent(&self) -> Option<Ref<FerroObject>>
pub fn inheritance_parent(&self) -> Option<Ref<FerroObject>>
The parent object that inherited property values are inherited from.
Sourcepub fn set_inheritance_parent(&self, value: impl Into<Nullable<FerroObject>>)
pub fn set_inheritance_parent(&self, value: impl Into<Nullable<FerroObject>>)
Sets the parent object that inherited property values are inherited from.
Sourcepub fn clear_value<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
)
pub fn clear_value<T: PropertyValue>( &self, property: &'static StyledProperty<T>, )
Clears a property’s local value.
Sourcepub fn get_value<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
) -> T
pub fn get_value<T: PropertyValue>( &self, property: &'static StyledProperty<T>, ) -> T
Gets a property value.
Sourcepub fn get_base_value<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
) -> Option<T>
pub fn get_base_value<T: PropertyValue>( &self, property: &'static StyledProperty<T>, ) -> Option<T>
Gets a property’s base value: the value excluding animated values.
Returns None if the value comes from inheritance or the default.
Sourcepub fn is_animating(&self, property: &FerroProperty) -> bool
pub fn is_animating(&self, property: &FerroProperty) -> bool
Checks whether a property is animating.
Sourcepub fn is_set(&self, property: &FerroProperty) -> bool
pub fn is_set(&self, property: &FerroProperty) -> bool
Checks whether a styled property has a value assigned to it or a binding targeting it.
Sourcepub fn set_value<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
value: T,
)
pub fn set_value<T: PropertyValue>( &self, property: &'static StyledProperty<T>, value: T, )
Sets a property value with local value priority.
Sourcepub fn set_value_with_priority<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
value: T,
priority: BindingPriority,
) -> Option<Rc<dyn IDisposable>>
pub fn set_value_with_priority<T: PropertyValue>( &self, property: &'static StyledProperty<T>, value: T, priority: BindingPriority, ) -> Option<Rc<dyn IDisposable>>
Sets a property value with the given priority. For priorities other than local value, disposing the returned handle removes the value.
Sourcepub fn set_current_value<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
value: T,
)
pub fn set_current_value<T: PropertyValue>( &self, property: &'static StyledProperty<T>, value: T, )
Sets the value of a property without changing its value source.
This is used by a component that programmatically sets the value of one of its own properties without disabling an application’s declared use of the property: the effective value changes, but existing bindings and styles continue to work. The new value has the property’s current priority.
Sourcepub fn bind_binding(
&self,
property: &'static FerroProperty,
binding: &dyn BindingBase,
) -> Rc<dyn BindingExpressionBase>
pub fn bind_binding( &self, property: &'static FerroProperty, binding: &dyn BindingBase, ) -> Rc<dyn BindingExpressionBase>
Binds a property to a binding. Returns the binding expression which represents the binding instance on this object.
Sourcepub fn bind_binding_with_anchor(
&self,
property: &'static FerroProperty,
binding: &dyn BindingBase,
anchor: Option<&Ref<FerroObject>>,
) -> Rc<dyn BindingExpressionBase>
pub fn bind_binding_with_anchor( &self, property: &'static FerroProperty, binding: &dyn BindingBase, anchor: Option<&Ref<FerroObject>>, ) -> Rc<dyn BindingExpressionBase>
Binds a property to a binding.
Some bindings need context to locate their source: a data context,
named elements or resources. If this object is not an element, or is
not yet attached to the tree, anchor provides that context.
Sourcepub fn indexer(&self, binding: &IndexerDescriptor) -> IndexerBinding
pub fn indexer(&self, binding: &IndexerDescriptor) -> IndexerBinding
Gets a binding to a property of this object: the indexer taking an
IndexerDescriptor
(source[!Property] is source.indexer(&Property.bind())).
Sourcepub fn bind_indexer(
&self,
binding: &IndexerDescriptor,
value: &dyn BindingBase,
) -> Rc<dyn BindingExpressionBase>
pub fn bind_indexer( &self, binding: &IndexerDescriptor, value: &dyn BindingBase, ) -> Rc<dyn BindingExpressionBase>
Binds the property of an
IndexerDescriptor to a binding:
the setter of the indexer (target[!Property] = binding is
target.bind_indexer(&Property.bind(), &binding)).
Sourcepub fn bind<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
source: Rc<dyn IObservable<T>>,
priority: BindingPriority,
) -> Rc<dyn IDisposable>
pub fn bind<T: PropertyValue>( &self, property: &'static StyledProperty<T>, source: Rc<dyn IObservable<T>>, priority: BindingPriority, ) -> Rc<dyn IDisposable>
Binds a property to an observable.
Sourcepub fn bind_value<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
source: Rc<dyn IObservable<BindingValue<T>>>,
priority: BindingPriority,
) -> Rc<dyn IDisposable>
pub fn bind_value<T: PropertyValue>( &self, property: &'static StyledProperty<T>, source: Rc<dyn IObservable<BindingValue<T>>>, priority: BindingPriority, ) -> Rc<dyn IDisposable>
Binds a property to an observable of binding values.
Sourcepub fn bind_untyped<T: PropertyValue>(
&self,
property: &'static StyledProperty<T>,
source: Rc<dyn IObservable<BoxedValue>>,
priority: BindingPriority,
) -> Rc<dyn IDisposable>
pub fn bind_untyped<T: PropertyValue>( &self, property: &'static StyledProperty<T>, source: Rc<dyn IObservable<BoxedValue>>, priority: BindingPriority, ) -> Rc<dyn IDisposable>
Binds a property to an observable of untyped values.
Sourcepub fn coerce_value(&self, property: &'static FerroProperty)
pub fn coerce_value(&self, property: &'static FerroProperty)
Coerces the specified property.
Sourcepub fn get_direct_value<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
) -> T
pub fn get_direct_value<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, ) -> T
Gets a direct property value.
Sourcepub fn set_direct_value<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
value: T,
)
pub fn set_direct_value<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, value: T, )
Sets a direct property value.
Sourcepub fn clear_direct_value<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
)
pub fn clear_direct_value<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, )
Resets a direct property to its unset value.
Sourcepub fn bind_direct<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
source: Rc<dyn IObservable<T>>,
) -> Rc<dyn IDisposable>
pub fn bind_direct<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, source: Rc<dyn IObservable<T>>, ) -> Rc<dyn IDisposable>
Binds a direct property to an observable.
Sourcepub fn bind_direct_value<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
source: Rc<dyn IObservable<BindingValue<T>>>,
) -> Rc<dyn IDisposable>
pub fn bind_direct_value<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, source: Rc<dyn IObservable<BindingValue<T>>>, ) -> Rc<dyn IDisposable>
Binds a direct property to an observable of binding values.
Sourcepub fn bind_direct_untyped<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
source: Rc<dyn IObservable<BoxedValue>>,
) -> Rc<dyn IDisposable>
pub fn bind_direct_untyped<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, source: Rc<dyn IObservable<BoxedValue>>, ) -> Rc<dyn IDisposable>
Binds a direct property to an observable of untyped values.
Sourcepub fn set_and_raise<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
field: &RefCell<T>,
value: T,
) -> bool
pub fn set_and_raise<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, field: &RefCell<T>, value: T, ) -> bool
Sets the backing field of a direct property, raising a change notification if the value changed. Returns true if it changed.
Sourcepub fn set_and_raise_cell<T: PropertyValue + Copy>(
&self,
property: &'static DirectPropertyBase<T>,
field: &Cell<T>,
value: T,
) -> bool
pub fn set_and_raise_cell<T: PropertyValue + Copy>( &self, property: &'static DirectPropertyBase<T>, field: &Cell<T>, value: T, ) -> bool
set_and_raise for Copy values stored in a
Cell.
Sourcepub fn get_value_untyped(&self, property: &'static FerroProperty) -> BoxedValue
pub fn get_value_untyped(&self, property: &'static FerroProperty) -> BoxedValue
Gets a property value as an untyped value.
Sourcepub fn set_value_untyped(
&self,
property: &'static FerroProperty,
value: &dyn Any,
priority: BindingPriority,
) -> Option<Rc<dyn IDisposable>>
pub fn set_value_untyped( &self, property: &'static FerroProperty, value: &dyn Any, priority: BindingPriority, ) -> Option<Rc<dyn IDisposable>>
Sets a property from an untyped value, which must hold exactly the property’s value type or the unset marker.
Sourcepub fn set_current_value_untyped(
&self,
property: &'static FerroProperty,
value: &dyn Any,
)
pub fn set_current_value_untyped( &self, property: &'static FerroProperty, value: &dyn Any, )
set_current_value with an untyped value.
Sourcepub fn clear_value_untyped(&self, property: &'static FerroProperty)
pub fn clear_value_untyped(&self, property: &'static FerroProperty)
Clears a property’s local value.
Sourcepub fn bind_property_untyped(
&self,
property: &'static FerroProperty,
source: Rc<dyn IObservable<BoxedValue>>,
priority: BindingPriority,
) -> Rc<dyn IDisposable>
pub fn bind_property_untyped( &self, property: &'static FerroProperty, source: Rc<dyn IObservable<BoxedValue>>, priority: BindingPriority, ) -> Rc<dyn IDisposable>
Binds a property to an observable of untyped values.
Sourcepub fn property_changed(
&self,
handler: impl Fn(&FerroPropertyChangedEventArgs<'_>) + 'static,
) -> Rc<dyn IDisposable>
pub fn property_changed( &self, handler: impl Fn(&FerroPropertyChangedEventArgs<'_>) + 'static, ) -> Rc<dyn IDisposable>
Subscribes to property changes on this object. Disposing the returned handle unsubscribes.
Sourcepub fn add_property_changed_handler(
&self,
handler: Rc<dyn Fn(&FerroPropertyChangedEventArgs<'_>)>,
) -> u64
pub fn add_property_changed_handler( &self, handler: Rc<dyn Fn(&FerroPropertyChangedEventArgs<'_>)>, ) -> u64
Subscribes handler to property changes on this object and returns
the token that remove_property_changed_handler
takes: property_changed for a subscriber
that keeps the object and the token itself, so that no handle is made.
Sourcepub fn remove_property_changed_handler(&self, token: u64) -> bool
pub fn remove_property_changed_handler(&self, token: u64) -> bool
Ends a subscription of add_property_changed_handler.
Sourcepub fn property_changed_subscriber_count(&self) -> usize
pub fn property_changed_subscriber_count(&self) -> usize
The number of subscribers to property changes on this object (a diagnostics member, used by tests to verify that subscriptions are released).
Sourcepub fn raise_property_changed<T: PropertyValue>(
&self,
property: &'static FerroProperty,
old_value: Option<&T>,
new_value: &T,
priority: BindingPriority,
is_effective_value: bool,
)
pub fn raise_property_changed<T: PropertyValue>( &self, property: &'static FerroProperty, old_value: Option<&T>, new_value: &T, priority: BindingPriority, is_effective_value: bool, )
Raises a property changed notification.
Sourcepub fn raise_direct_property_changed<T: PropertyValue>(
&self,
property: &'static DirectPropertyBase<T>,
old_value: &T,
new_value: &T,
)
pub fn raise_direct_property_changed<T: PropertyValue>( &self, property: &'static DirectPropertyBase<T>, old_value: &T, new_value: &T, )
Raises a property changed notification for a direct property.
Trait Implementations§
Source§impl Deref for PolylineGeometry
impl Deref for PolylineGeometry
Source§impl FerroObjectImpl for PolylineGeometry
impl FerroObjectImpl for PolylineGeometry
Source§fn constructed(this: &Self)
fn constructed(this: &Self)
parent_constructed first.Source§fn on_property_changed_core(
this: &Self,
change: &FerroPropertyChangedEventArgs<'_>,
)
fn on_property_changed_core( this: &Self, change: &FerroPropertyChangedEventArgs<'_>, )
on_property_changed instead.Source§fn on_property_changed(this: &Self, change: &FerroPropertyChangedEventArgs<'_>)
fn on_property_changed(this: &Self, change: &FerroPropertyChangedEventArgs<'_>)
Source§fn update_data_validation(
this: &Self,
property: &'static FerroProperty,
state: BindingValueType,
error: Option<&BindingError>,
)
fn update_data_validation( this: &Self, property: &'static FerroProperty, state: BindingValueType, error: Option<&BindingError>, )
Source§impl GeometryImpl for PolylineGeometry
impl GeometryImpl for PolylineGeometry
Source§fn clone_geometry(this: &Self) -> Ref<Geometry>
fn clone_geometry(this: &Self) -> Ref<Geometry>
Source§fn create_defining_geometry(this: &Self) -> Option<Arc<dyn IGeometryImpl>>
fn create_defining_geometry(this: &Self) -> Option<Arc<dyn IGeometryImpl>>
Source§impl ObjectType for PolylineGeometry
impl ObjectType for PolylineGeometry
Source§impl StaticType for PolylineGeometry
impl StaticType for PolylineGeometry
impl<T> Subclassable<T> for PolylineGeometrywhere
Geometry: Subclassable<T>,
Source§impl Upcast<PolylineGeometry> for PolylineGeometry
impl Upcast<PolylineGeometry> for PolylineGeometry
fn upcast(&self) -> &PolylineGeometry
Auto Trait Implementations§
impl !Freeze for PolylineGeometry
impl !RefUnwindSafe for PolylineGeometry
impl !Send for PolylineGeometry
impl !Sync for PolylineGeometry
impl !UnwindSafe for PolylineGeometry
impl Unpin for PolylineGeometry
impl UnsafeUnpin for PolylineGeometry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> ClassDefaults for Twhere
T: ?Sized,
impl<T> ClassDefaults for Twhere
T: ?Sized,
Source§fn static_constructor()
fn static_constructor()
affects_render, metadata
overrides). Read more