CSSPropertyHandler(false, false);
}
function getPropertyCode() {
return CSS_HTML2PS_COMPOSITE_WIDTH;
}
function getPropertyName() {
return '-html2ps-composite-width';
}
function default_value() {
return new WCNone();
}
}
class CSSWidth extends CSSSubProperty {
function CSSWidth($owner) {
$this->CSSSubProperty($owner);
}
function setValue(&$owner_value, &$value) {
$min = $owner_value->_min_width;
$owner_value = $value->copy();
$owner_value->_min_width = $min;
}
function &getValue(&$owner_value) {
return $owner_value;
}
function default_value() {
return new WCNone;
}
function parse($value) {
if ($value === 'inherit') {
return CSS_PROPERTY_INHERIT;
};
// Check if user specified empty value
if ($value === "") { return new WCNone; };
// Check if this value is 'auto' - default value of this property
if ($value === 'auto') {
return new WCNone;
};
if (substr($value,strlen($value)-1,1) == "%") {
// Percentage
return new WCFraction(((float)$value)/100);
} else {
// Constant
return new WCConstant(trim($value));
}
}
function getPropertyCode() {
return CSS_WIDTH;
}
function getPropertyName() {
return 'width';
}
}
$width = new CSSCompositeWidth;
CSS::register_css_property($width);
CSS::register_css_property(new CSSWidth($width));
CSS::register_css_property(new CSSMinWidth($width, '_min_width'));
?>