1<?php
2// $Header: /cvsroot/html2ps/css.background.repeat.inc.php,v 1.8 2006/07/09 09:07:44 Konstantin Exp $
3
4define('BR_REPEAT',0);
5define('BR_REPEAT_X',1);
6define('BR_REPEAT_Y',2);
7define('BR_NO_REPEAT',3);
8
9class CSSBackgroundRepeat extends CSSSubFieldProperty {
10  function get_property_code() {
11    return CSS_BACKGROUND_REPEAT;
12  }
13
14  function get_property_name() {
15    return 'background-repeat';
16  }
17
18  function default_value() { return BR_REPEAT; }
19
20  function parse($value) {
21    if ($value === 'inherit') {
22      return CSS_PROPERTY_INHERIT;
23    }
24
25    // Note that we cannot just compare $value with these strings for equality,
26    // as 'parse' can be called with composite 'background' value as a parameter,
27    // say, 'black url(picture.gif) repeat', instead of just using 'repeat'
28
29    // Also, note that
30    // 1) 'repeat-x' value will match 'repeat' term
31    // 2) background-image 'url' values may contain these values as substrings
32    // to avoid these problems, we'll add spaced to the beginning and to the end of value,
33    // and will search for space-padded values, instead of raw substrings
34    $value = " ".$value." ";
35    if (strpos($value, ' repeat-x ')  !== false) { return BR_REPEAT_X; };
36    if (strpos($value, ' repeat-y ')  !== false) { return BR_REPEAT_Y; };
37    if (strpos($value, ' no-repeat ') !== false) { return BR_NO_REPEAT; };
38    if (strpos($value, ' repeat ')    !== false) { return BR_REPEAT; };
39    return CSSBackgroundRepeat::default_value();
40  }
41}
42
43?>