breakpoint_condition_parse


Description:


[ Version ( replacement = "BreakpointCondition.parse" , since = "1.4" ) ]
public BreakpointCondition breakpoint_condition_parse (string str)

Parses a condition from a string.

Length conditions are specified as `<type>: <value>[<unit>]`, where:

  • `<type>` can be `min-width`, `max-width`, `min-height` or `max-height`
  • `<value>` is a fractional number
  • `<unit>` can be `px`, `pt` or `sp`

If the unit is omitted, `px` is assumed.

See [ctor@BreakpointCondition.new_length].

Examples:

  • `min-width: 500px`
  • `min-height: 400pt`
  • `max-width: 100sp`
  • `max-height: 500`

Ratio conditions are specified as `<type>: <width>[/<height>]`, where:

  • `<type>` can be `min-aspect-ratio` or `max-aspect-ratio`
  • `<width>` and `<height>` are integer numbers

See [ctor@BreakpointCondition.new_ratio].

The ratio is represented as `<width>` divided by `<height>`.

If `<height>` is omitted, it's assumed to be 1.

Examples:

  • `min-aspect-ratio: 4/3`
  • `max-aspect-ratio: 1`

The logical operators `and`, `or` can be used to compose a complex condition as follows:

  • `<condition> and <condition>`: the condition is true when both `<condition>`s are true, same as when using [ ctor@BreakpointCondition.new_and]
  • `<condition> or <condition>`: the condition is true when either of the `<condition>`s is true, same as when using [ ctor@BreakpointCondition.new_or]

Examples:

  • `min-width: 400px and max-aspect-ratio: 4/3`
  • `max-width: 360sp or max-width: 360px`

Conditions can be further nested using parentheses, for example:

  • `min-width: 400px and (max-aspect-ratio: 4/3 or max-height: 400px)`

If parentheses are omitted, the first operator takes priority.

Parameters:

str

the string specifying the condition

Returns:

the parsed condition


Namespace: Adw
Package: libadwaita-1