1<?php
2
3namespace PhpOffice\PhpSpreadsheet\Shared\Escher;
4
5class DggContainer
6{
7    /**
8     * Maximum shape index of all shapes in all drawings increased by one.
9     *
10     * @var int
11     */
12    private $spIdMax;
13
14    /**
15     * Total number of drawings saved.
16     *
17     * @var int
18     */
19    private $cDgSaved;
20
21    /**
22     * Total number of shapes saved (including group shapes).
23     *
24     * @var int
25     */
26    private $cSpSaved;
27
28    /**
29     * BLIP Store Container.
30     *
31     * @var DggContainer\BstoreContainer
32     */
33    private $bstoreContainer;
34
35    /**
36     * Array of options for the drawing group.
37     *
38     * @var array
39     */
40    private $OPT = [];
41
42    /**
43     * Array of identifier clusters containg information about the maximum shape identifiers.
44     *
45     * @var array
46     */
47    private $IDCLs = [];
48
49    /**
50     * Get maximum shape index of all shapes in all drawings (plus one).
51     *
52     * @return int
53     */
54    public function getSpIdMax()
55    {
56        return $this->spIdMax;
57    }
58
59    /**
60     * Set maximum shape index of all shapes in all drawings (plus one).
61     *
62     * @param int $value
63     */
64    public function setSpIdMax($value)
65    {
66        $this->spIdMax = $value;
67    }
68
69    /**
70     * Get total number of drawings saved.
71     *
72     * @return int
73     */
74    public function getCDgSaved()
75    {
76        return $this->cDgSaved;
77    }
78
79    /**
80     * Set total number of drawings saved.
81     *
82     * @param int $value
83     */
84    public function setCDgSaved($value)
85    {
86        $this->cDgSaved = $value;
87    }
88
89    /**
90     * Get total number of shapes saved (including group shapes).
91     *
92     * @return int
93     */
94    public function getCSpSaved()
95    {
96        return $this->cSpSaved;
97    }
98
99    /**
100     * Set total number of shapes saved (including group shapes).
101     *
102     * @param int $value
103     */
104    public function setCSpSaved($value)
105    {
106        $this->cSpSaved = $value;
107    }
108
109    /**
110     * Get BLIP Store Container.
111     *
112     * @return DggContainer\BstoreContainer
113     */
114    public function getBstoreContainer()
115    {
116        return $this->bstoreContainer;
117    }
118
119    /**
120     * Set BLIP Store Container.
121     *
122     * @param DggContainer\BstoreContainer $bstoreContainer
123     */
124    public function setBstoreContainer($bstoreContainer)
125    {
126        $this->bstoreContainer = $bstoreContainer;
127    }
128
129    /**
130     * Set an option for the drawing group.
131     *
132     * @param int $property The number specifies the option
133     * @param mixed $value
134     */
135    public function setOPT($property, $value)
136    {
137        $this->OPT[$property] = $value;
138    }
139
140    /**
141     * Get an option for the drawing group.
142     *
143     * @param int $property The number specifies the option
144     *
145     * @return mixed
146     */
147    public function getOPT($property)
148    {
149        if (isset($this->OPT[$property])) {
150            return $this->OPT[$property];
151        }
152
153        return null;
154    }
155
156    /**
157     * Get identifier clusters.
158     *
159     * @return array
160     */
161    public function getIDCLs()
162    {
163        return $this->IDCLs;
164    }
165
166    /**
167     * Set identifier clusters. [<drawingId> => <max shape id>, ...].
168     *
169     * @param array $pValue
170     */
171    public function setIDCLs($pValue)
172    {
173        $this->IDCLs = $pValue;
174    }
175}
176