Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1441 ariadna 1
<?php
2
 
3
namespace Sabberworm\CSS\CSSList;
4
 
5
use Sabberworm\CSS\OutputFormat;
6
use Sabberworm\CSS\Property\AtRule;
7
 
8
class KeyFrame extends CSSList implements AtRule
9
{
10
    /**
11
     * @var string|null
12
     */
13
    private $vendorKeyFrame;
14
 
15
    /**
16
     * @var string|null
17
     */
18
    private $animationName;
19
 
20
    /**
21
     * @param int $iLineNo
22
     */
23
    public function __construct($iLineNo = 0)
24
    {
25
        parent::__construct($iLineNo);
26
        $this->vendorKeyFrame = null;
27
        $this->animationName = null;
28
    }
29
 
30
    /**
31
     * @param string $vendorKeyFrame
32
     */
33
    public function setVendorKeyFrame($vendorKeyFrame)
34
    {
35
        $this->vendorKeyFrame = $vendorKeyFrame;
36
    }
37
 
38
    /**
39
     * @return string|null
40
     */
41
    public function getVendorKeyFrame()
42
    {
43
        return $this->vendorKeyFrame;
44
    }
45
 
46
    /**
47
     * @param string $animationName
48
     */
49
    public function setAnimationName($animationName)
50
    {
51
        $this->animationName = $animationName;
52
    }
53
 
54
    /**
55
     * @return string|null
56
     */
57
    public function getAnimationName()
58
    {
59
        return $this->animationName;
60
    }
61
 
62
    /**
63
     * @return string
64
     */
65
    public function __toString()
66
    {
67
        return $this->render(new OutputFormat());
68
    }
69
 
70
    /**
71
     * @param OutputFormat|null $oOutputFormat
72
     *
73
     * @return string
74
     */
75
    public function render($oOutputFormat)
76
    {
77
        $sResult = $oOutputFormat->comments($this);
78
        $sResult .= "@{$this->vendorKeyFrame} {$this->animationName}{$oOutputFormat->spaceBeforeOpeningBrace()}{";
79
        $sResult .= $this->renderListContents($oOutputFormat);
80
        $sResult .= '}';
81
        return $sResult;
82
    }
83
 
84
    /**
85
     * @return bool
86
     */
87
    public function isRootList()
88
    {
89
        return false;
90
    }
91
 
92
    /**
93
     * @return string|null
94
     */
95
    public function atRuleName()
96
    {
97
        return $this->vendorKeyFrame;
98
    }
99
 
100
    /**
101
     * @return string|null
102
     */
103
    public function atRuleArgs()
104
    {
105
        return $this->animationName;
106
    }
107
}