Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
6 / 6
ThumbnailService
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
6 / 6
 getThumbnailSpecs
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
6 / 6
<?php
/**
 * Gallery
 *
 * This file is licensed under the Affero General Public License version 3 or
 * later. See the COPYING file.
 *
 * @author Olivier Paroz <galleryapps@oparoz.com>
 *
 * @copyright Olivier Paroz 2014-2016
 */
namespace OCA\Gallery\Service;
/**
 * Deals with any thumbnail specific requests
 *
 * @package OCA\Gallery\Service
 */
class ThumbnailService {
    /**
     * @var bool
     */
    private $animatedPreview = false;
    /**
     * @var bool
     */
    private $base64Encode = true;
    /**
     * Returns thumbnail specs
     *
     *    * Album thumbnails need to be 200x200 and some will be resized by the
     *      browser to 200x100 or 100x100.
     *    * Standard thumbnails are 400x200.
     *
     * @param bool $square
     * @param double $scale
     *
     * @return array<double|boolean>
     */
    public function getThumbnailSpecs($square, $scale) {
        $height = ceil(200 * $scale);
        if ($square) {
            $width = $height;
        } else {
            $width = 2 * $height;
        }
        $thumbnail = [$width, $height, !$square, $this->animatedPreview, $this->base64Encode];
        return $thumbnail;
    }
}