Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
// $Header: /cvsroot/html2ps/css.line-height.inc.php,v 1.15 2006/11/11 13:43:52 Konstantin Exp $
3
 
4
require_once(HTML2PS_DIR.'value.line-height.class.php');
5
 
6
/**
7
 * We'll treat 'line-height' as a subproperty of 'font', as it can be set using
8
 * 'font' value
9
 */
10
class CSSLineHeight extends CSSSubFieldProperty {
11
  var $_defaultValue;
12
 
13
  function CSSLineHeight(&$owner, $field) {
14
    $this->CSSSubFieldProperty($owner, $field);
15
 
16
    $this->_defaultValue = new LineHeight_Relative(1.1);
17
  }
18
 
19
  function default_value() {
20
    return $this->_defaultValue;
21
  }
22
 
23
  function parse($value) {
24
    if ($value === 'inherit') {
25
      return CSS_PROPERTY_INHERIT;
26
    };
27
 
28
    // <Number>
29
    // The used value of the property is this number multiplied by the element's font size.
30
    // Negative values are illegal. The computed value is the same as the specified value.
31
    if (preg_match("/^\d+(\.\d+)?$/",$value)) {
32
      return new LineHeight_Relative((float)$value);
33
    };
34
 
35
    // <percentage>
36
    // The computed value of the property is this percentage multiplied by the element's
37
    // computed font size. Negative values are illegal.
38
    if (preg_match("/^\d+%$/",$value)) {
39
      return new LineHeight_Relative(((float)$value)/100);
40
    };
41
 
42
    // normal
43
    // Tells user agents to set the used value to a "reasonable" value based on the font of the element.
44
    // The value has the same meaning as <number>. We recommend a used value for 'normal' between 1.0 to 1.2.
45
    // The computed value is 'normal'.
46
    if (trim($value) === "normal") {
47
      return $this->default_value();
48
    };
49
 
50
    // <length>
51
    // The specified length is used in the calculation of the line box height.
52
    // Negative values are illegal.
53
    return new LineHeight_Absolute($value);
54
  }
55
 
56
  function get_property_code() {
57
    return CSS_LINE_HEIGHT;
58
  }
59
 
60
  function get_property_name() {
61
    return 'line-height';
62
  }
63
}
64
 
65
?>