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.background.inc.php,v 1.23 2007/03/15 18:37:30 Konstantin Exp $
3
 
4
require_once(HTML2PS_DIR.'value.background.php');
5
 
6
class CSSBackground extends CSSPropertyHandler {
7
  var $default_value;
8
 
9
  function get_property_code() {
10
    return CSS_BACKGROUND;
11
  }
12
 
13
  function get_property_name() {
14
    return 'background';
15
  }
16
 
17
  function CSSBackground() {
18
    $this->default_value = new Background(CSSBackgroundColor::default_value(),
19
                                          CSSBackgroundImage::default_value(),
20
                                          CSSBackgroundRepeat::default_value(),
21
                                          CSSBackgroundPosition::default_value(),
22
                                          CSSBackgroundAttachment::default_value());
23
 
24
    $this->CSSPropertyHandler(true, false);
25
  }
26
 
27
  function inherit($state, &$new_state) {
28
    // Determine parent 'display' value
29
    $parent_display = $state[CSS_DISPLAY];
30
 
31
    // If parent is a table row, inherit the background settings
32
    $this->replace_array(($parent_display == 'table-row') ? $state[CSS_BACKGROUND] : $this->default_value(),
33
                         $new_state);
34
  }
35
 
36
  function default_value() {
37
    return $this->default_value->copy();
38
  }
39
 
40
  function parse($value, &$pipeline) {
41
    if ($value === 'inherit') {
42
      return CSS_PROPERTY_INHERIT;
43
    }
44
 
45
    $background = new Background(CSSBackgroundColor::parse($value),
46
                                 CSSBackgroundImage::parse($value, $pipeline),
47
                                 CSSBackgroundRepeat::parse($value),
48
                                 CSSBackgroundPosition::parse($value),
49
                                 CSSBackgroundAttachment::parse($value));
50
 
51
    return $background;
52
  }
53
}
54
 
55
$bg = new CSSBackground;
56
 
57
CSS::register_css_property($bg);
58
CSS::register_css_property(new CSSBackgroundColor($bg, '_color'));
59
CSS::register_css_property(new CSSBackgroundImage($bg, '_image'));
60
CSS::register_css_property(new CSSBackgroundRepeat($bg, '_repeat'));
61
CSS::register_css_property(new CSSBackgroundPosition($bg, '_position'));
62
CSS::register_css_property(new CSSBackgroundAttachment($bg, '_attachment'));
63
 
64
?>