[FEATURE] Introduce new Icon API 59/41759/23
authorFrank Nägler <typo3@naegler.net>
Mon, 20 Jul 2015 21:34:19 +0000 (23:34 +0200)
committerBenni Mack <benni@typo3.org>
Thu, 6 Aug 2015 15:42:26 +0000 (17:42 +0200)
commitf45359e6cf79c0b057be7c6ddfc238fd57f83cb3
tree373a64d690c9dbc6a67be18390c1a23551ca9fd8
parent1cc0527634023364c62fc02c28f44e8f2a69f697
[FEATURE] Introduce new Icon API

The logic for working with icons, icon sizes and icon overlays is now bundled into the new IconFactory class.
The new IconFactory will replace the old icon skinning API step by step.

All core icons will be registered directly in the IconRegistry class, third
party extensions must use IconRegistry::registerIcon() to overwrite existing
icons or add additional icons to the IconFactory.

The IconFactory takes care of the correct icon and overlay sizes and the markup.

Resolves: #68741
Releases: master
Change-Id: I731e077290b58298c2c603eeb8961e8a3d4c62d3
Reviewed-on: http://review.typo3.org/41759
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Benni Mack <benni@typo3.org>
Tested-by: Benni Mack <benni@typo3.org>
22 files changed:
Build/Resources/Public/Less/Component/icon.less [new file with mode: 0644]
Build/Resources/Public/Less/_minimal.less
typo3/sysext/core/Classes/Imaging/Dimension.php [new file with mode: 0644]
typo3/sysext/core/Classes/Imaging/Icon.php [new file with mode: 0644]
typo3/sysext/core/Classes/Imaging/IconFactory.php [new file with mode: 0644]
typo3/sysext/core/Classes/Imaging/IconProvider/BitmapIconProvider.php [new file with mode: 0644]
typo3/sysext/core/Classes/Imaging/IconProvider/FontawesomeIconProvider.php [new file with mode: 0644]
typo3/sysext/core/Classes/Imaging/IconProvider/SvgIconProvider.php [new file with mode: 0644]
typo3/sysext/core/Classes/Imaging/IconProviderInterface.php [new file with mode: 0644]
typo3/sysext/core/Classes/Imaging/IconRegistry.php [new file with mode: 0644]
typo3/sysext/core/Classes/Utility/PathUtility.php
typo3/sysext/core/Classes/ViewHelpers/IconViewHelper.php [new file with mode: 0644]
typo3/sysext/core/Documentation/Changelog/master/Feature-68741-IntroduceNewIconFactoryAsBaseForReplaceTheIconSkinningAPI.rst [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Imaging/DimensionTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Imaging/IconFactoryTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Imaging/IconProvider/BitmapIconProviderTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Imaging/IconProvider/FontawesomeIconProviderTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Imaging/IconProvider/SvgIconProviderTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Imaging/IconRegistryTest.php [new file with mode: 0644]
typo3/sysext/core/Tests/Unit/Imaging/IconTest.php [new file with mode: 0644]
typo3/sysext/extbase/Tests/Unit/Mvc/Web/Routing/UriBuilderTest.php
typo3/sysext/t3skin/Resources/Public/Css/backend.css