|
Ream v0.1.0-1
C++ graphics library for Linux
|
Represents a set of DRM formats and their associated modifiers. More...
#include <RDRMFormat.h>
Public Member Functions | |
| const boost::container::flat_set< RDRMFormat, RDRMFormat::Less > & | formats () const noexcept |
| Returns the internal set of formats with their modifiers. | |
| bool | has (RFormat format, RModifier modifier) const noexcept |
| Checks if a specific format+modifier combination is present. | |
| bool | add (RFormat format, RModifier modifier) noexcept |
| Adds a format+modifier pair to the set. | |
| bool | remove (RFormat format, RModifier modifier) noexcept |
| Removes a specific modifier from a format. | |
| bool | removeFormat (RFormat format) noexcept |
| Removes all modifiers for a given format, effectively removing the format. | |
| bool | removeModifier (RModifier modifier) noexcept |
| Removes the given modifier from all formats. | |
| bool | addModifier (RModifier modifier) noexcept |
| Adds the given modifier to all existing formats. | |
| void | log () const noexcept |
| Logs the contents of the format set (its formats and modifiers) for debugging. | |
Static Public Member Functions | |
| static RDRMFormatSet | Union (const RDRMFormatSet &a, const RDRMFormatSet &b) noexcept |
| Computes the union of two format sets. | |
| static RDRMFormatSet | Intersect (const RDRMFormatSet &a, const RDRMFormatSet &b) noexcept |
| Computes the intersection of two format sets. | |
| static RDRMFormatSet | Intersect (const RDRMFormatSet &a, const boost::container::flat_set< RFormat > &b) noexcept |
| Computes the intersection between a format set and a set of DRM formats. | |
Represents a set of DRM formats and their associated modifiers.
This class is typically used by subsystems (e.g. KMS, EGL, etc) to declare supported format+modifier combinations.
|
inlinenoexcept |
Returns the internal set of formats with their modifiers.
|
staticnoexcept |
Computes the union of two format sets.
| a | First format set. |
| b | Second format set. |
|
staticnoexcept |
Computes the intersection of two format sets.
Only formats and modifiers present in both sets will be retained.
| a | First format set. |
| b | Second format set. |
|
staticnoexcept |
Computes the intersection between a format set and a set of DRM formats.
All modifiers for matching formats are retained.
| a | Format set to filter. |
| b | Set of DRM formats. |
|
noexcept |
Checks if a specific format+modifier combination is present.
| format | The DRM format to check. |
| modifier | The modifier to check. |
|
noexcept |
Adds a format+modifier pair to the set.
If the format is new, it is inserted with the modifier. If the format already exists, the modifier is added to its modifier set.
| format | The DRM format to add. |
| modifier | The modifier to add. |
|
noexcept |
Removes a specific modifier from a format.
If the modifier is the last one for that format, the entire format entry is removed.
| format | The DRM format. |
| modifier | The modifier to remove. |
|
noexcept |
Removes all modifiers for a given format, effectively removing the format.
| format | The DRM format to remove. |
|
noexcept |
Removes the given modifier from all formats.
If any format ends up with no modifiers, it is removed from the set.
| modifier | The modifier to remove. |
|
noexcept |
Adds the given modifier to all existing formats.
| modifier | The modifier to add. |
|
noexcept |
Logs the contents of the format set (its formats and modifiers) for debugging.