The ConstrainDouble
type is used to specify a constraint for a property whose value is a double-precision floating-point number. It extends the DoubleRange
dictionary (which provides the ability to specify a permitted range of property values) to also support an exact value and/or an ideal value the property should take on. Additionally, you can specify the property's value as a simple floating-point value, in which case the user agent does its best to match the value once all other more stringent constraints are met.
Properties
If the value of a ConstrainDouble
is an object rather than a number, it may have the properties below in addition the properties it inherits from DoubleRange
.
exact
- A double-precision floating-point number specifying a specific, required, value the property must have to be considered acceptable.
ideal
- A double-precision floating-point number specifying a value the property would ideally have, but which can be considered optional if necessary to find a match.
Specifications
Specification | Status | Comment |
---|---|---|
Media Capture and Streams The definition of 'ConstrainDouble' in that specification. |
Candidate Recommendation | Initial definition |
Technically, ConstrainDouble
is actually based on an intermediary dictionary named ConstrainDoubleRange
, which adds exact
and ideal
to DoubleRange
, with ConstrainDouble
being a type that can be either a long integer or a DoubleRange
. However, for the sake of documentation clarity, the intermediate type (present only because of quirks in WebIDL syntax) is ignored here.
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
ConstrainDouble | Chrome Full support Yes | Edge Full support ≤79 | Firefox Full support 50 | IE No support No | Opera Full support Yes | Safari ? | WebView Android Full support Yes | Chrome Android Full support Yes | Firefox Android Full support 50 | Opera Android Full support Yes | Safari iOS ? | Samsung Internet Android Full support Yes |
Legend
- Full support
- Full support
- No support
- No support
- Compatibility unknown
- Compatibility unknown