An error occurred while loading the file. Please try again.
-
Côme Chilliet authored
issue #5955
f8839bf4
<?php
/*
This code is part of FusionDirectory (http://www.fusiondirectory.org/)
Copyright (C) 2011-2016 FusionDirectory
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*/
class ThemeFileParsingException extends Exception
{
}
/*!
* \brief Icon theme directory
*/
class IconThemeDir
{
/* Nominal (unscaled) size of the icons in this directory.
* Required. */
private $Size;
/* Specifies the minimum (unscaled) size that the icons in this directory can be scaled to.
* Defaults to the value of Size if not present. */
private $MinSize;
/* Specifies the maximum (unscaled) size that the icons in this directory can be scaled to.
* Defaults to the value of Size if not present. */
private $MaxSize;
/* The type of icon sizes for the icons in this directory.
* Valid types are Fixed, Scalable and Threshold.
* The type decides what other keys in the section are used.
* If not specified, the default is Threshold. */
private $Type = 'Threshold';
/* The icons in this directory can be used if the size differ at most this much from the desired (unscaled) size.
* Defaults to 2 if not present. */
private $Threshold = 2;
function __construct ($infos)
{
$this->Size = $infos['Size'];
$this->MinSize = $infos['Size'];
$this->MaxSize = $infos['Size'];
foreach (['Type', 'MaxSize', 'MinSize', 'Threshold'] as $key) {
if (isset($infos[$key])) {
$this->$key = $infos[$key];
}
}
/* Thanks to this Threshold and Scaled are the same */
if ($this->Type == 'Threshold') {
$this->MinSize = $this->Size - $this->Threshold;
$this->MaxSize = $this->Size + $this->Threshold;
}
}
function MatchesSize ($size)
{