umya_spreadsheet/structs/drawing/
soft_edge.rs1use std::io::Cursor;
3
4use quick_xml::{
5 Reader,
6 Writer,
7 events::BytesStart,
8};
9
10use super::super::super::Int64Value;
11use crate::{
12 reader::driver::get_attribute,
13 writer::driver::write_start_tag,
14};
15
16#[derive(Clone, Default, Debug)]
17pub struct SoftEdge {
18 radius: Int64Value,
19}
20impl SoftEdge {
21 #[inline]
22 #[must_use]
23 pub fn radius(&self) -> i64 {
24 self.radius.value()
25 }
26
27 #[inline]
28 #[must_use]
29 #[deprecated(since = "3.0.0", note = "Use radius()")]
30 pub fn get_radius(&self) -> i64 {
31 self.radius()
32 }
33
34 #[inline]
35 pub fn set_radius(&mut self, value: i64) -> &mut SoftEdge {
36 self.radius.set_value(value);
37 self
38 }
39
40 #[inline]
41 pub(crate) fn set_attributes<R: std::io::BufRead>(
42 &mut self,
43 _reader: &mut Reader<R>,
44 e: &BytesStart,
45 ) {
46 self.radius
47 .set_value_string(get_attribute(e, b"rad").unwrap());
48 }
49
50 pub(crate) fn write_to(&self, writer: &mut Writer<Cursor<Vec<u8>>>) {
51 write_start_tag(
53 writer,
54 "a:softEdge",
55 vec![("rad", &self.radius.value_string()).into()],
56 true,
57 );
58 }
59}