| 1 |
lars |
1 |
<?php
|
|
|
2 |
// $Header: /cvsroot/html2ps/css.pseudo.align.inc.php,v 1.13 2006/09/07 18:38:14 Konstantin Exp $
|
|
|
3 |
|
|
|
4 |
define('PA_LEFT',0);
|
|
|
5 |
define('PA_CENTER',1);
|
|
|
6 |
define('PA_RIGHT',2);
|
|
|
7 |
|
|
|
8 |
// This is a pseudo CSS property for
|
|
|
9 |
|
|
|
10 |
class CSSPseudoAlign extends CSSPropertyHandler {
|
|
|
11 |
function CSSPseudoAlign() { $this->CSSPropertyHandler(true, true); }
|
|
|
12 |
|
|
|
13 |
function default_value() {
|
|
|
14 |
return PA_LEFT;
|
|
|
15 |
}
|
|
|
16 |
|
|
|
17 |
function inherit($old_state, &$new_state) {
|
|
|
18 |
// This pseudo-property is not inherited by tables
|
|
|
19 |
// As current box display value may not be know at the moment of inheriting,
|
|
|
20 |
// we'll use parent display value, stopping inheritance on the table-row/table-group level
|
|
|
21 |
|
|
|
22 |
// Determine parent 'display' value
|
|
|
23 |
$parent_display = $old_state[CSS_DISPLAY];
|
|
|
24 |
|
|
|
25 |
$this->replace_array(($parent_display === 'table') ? $this->default_value() : $this->get($old_state),
|
|
|
26 |
$new_state);
|
|
|
27 |
}
|
|
|
28 |
|
|
|
29 |
function parse($value) {
|
|
|
30 |
// Convert value to lower case, as html allows values
|
|
|
31 |
// in both cases to be entered
|
|
|
32 |
//
|
|
|
33 |
$value = strtolower($value);
|
|
|
34 |
|
|
|
35 |
if ($value === 'left') { return PA_LEFT; }
|
|
|
36 |
if ($value === 'right') { return PA_RIGHT; }
|
|
|
37 |
if ($value === 'center') { return PA_CENTER; }
|
|
|
38 |
|
|
|
39 |
// For compatibility with non-valid HTML
|
|
|
40 |
//
|
|
|
41 |
if ($value === 'middle') { return PA_CENTER; }
|
|
|
42 |
|
|
|
43 |
return $this->default_value();
|
|
|
44 |
}
|
|
|
45 |
|
|
|
46 |
function value2pdf($value) {
|
|
|
47 |
switch ($value) {
|
|
|
48 |
case PA_LEFT:
|
|
|
49 |
return "ta_left";
|
|
|
50 |
case PA_RIGHT:
|
|
|
51 |
return "ta_right";
|
|
|
52 |
case PA_CENTER:
|
|
|
53 |
return "ta_center";
|
|
|
54 |
default:
|
|
|
55 |
return "ta_left";
|
|
|
56 |
}
|
|
|
57 |
}
|
|
|
58 |
|
|
|
59 |
function get_property_code() {
|
|
|
60 |
return CSS_HTML2PS_ALIGN;
|
|
|
61 |
}
|
|
|
62 |
|
|
|
63 |
function get_property_name() {
|
|
|
64 |
return '-html2ps-align';
|
|
|
65 |
}
|
|
|
66 |
}
|
|
|
67 |
|
|
|
68 |
CSS::register_css_property(new CSSPseudoAlign);
|
|
|
69 |
|
|
|
70 |
?>
|