You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.4 KiB
66 lines
1.4 KiB
<?php
|
|
|
|
namespace Sabberworm\CSS\Property;
|
|
|
|
/**
|
|
* Class representing an @charset rule.
|
|
* The following restrictions apply:
|
|
* • May not be found in any CSSList other than the Document.
|
|
* • May only appear at the very top of a Document’s contents.
|
|
* • Must not appear more than once.
|
|
*/
|
|
class Charset implements AtRule {
|
|
|
|
private $sCharset;
|
|
protected $iLineNo;
|
|
protected $aComment;
|
|
|
|
public function __construct($sCharset, $iLineNo = 0) {
|
|
$this->sCharset = $sCharset;
|
|
$this->iLineNo = $iLineNo;
|
|
$this->aComments = array();
|
|
}
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function getLineNo() {
|
|
return $this->iLineNo;
|
|
}
|
|
|
|
public function setCharset($sCharset) {
|
|
$this->sCharset = $sCharset;
|
|
}
|
|
|
|
public function getCharset() {
|
|
return $this->sCharset;
|
|
}
|
|
|
|
public function __toString() {
|
|
return $this->render(new \Sabberworm\CSS\OutputFormat());
|
|
}
|
|
|
|
public function render(\Sabberworm\CSS\OutputFormat $oOutputFormat) {
|
|
return "@charset {$this->sCharset->render($oOutputFormat)};";
|
|
}
|
|
|
|
public function atRuleName() {
|
|
return 'charset';
|
|
}
|
|
|
|
public function atRuleArgs() {
|
|
return $this->sCharset;
|
|
}
|
|
|
|
public function addComments(array $aComments) {
|
|
$this->aComments = array_merge($this->aComments, $aComments);
|
|
}
|
|
|
|
public function getComments() {
|
|
return $this->aComments;
|
|
}
|
|
|
|
public function setComments(array $aComments) {
|
|
$this->aComments = $aComments;
|
|
}
|
|
}
|