<?php
class BoxTextFieldPageNo extends TextBoxString {
function BoxTextFieldPageNo() {
$this->TextBoxString('', 'iso-8859-1');
}
function from_box(&$box) {
$field = new BoxTextFieldPageNo;
$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->get_css_property(CSS_FONT);
$this->words[0] = sprintf('%d', $viewport->current_page);
$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(&$driver) {
$font = $this->get_css_property(CSS_FONT);
$this->words[0] = sprintf('%d', $driver->current_page);
$field_width = $this->width;
$field_left = $this->_left;
if ($font->size->getPoints() > 0) {
$value_width = $driver->stringwidth($this->words[0],
$this->_get_font_name($driver, 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($driver))) {
return null;
};
$this->width = $field_width;
$this->_left = $field_left;
return true;
}
}
?>