AUI Framework
master
Cross-platform module-based framework for developing C++20 desktop applications
|
Stores dimensions in scalable units (dp, pt, etc...). More...
Stores dimensions in scalable units (dp, pt, etc...).
It's highly recommended to use only Density-independent Pixel unit (_dp
) to make your application correctly handle systems with high DPI. In AUI, all units are density independent except _px
. The only purpose of the _px
unit is to define lines of exact one or two pixels wide.
Recommended way is to use operator literal format:
Common usage:
AMetric can be also initialized via value and unit:
AMetric can be also initialized with zero without unit specified (in this case, AMetric::getUnit will return T_PX):
However, if you try to specify nonzero integer without unit, it will produce a runtime error:
{cpp}
Currently supported units:
Unit | Enum | Literal | Value |
---|---|---|---|
Density-independent Pixels | T_DP | _dp | px * scale_factor |
Typography point | T_PT | _pt | px * scale_factor * 4 / 3 |
Pixels | T_PX | _px | px |
Public Types | |
enum | Unit { T_UNKNOWN , T_PX , T_DP , T_PT } |
Public Member Functions | |
template<typename T , typename std::enable_if_t< std::is_integral_v< T >, bool > = 0> | |
constexpr | AMetric (T value) |
Constructor for AMetric a; a = 0 without unit specifier. Can be used only for zero initialization (see example) More... | |
constexpr | AMetric (float value, Unit unit) |
AMetric (const AString &text) | |
float | getRawValue () const |
Unit | getUnit () const |
float | getValuePx () const |
float | getValueDp () const |
operator float () const | |
AMetric | operator- () const |
AMetric & | operator+= (AMetric rhs) noexcept |
AMetric & | operator-= (AMetric rhs) noexcept |
AMetric & | operator*= (AMetric rhs) noexcept |
AMetric & | operator/= (AMetric rhs) noexcept |
AMetric | operator+ (AMetric rhs) const noexcept |
AMetric | operator- (AMetric rhs) const noexcept |
AMetric | operator* (AMetric rhs) const noexcept |
AMetric | operator/ (AMetric rhs) const noexcept |
AMetric & | operator*= (float rhs) noexcept |
AMetric & | operator/= (float rhs) noexcept |
AMetric | operator* (float rhs) const noexcept |
AMetric | operator/ (float rhs) const noexcept |
bool | operator== (const AMetric &rhs) const |
bool | operator!= (const AMetric &rhs) const |
Static Public Member Functions | |
static float | fromPxToMetric (float value, Unit unit) |
|
inlineconstexpr |
#include <AUI/Util/AMetric.h>