Parses the input string into a length value.
Namespace: FMX.RS.SVGUtils
Delphi
|
function ParseLength( S: String; DefValue: Single;
var Inherits: Boolean; var aUnit: TSVGUnit; UnitFactors: TSVGUnitFactors ): Single; overload;
|
Parameters
S
Type: String
Input string to parse
DefValue
Type: Single
Default Value. If the string is empty, the default value is returned
Inherits
Type: Boolean
Set to True when the input string contains 'inherit' keyword
aUnit
Type: TSVGUnit
Set to measurement unit read from input string
UnitFactors
Type: TSVGUnitFactors
Return Value
Type: Single
If the string is blank, the function returns the default value ( DefValue). If the string contains 'inherits', the function returns the default value and sets the Inherits parameter to true.
Note
|
A length is a distance measurement, given as a number along with a unit which may be optional.
When a length is used in a style sheet or with a property in a ‘style’ attribute, the syntax must match the following pattern:
length ::= number (~"em" | ~"ex" | ~" px" | ~"in" | ~"cm" | ~"mm" | ~"pt" | ~"pc")?
When a length is used in an SVG presentation attribute, the syntax must match the following pattern:
length ::= number ("em" | "ex" | "px" | "in" | "cm" | "mm" | "pt" | "pc" | "%")?
Note that the non-property definition also allows a percentage unit identifier. The meaning of a percentage length value depends on the attribute for which the percentage length value has been specified. Two common cases are: (a) when a percentage length value represents a percentage of the viewport width or height, and (b) when a percentage length value represents a percentage of the bounding box width or height on a given object.
|
Note
|
The UnitFactors parameter specifies the unit factors for conversion of string lengths into actual values. For example, if the input string contains '1cm', the function uses the UnitFactors to know how large a centimer is. It is usually set when the DPI property of the TSVGDocument element is set.
|
|