Breakpoints are used to create adaptive UI, allowing to change the layout depending on available size.
Breakpoint is a size threshold, specified by its condition, as well as one or more setters.
Each setter has a target object, a property and a value. When a breakpoint is applied, each setter sets the target property on their
target object to the specified value, and reset it back to the original value when it's unapplied.
For more complicated scenarios, [signal@Breakpoint:AdwBreakpoint:apply] and [signal@Breakpoint:AdwBreakpoint:unapply
] can be used instead.
Breakpoints can be used within [class@Window], [class@ApplicationWindow] or [class@BreakpointBin].
`AdwBreakpoint` as `GtkBuildable`:
`AdwBreakpoint` supports specifying its condition via the `<condition>` element. The contents of the element must be a string in a
format accepted by [func@BreakpointCondition.parse].
It also supports adding setters via the `<setter>` element. Each `<setter>` element must have the `object` attribute
specifying the target object, and the `property` attribute specifying the property name. The contents of the element are used as the
setter value.
For `G_TYPE_OBJECT` and `G_TYPE_BOXED` derived properties, empty contents are treated as `NULL`.
Setter values can be translated with the usual `translatable`, `context` and `comments` attributes.