Add setters to MaskPosition
@@ -24,3 +24,35 @@ pub struct MaskPosition {
/// Mask scaling coefficient. For example, `2.0` means double size.
pub scale: f64,
}
+
+impl MaskPosition {
+ pub fn new<S>(point: S, x_shift: f64, y_shift: f64, scale: f64) -> Self
+ where
+ S: Into<String>,
+ {
+ Self { point: point.into(), x_shift, y_shift, scale }
+ }
+
+ pub fn point<S>(mut self, val: S) -> Self
+ where
+ S: Into<String>,
+ {
+ self.point = val.into();
+ self
+ }
+
+ pub fn x_shift(mut self, val: f64) -> Self {
+ self.x_shift = val;
+ self
+ }
+
+ pub fn y_shift(mut self, val: f64) -> Self {
+ self.y_shift = val;
+ self
+ }
+
+ pub fn scale(mut self, val: f64) -> Self {
+ self.scale = val;
+ self
+ }
+}
