Moodle  2.2.1
http://www.collinsharper.com
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.

Definition at line 7 of file UnitConverter.php.


Constructor & Destructor Documentation

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

Definition at line 53 of file UnitConverter.php.


Member Function Documentation

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.
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.

Definition at line 77 of file UnitConverter.php.

Here is the call graph for this function:

getSigFigs ( n)

Returns the number of significant figures in a string number.

Parameters:
string$nDecimal number
Returns:
int number of sigfigs

Definition at line 173 of file UnitConverter.php.

Here is the caller graph for this function:


Field Documentation

$internalPrecision [protected]

Bcmath precision for internal calculations.

Definition at line 46 of file UnitConverter.php.

$outputPrecision [protected]

Minimum bcmath precision for output.

Definition at line 41 of file UnitConverter.php.

$units [static, protected]
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.)

Definition at line 23 of file UnitConverter.php.

const DIGITAL = 3

Definition at line 12 of file UnitConverter.php.

const ENGLISH = 1

Definition at line 10 of file UnitConverter.php.

const METRIC = 2

Definition at line 11 of file UnitConverter.php.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Enumerations