Wt  4.11.1
Public Types | Public Member Functions | Static Public Attributes | List of all members
Wt::WLength Class Reference

A value class that describes a CSS length. More...

#include <Wt/WLength.h>

Public Types

typedef LengthUnit Unit
 Typedef for enum Wt::LengthUnit.
 

Public Member Functions

 WLength ()
 Creates an 'auto' length. More...
 
template<std::size_t N>
 WLength (const char(&str)[N])
 Creates a length by parsing the argument as a css length string. More...
 
 WLength (const std::string &str)
 Creates a length by parsing the argument as a css length string. More...
 
 WLength (double value, LengthUnit unit=LengthUnit::Pixel)
 Creates a length with value and unit. More...
 
bool isAuto () const
 Returns whether the length is 'auto'. More...
 
double value () const
 Returns the value. More...
 
LengthUnit unit () const
 Returns the unit. More...
 
const std::string cssText () const
 Returns the CSS text.
 
bool operator== (const WLength &other) const
 Comparison operator.
 
bool operator!= (const WLength &other) const
 Comparison operator.
 
double toPixels (double fontSize=16.0) const
 Returns the (approximate) length in pixels. More...
 

Static Public Attributes

static WLength Auto
 An 'auto' length. More...
 

Detailed Description

A value class that describes a CSS length.

The class combines a value with a unit. There is a special value auto which has a different meaning depending on the context.

Constructor & Destructor Documentation

◆ WLength() [1/4]

Wt::WLength::WLength ( )

Creates an 'auto' length.

Specifies an 'auto' length.

See also
Auto

◆ WLength() [2/4]

template<std::size_t N>
Wt::WLength::WLength ( const char(&)  str[N])

Creates a length by parsing the argument as a css length string.

This supports all CSS length formats that have an API counterpart.

This is an overload for the std::string version that accepts a string literal.

◆ WLength() [3/4]

Wt::WLength::WLength ( const std::string &  str)

Creates a length by parsing the argument as a css length string.

This supports all CSS length formats that have an API counterpart.

◆ WLength() [4/4]

Wt::WLength::WLength ( double  value,
LengthUnit  unit = LengthUnit::Pixel 
)

Creates a length with value and unit.

This constructor is also used for the implicit conversion of a double to a WLength, assuming a pixel unit.

Member Function Documentation

◆ isAuto()

bool Wt::WLength::isAuto ( ) const

Returns whether the length is 'auto'.

See also
WLength(), Auto

◆ toPixels()

double Wt::WLength::toPixels ( double  fontSize = 16.0) const

Returns the (approximate) length in pixels.

When the length isAuto(), 0 is returned, otherwise the approximate length in pixels.

Note
For percentages (LengthUnit::Percentage), and units relative to viewport size (LengthUnit::ViewportWidth, LengthUnit::ViewportHeight, LengthUnit::ViewportMin, LengthUnit::ViewportMax), a percentage of the font size is used.

◆ unit()

LengthUnit Wt::WLength::unit ( ) const

Returns the unit.

See also
value()

◆ value()

double Wt::WLength::value ( ) const

Returns the value.

See also
unit()

Member Data Documentation

◆ Auto

WLength Wt::WLength::Auto
static

An 'auto' length.

See also
WLength()