diff options
Diffstat (limited to '')
-rw-r--r-- | library/vendor/dompdf/vendor/sabberworm/php-css-parser/src/Value/URL.php | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/library/vendor/dompdf/vendor/sabberworm/php-css-parser/src/Value/URL.php b/library/vendor/dompdf/vendor/sabberworm/php-css-parser/src/Value/URL.php new file mode 100644 index 0000000..1467d50 --- /dev/null +++ b/library/vendor/dompdf/vendor/sabberworm/php-css-parser/src/Value/URL.php @@ -0,0 +1,82 @@ +<?php + +namespace Sabberworm\CSS\Value; + +use Sabberworm\CSS\OutputFormat; +use Sabberworm\CSS\Parsing\ParserState; +use Sabberworm\CSS\Parsing\SourceException; +use Sabberworm\CSS\Parsing\UnexpectedEOFException; +use Sabberworm\CSS\Parsing\UnexpectedTokenException; + +class URL extends PrimitiveValue +{ + /** + * @var CSSString + */ + private $oURL; + + /** + * @param int $iLineNo + */ + public function __construct(CSSString $oURL, $iLineNo = 0) + { + parent::__construct($iLineNo); + $this->oURL = $oURL; + } + + /** + * @return URL + * + * @throws SourceException + * @throws UnexpectedEOFException + * @throws UnexpectedTokenException + */ + public static function parse(ParserState $oParserState) + { + $bUseUrl = $oParserState->comes('url', true); + if ($bUseUrl) { + $oParserState->consume('url'); + $oParserState->consumeWhiteSpace(); + $oParserState->consume('('); + } + $oParserState->consumeWhiteSpace(); + $oResult = new URL(CSSString::parse($oParserState), $oParserState->currentLine()); + if ($bUseUrl) { + $oParserState->consumeWhiteSpace(); + $oParserState->consume(')'); + } + return $oResult; + } + + /** + * @return void + */ + public function setURL(CSSString $oURL) + { + $this->oURL = $oURL; + } + + /** + * @return CSSString + */ + public function getURL() + { + return $this->oURL; + } + + /** + * @return string + */ + public function __toString() + { + return $this->render(new OutputFormat()); + } + + /** + * @return string + */ + public function render(OutputFormat $oOutputFormat) + { + return "url({$this->oURL->render($oOutputFormat)})"; + } +} |