Files
luos/thirdparty/html2ps_pdf/box.field.pages.php
Paula Quispe 9eb7d6cac2 HOR-2689
2017-08-03 17:00:30 -04:00

89 lines
2.3 KiB
PHP

<?php
/**
* Handles the '##PAGES##' text field.
*
*/
class BoxTextFieldPages extends TextBoxString {
function BoxTextFieldPages() {
$this->TextBoxString("", "iso-8859-1");
}
function from_box(&$box) {
$field = new BoxTextFieldPages;
$field->copy_style($box);
$field->words = array("000");
$field->encodings = array("iso-8859-1");
$field->_left = $box->_left;
$field->_top = $box->_top;
$field->baseline = $box->baseline;
return $field;
}
function show(&$viewport) {
$font = $this->getCSSProperty(CSS_FONT);
$this->words[0] = sprintf("%d", $viewport->expected_pages);
$field_width = $this->width;
$field_left = $this->_left;
if ($font->size->getPoints() > 0) {
$value_width = $viewport->stringwidth($this->words[0],
$this->_get_font_name($viewport, 0),
$this->encodings[0],
$font->size->getPoints());
if (is_null($value_width)) {
return null;
};
} else {
$value_width = 0;
};
$this->width = $value_width;
$this->_left += ($field_width - $value_width) / 2;
if (is_null(TextBoxString::show($viewport))) {
return null;
};
$this->width = $field_width;
$this->_left = $field_left;
return true;
}
function show_fixed(&$viewport) {
$font = $this->getCSSProperty(CSS_FONT);
$this->words[0] = sprintf("%d", $viewport->expected_pages);
$field_width = $this->width;
$field_left = $this->_left;
if ($font->size->getPoints() > 0) {
$value_width = $viewport->stringwidth($this->words[0],
$this->_get_font_name($viewport, 0),
$this->encodings[0],
$font->size->getPoints());
if (is_null($value_width)) {
return null;
};
} else {
$value_width = 0;
};
$this->width = $value_width;
$this->_left += ($field_width - $value_width) / 2;
if (is_null(TextBoxString::show_fixed($viewport))) {
return null;
};
$this->width = $field_width;
$this->_left = $field_left;
return true;
}
}
?>