Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2/**
3 * This file is part of PHPPresentation - A pure PHP library for reading and writing
4 * presentations documents.
5 *
6 * PHPPresentation is free software distributed under the terms of the GNU Lesser
7 * General Public License version 3 as published by the Free Software Foundation.
8 *
9 * For the full copyright and license information, please read the LICENSE
10 * file that was distributed with this source code. For the full list of
11 * contributors, visit https://github.com/PHPOffice/PHPPresentation/contributors.
12 *
13 * @see        https://github.com/PHPOffice/PHPPresentation
14 *
15 * @license     http://www.gnu.org/licenses/lgpl.txt LGPL version 3
16 */
17
18declare(strict_types=1);
19
20namespace PhpOffice\PhpPresentation;
21
22use ArrayObject;
23
24/**
25 * PhpOffice\PhpPresentation\ShapeContainerInterface.
26 */
27interface ShapeContainerInterface
28{
29    /**
30     * Get collection of shapes.
31     *
32     * @return array<int, AbstractShape>|ArrayObject<int, AbstractShape>
33     */
34    public function getShapeCollection();
35
36    /**
37     * Add shape to slide.
38     *
39     * @return static
40     */
41    public function addShape(AbstractShape $shape);
42
43    /**
44     * Unset shape from the collection.
45     *
46     * @return static
47     */
48    public function unsetShape(int $key);
49
50    /**
51     * Get X Offset.
52     */
53    public function getOffsetX(): int;
54
55    /**
56     * Get Y Offset.
57     */
58    public function getOffsetY(): int;
59
60    /**
61     * Get X Extent.
62     */
63    public function getExtentX(): int;
64
65    /**
66     * Get Y Extent.
67     */
68    public function getExtentY(): int;
69
70    public function getHashCode(): string;
71}