Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
SolidBackground
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 render
0.00% covered (danger)
0.00%
0 / 10
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3/**
4 * Solid cover background layer
5 *
6 * PHP version 8
7 *
8 * Copyright (C) Villanova University 2018.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2,
12 * as published by the Free Software Foundation.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
22 *
23 * @category VuFind
24 * @package  Cover_Generator
25 * @author   Demian Katz <demian.katz@villanova.edu>
26 * @license  http://opensource.org/licenses/gpl-2.0.php GNU General Public License
27 * @link     https://vufind.org/wiki/development:plugins:hierarchy_components Wiki
28 */
29
30namespace VuFind\Cover\Layer;
31
32/**
33 * Solid cover background layer
34 *
35 * @category VuFind
36 * @package  Cover_Generator
37 * @author   Demian Katz <demian.katz@villanova.edu>
38 * @license  http://opensource.org/licenses/gpl-2.0.php GNU General Public License
39 * @link     https://vufind.org/wiki/development:plugins:hierarchy_components Wiki
40 */
41class SolidBackground extends AbstractBackgroundLayer
42{
43    /**
44     * Render the layer
45     *
46     * @param resource $im       Image resource to draw on
47     * @param array    $details  Cover details array (with title/author/call_number)
48     * @param object   $settings Settings object
49     *
50     * @return void
51     */
52    public function render($im, $details, $settings)
53    {
54        // Fill solid color
55        $seed = $this->createSeed($details['title'], $details['callnumber']);
56        $accentColor = $this->getAccentColor($im, $seed, $settings);
57        imagefilledrectangle(
58            $im,
59            0,
60            0,
61            $settings->width,
62            $settings->height,
63            $accentColor
64        );
65    }
66}