TYPO3 CMS  TYPO3_7-6
TYPO3\CMS\Backend\Sprite\SpriteGenerator Class Reference

Public Member Functions

 __construct ($spriteName)
 
 setNamespace ($nameSpace)
 
 setSpriteName ($spriteName)
 
 setSpriteFolder ($folder)
 
 setCSSFolder ($folder)
 
 setEnableHighDensitySprite ($enable=true)
 
 setOmitSpriteNameInIconName ($value)
 
 setIconSpace ($value)
 
 setIncludeTimestampInCSS ($value)
 
 generateSpriteFromFolder (array $inputFolder)
 
 generateSpriteFromArray (array $files)
 

Protected Member Functions

 resolveSpritePath ()
 
 generateGraphic ()
 
 generateHighDensityGraphic ()
 
 calculateSpritePositions ()
 
 getFolder ($directoryPath)
 
 buildFileInformationCache (array $files)
 
 explodeSizeTag ($tag='')
 

Protected Attributes

 $templateSprite
 
 $templateSpriteHighDensity
 
 $templateIcon
 
 $enableHighDensitySprite = true
 
 $defaultWidth = 0
 
 $defaultHeight = 0
 
 $spriteWidth = 0
 
 $spriteHeight = 0
 
 $spriteName = ''
 
 $spriteFolder = 'typo3temp/sprites/'
 
 $cssFolder = 'typo3temp/sprites/'
 
 $omitSpriteNameInIconName = false
 
 $nameSpace = 't3-icon'
 
 $includeTimestampInCSS = true
 
 $spriteBases = []
 
 $iconsData = []
 
 $iconSizes = []
 
 $iconNamesPerSize = []
 
 $space = 2
 

Detailed Description

Sprite generator

Definition at line 23 of file SpriteGenerator.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::__construct (   $spriteName)

Initializes the configuration of the spritegenerator

Parameters
string$spriteNameThe name of the sprite to be generated

Definition at line 177 of file SpriteGenerator.php.

References TYPO3\CMS\Backend\Sprite\SpriteGenerator\$spriteName.

Member Function Documentation

◆ buildFileInformationCache()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::buildFileInformationCache ( array  $files)
protected

Generates file information cache from file array

Parameters
array$filesList of all files with their icon name
Returns
void

Definition at line 567 of file SpriteGenerator.php.

References TYPO3\CMS\Backend\Sprite\SpriteGenerator\explodeSizeTag(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Backend\Sprite\SpriteGenerator\generateSpriteFromArray().

◆ calculateSpritePositions()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::calculateSpritePositions ( )
protected

◆ explodeSizeTag()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::explodeSizeTag (   $tag = '')
protected

Transforms size tag into size array

Parameters
string$tagA size tag at the cache arrays
Returns
array

Definition at line 616 of file SpriteGenerator.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Backend\Sprite\SpriteGenerator\buildFileInformationCache(), and TYPO3\CMS\Backend\Sprite\SpriteGenerator\calculateSpritePositions().

◆ generateGraphic()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::generateGraphic ( )
protected

◆ generateHighDensityGraphic()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::generateHighDensityGraphic ( )
protected

◆ generateSpriteFromArray()

◆ generateSpriteFromFolder()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::generateSpriteFromFolder ( array  $inputFolder)

Reads all png,gif,jpg files from the passed folder name (including 1 subfolder level) extracts size information and stores data in internal array, afterwards triggers sprite generation.

Parameters
array$inputFolderFolder from which files are read
Returns
array

Definition at line 286 of file SpriteGenerator.php.

References TYPO3\CMS\Backend\Sprite\SpriteGenerator\generateSpriteFromArray(), and TYPO3\CMS\Backend\Sprite\SpriteGenerator\getFolder().

◆ getFolder()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::getFolder (   $directoryPath)
protected

Function getFolder traverses the target directory, locates all iconFiles and collects them into an array

Parameters
string$directoryPathPath to an folder which contains images
Returns
array Returns an array with all files key: iconname, value: fileName

Definition at line 535 of file SpriteGenerator.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\get_dirs(), and TYPO3\CMS\Core\Utility\GeneralUtility\getFilesInDir().

Referenced by TYPO3\CMS\Backend\Sprite\SpriteGenerator\generateSpriteFromFolder().

◆ resolveSpritePath()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::resolveSpritePath ( )
protected

Compares image path to CSS path and creates the relative backpath from css to the sprites

Returns
string

Definition at line 395 of file SpriteGenerator.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\resolveBackPath(), and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Referenced by TYPO3\CMS\Backend\Sprite\SpriteGenerator\generateSpriteFromArray().

◆ setCSSFolder()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::setCSSFolder (   $folder)

Sets the sprite-css target-folder

Parameters
string$folderthe target folder where the generated CSS files are stored
Returns
SpriteGenerator An instance of $this, to enable "chaining".

Definition at line 224 of file SpriteGenerator.php.

◆ setEnableHighDensitySprite()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::setEnableHighDensitySprite (   $enable = true)

Enables/Disables HighDensitySprite Generation

Parameters
bool$enable
Returns
SpriteGenerator An instance of $this, to enable "chaining".

Definition at line 236 of file SpriteGenerator.php.

◆ setIconSpace()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::setIconSpace (   $value)

Setter to adjust how much space is between to icons in the sprite

Parameters
int$value
Returns
SpriteGenerator An instance of $this, to enable "chaining".

Definition at line 260 of file SpriteGenerator.php.

◆ setIncludeTimestampInCSS()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::setIncludeTimestampInCSS (   $value)

Setter for timestamp inclusion: imageFiles will be included with ?timestamp

Parameters
bool$value
Returns
SpriteGenerator An instance of $this, to enable "chaining".

Definition at line 272 of file SpriteGenerator.php.

◆ setNamespace()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::setNamespace (   $nameSpace)

Sets namespace of css code

Parameters
string$nameSpace
Returns
SpriteGenerator An instance of $this, to enable "chaining".

Definition at line 188 of file SpriteGenerator.php.

References TYPO3\CMS\Backend\Sprite\SpriteGenerator\$nameSpace.

◆ setOmitSpriteNameInIconName()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::setOmitSpriteNameInIconName (   $value)

Setter do enable the exclusion of the sprites-name from iconnames

Parameters
bool$value
Returns
SpriteGenerator An instance of $this, to enable "chaining".

Definition at line 248 of file SpriteGenerator.php.

◆ setSpriteFolder()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::setSpriteFolder (   $folder)

Sets the sprite-graphics target-folder

Parameters
string$folderThe target folder where the generated sprite is stored
Returns
SpriteGenerator An instance of $this, to enable "chaining".

Definition at line 212 of file SpriteGenerator.php.

◆ setSpriteName()

TYPO3\CMS\Backend\Sprite\SpriteGenerator::setSpriteName (   $spriteName)

Sets the spritename

Parameters
string$spriteNameThe name of the sprite to be generated
Returns
SpriteGenerator An instance of $this, to enable "chaining".

Definition at line 200 of file SpriteGenerator.php.

References TYPO3\CMS\Backend\Sprite\SpriteGenerator\$spriteName.

Member Data Documentation

◆ $cssFolder

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$cssFolder = 'typo3temp/sprites/'
protected

Definition at line 112 of file SpriteGenerator.php.

◆ $defaultHeight

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$defaultHeight = 0
protected

◆ $defaultWidth

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$defaultWidth = 0
protected

◆ $enableHighDensitySprite

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$enableHighDensitySprite = true
protected

Definition at line 63 of file SpriteGenerator.php.

◆ $iconNamesPerSize

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$iconNamesPerSize = []
protected

Definition at line 163 of file SpriteGenerator.php.

◆ $iconsData

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$iconsData = []
protected

Definition at line 149 of file SpriteGenerator.php.

◆ $iconSizes

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$iconSizes = []
protected

Definition at line 156 of file SpriteGenerator.php.

◆ $includeTimestampInCSS

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$includeTimestampInCSS = true
protected

Definition at line 134 of file SpriteGenerator.php.

◆ $nameSpace

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$nameSpace = 't3-icon'
protected

◆ $omitSpriteNameInIconName

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$omitSpriteNameInIconName = false
protected

Definition at line 119 of file SpriteGenerator.php.

◆ $space

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$space = 2
protected

◆ $spriteBases

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$spriteBases = []
protected

Definition at line 142 of file SpriteGenerator.php.

◆ $spriteFolder

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$spriteFolder = 'typo3temp/sprites/'
protected

Definition at line 105 of file SpriteGenerator.php.

◆ $spriteHeight

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$spriteHeight = 0
protected

Definition at line 91 of file SpriteGenerator.php.

◆ $spriteName

◆ $spriteWidth

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$spriteWidth = 0
protected

◆ $templateIcon

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$templateIcon
protected
Initial value:
= '.###NAMESPACE###-###ICONNAME### {
background-position: -###LEFT###px -###TOP###px !important;
###SIZE_INFO###
}
'

Definition at line 54 of file SpriteGenerator.php.

◆ $templateSprite

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$templateSprite
protected
Initial value:
= '
.###NAMESPACE###-###SPRITENAME### {
background-image: url(\'###SPRITEURL###\') !important;
height: ###DEFAULTHEIGHT###px;
width: ###DEFAULTWIDTH###px;
}
'

Definition at line 30 of file SpriteGenerator.php.

◆ $templateSpriteHighDensity

TYPO3\CMS\Backend\Sprite\SpriteGenerator::$templateSpriteHighDensity
protected
Initial value:
= '
.backgroundsize .###NAMESPACE###-###SPRITENAME### {
background-image: url(\'###SPRITEURL###\') !important;
background-size:###BGWIDTH### ###BGHEIGHT###;
}
'

Definition at line 43 of file SpriteGenerator.php.