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.width.inc.php,v 1.19 2007/01/24 18:55:53 Konstantin Exp $
3
 
4
require_once(HTML2PS_DIR.'css.min-width.inc.php');
5
require_once(HTML2PS_DIR.'css.property.sub.class.php');
6
 
7
class CSSCompositeWidth extends CSSPropertyHandler {
8
  function CSSCompositeWidth() {
9
    $this->CSSPropertyHandler(false, false);
10
  }
11
 
12
  function get_property_code() {
13
    return CSS_HTML2PS_COMPOSITE_WIDTH;
14
  }
15
 
16
  function get_property_name() {
17
    return '-html2ps-composite-width';
18
  }
19
 
20
  function default_value() {
21
    return new WCNone();
22
  }
23
}
24
 
25
class CSSWidth extends CSSSubProperty {
26
  function CSSWidth($owner) {
27
    $this->CSSSubProperty($owner);
28
  }
29
 
30
  function set_value(&$owner_value, &$value) {
31
    $min = $owner_value->_min_width;
32
    $owner_value = $value->copy();
33
    $owner_value->_min_width = $min;
34
  }
35
 
36
  function &get_value(&$owner_value) {
37
    return $owner_value;
38
  }
39
 
40
  function default_value() {
41
    return new WCNone;
42
  }
43
 
44
  function parse($value) {
45
    if ($value === 'inherit') {
46
      return CSS_PROPERTY_INHERIT;
47
    };
48
 
49
    // Check if user specified empty value
50
    if ($value === '') { return new WCNone; };
51
 
52
    // Check if this value is 'auto' - default value of this property
53
    if ($value === 'auto') {
54
      return new WCNone;
55
    };
56
 
57
    if (substr($value,strlen($value)-1,1) == '%') {
58
      // Percentage
59
      return new WCFraction(((float)$value)/100);
60
    } else {
61
      // Constant
62
      return new WCConstant(trim($value));
63
    }
64
  }
65
 
66
  function get_property_code() {
67
    return CSS_WIDTH;
68
  }
69
 
70
  function get_property_name() {
71
    return 'width';
72
  }
73
}
74
 
75
$width = new CSSCompositeWidth;
76
CSS::register_css_property($width);
77
CSS::register_css_property(new CSSWidth($width));
78
CSS::register_css_property(new CSSMinWidth($width, '_min_width'));
79
 
80
?>