umya_spreadsheet/structs/drawing/spreadsheet/
extent.rs1use super::super::super::Int64Value;
3use crate::reader::driver::*;
4use crate::writer::driver::*;
5use quick_xml::events::BytesStart;
6use quick_xml::Reader;
7use quick_xml::Writer;
8use std::io::Cursor;
9
10#[derive(Clone, Default, Debug)]
11pub struct Extent {
12 cx: Int64Value,
13 cy: Int64Value,
14}
15
16impl Extent {
17 #[inline]
18 pub fn get_cx(&self) -> &i64 {
19 self.cx.get_value()
20 }
21
22 #[inline]
23 pub fn set_cx(&mut self, value: i64) -> &mut Extent {
24 self.cx.set_value(value);
25 self
26 }
27
28 #[inline]
29 pub fn get_cy(&self) -> &i64 {
30 self.cy.get_value()
31 }
32
33 #[inline]
34 pub fn set_cy(&mut self, value: i64) -> &mut Extent {
35 self.cy.set_value(value);
36 self
37 }
38
39 #[inline]
40 pub(crate) fn set_attributes<R: std::io::BufRead>(
41 &mut self,
42 _reader: &mut Reader<R>,
43 e: &BytesStart,
44 ) {
45 set_string_from_xml!(self, e, cx, "cx");
46 set_string_from_xml!(self, e, cy, "cy");
47 }
48
49 #[inline]
50 pub(crate) fn write_to(&self, writer: &mut Writer<Cursor<Vec<u8>>>) {
51 write_start_tag(
53 writer,
54 "xdr:ext",
55 vec![
56 ("cx", &self.cx.get_value_string()),
57 ("cy", &self.cy.get_value_string()),
58 ],
59 true,
60 );
61 }
62}