API - XOOPS 2.5.11 Beta 2
By monxoops.fr
HTMLPurifier_UnitConverter Class Reference

Public Member Functions

 __construct ($output_precision=4, $internal_precision=10, $force_no_bcmath=false)
 
 convert ($length, $to_unit)
 
 getSigFigs ($n)
 

Data Fields

const ENGLISH = 1
 
const METRIC = 2
 
const DIGITAL = 3
 

Protected Attributes

 $outputPrecision
 
 $internalPrecision
 

Static Protected Attributes

static $units
 

Detailed Description

Class for converting between different unit-lengths as specified by CSS.

Constructor & Destructor Documentation

◆ __construct()

__construct (   $output_precision = 4,
  $internal_precision = 10,
  $force_no_bcmath = false 
)

Member Function Documentation

◆ convert()

convert (   $length,
  $to_unit 
)

Converts a length object of one unit into another unit.

Parameters
HTMLPurifier_Length$lengthInstance of HTMLPurifier_Length to convert. You must validate() it before passing it here!
string$to_unitUnit to convert to.
Returns
HTMLPurifier_Length|bool
Note
About precision: This conversion function pays very special attention to the incoming precision of values and attempts to maintain a number of significant figure. Results are fairly accurate up to nine digits. Some caveats:
  • If a number is zero-padded as a result of this significant figure tracking, the zeroes will be eliminated.
  • If a number contains less than four sigfigs ($outputPrecision) and this causes some decimals to be excluded, those decimals will be added on.
Here is the call graph for this function:

◆ getSigFigs()

getSigFigs (   $n)

Returns the number of significant figures in a string number.

Parameters
string$nDecimal number
Returns
int number of sigfigs
Here is the caller graph for this function:

Field Documentation

◆ $internalPrecision

$internalPrecision
protected

Bcmath precision for internal calculations. @type int

◆ $outputPrecision

$outputPrecision
protected

Minimum bcmath precision for output. @type int

◆ $units

$units
staticprotected
Initial value:
= array(
self::ENGLISH => array(
'px' => 3,
'pt' => 4,
'pc' => 48,
'in' => 288,
self::METRIC => array('pt', '0.352777778', 'mm'),
),
self::METRIC => array(
'mm' => 1,
'cm' => 10,
self::ENGLISH => array('mm', '2.83464567', 'pt'),
),
)

Units information array. Units are grouped into measuring systems (English, Metric), and are assigned an integer representing the conversion factor between that unit and the smallest unit in the system. Numeric indexes are actually magical constants that encode conversion data from one system to the next, with a O(n^2) constraint on memory (this is generally not a problem, since the number of measuring systems is small.)

◆ DIGITAL

const DIGITAL = 3

◆ ENGLISH

const ENGLISH = 1

◆ METRIC

const METRIC = 2

The documentation for this class was generated from the following file: