28using font_size_variant = std::variant<au::Quantity<PointsPerEm, T>, au::Quantity<PixelsPerEm, T>, au::Quantity<DipsPerEm, T>>;
31class font_size_quantity :
public font_size_variant<T> {
32 using super = font_size_variant<T>;
61 return (*dips_ptr * lhs).as(dips);
64 return (*pixel_ptr * lhs).as(pixels);
67 return (*points_ptr * lhs).as(points);
83 [[nodiscard]]
constexpr static font_size_quantity font_size_quantity_conversion(
length_quantity<O> const&
other)
86 return dips_per_em(
other.in(dips));
88 return pixels_per_em(
other.in(pixels));
90 return points_per_em(
other.in(points));
92 throw std::bad_variant_access();