CSSPropertyHandler(false, false); } function get_property_code() { return CSS_HTML2PS_COMPOSITE_WIDTH; } function get_property_name() { return '-html2ps-composite-width'; } function default_value() { return new WCNone(); } } class CSSWidth extends CSSSubProperty { function CSSWidth($owner) { $this->CSSSubProperty($owner); } function set_value(&$owner_value, &$value) { $min = $owner_value->_min_width; $owner_value = $value->copy(); $owner_value->_min_width = $min; } function &get_value(&$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 get_property_code() { return CSS_WIDTH; } function get_property_name() { 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')); ?>