[TASK] Replace sprite icon "actions-view-table-*" with the new IconFactory
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Classes / Imaging / IconProvider / SvgIconProvider.php
1 <?php
2 namespace TYPO3\CMS\Core\Imaging\IconProvider;
3
4 /*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 use TYPO3\CMS\Core\Imaging\Icon;
18 use TYPO3\CMS\Core\Imaging\IconProviderInterface;
19 use TYPO3\CMS\Core\Utility\GeneralUtility;
20 use TYPO3\CMS\Core\Utility\PathUtility;
21
22 /**
23 * Class SvgIconProvider
24 */
25 class SvgIconProvider implements IconProviderInterface {
26
27 /**
28 * @param Icon $icon
29 * @param array $options
30 */
31 public function prepareIconMarkup(Icon $icon, array $options = array()) {
32 $icon->setMarkup($this->generateMarkup($icon, $options));
33 }
34
35 /**
36 * @param Icon $icon
37 * @param array $options
38 *
39 * @return string
40 */
41 protected function generateMarkup(Icon $icon, array $options) {
42 $source = PathUtility::getAbsoluteWebPath(GeneralUtility::getFileAbsFileName($options['source']));
43 return '<img src="' . $source . '" width="' . $icon->getDimension()->getWidth() . '" height="' . $icon->getDimension()->getHeight() . '" />';
44 }
45 }