SizeUnit

Structure which is used to set the values of various size-related properties such as: "width", "height" etc. Declared as:

type SizeUnit struct {
    Type  SizeUnitType
    Value float64
    Function SizeFunc
}
Member Type Description
Function SizeFunc Interface which is used to calculate SizeUnit value. See SizeFunc for details. When set this value then Type must be set to SizeFunction
Type SizeUnitType Type of the unit, see below
Value float64 Value

where possible values for Type are:

Value Constant Description
0 Auto default value. The Value field is ignored
1 SizeInPixel the Value field specifies the size in pixels
2 SizeInEM the Value field specifies the size in em units. 1em is equal to the base font size, which is set in the browser settings
3 SizeInEX the Value field specifies the size in ex units
4 SizeInPercent the Value field specifies the size as a percentage of the parent element size
5 SizeInPt the Value field specifies the size in pt units (1pt = 1/72")
6 SizeInPc the Value field specifies the size in pc units (1pc = 12pt)
7 SizeInInch the Value field specifies the size in inches
8 SizeInMM the Value field specifies the size in millimeters
9 SizeInCM the Value field defines the size in centimeters
10 SizeInFraction the Value field specifies the size in parts. Used only for sizing cells of the GridLayout
11 SizeFunction the Function field specifies a function for calculating the size. The Value field is ignored

In resource files SizeUnit values are represented by number values with specific suffix added, see below:

Suffix Resulting type of SizeUnit
px SizeInPixel
em SizeInEM
ex SizeInEX
% SizeInPercent
pt SizeInPt
pc SizeInPc
in SizeInInch
mm SizeInMM
cm SizeInCM
fr SizeInFraction

and special size "auto"(also "none" and "" mapped to this value)

Also it is possible to use text representation of floating point values and integers which will be converted into SizeUnit with type set to SizeInPixel

Examples

"100%"
"10em"
"3fr"
"64pt"
"25mm"
"auto"
"1.5"
"2"
rui.Percent(100)
rui.Em(10)
rui.Fr(3)
rui.Pt(64)
rui.Mm(25)
rui.AutoSize()

Create from source

func AutoSize() SizeUnit

Creates SizeUnit with Auto type

func Cm(value float64) SizeUnit

Creates SizeUnit with SizeInCM type

func Em(value float64) SizeUnit

Creates SizeUnit with SizeInEM type

func Ex(value float64) SizeUnit

Creates SizeUnit with SizeInEX type

func Fr(value float64) SizeUnit

Creates SizeUnit with SizeInFraction type

func Inch(value float64) SizeUnit

Creates SizeUnit with SizeInInch type

func Mm(value float64) SizeUnit

Creates SizeUnit with SizeInMM type

func Pc(value float64) SizeUnit

Creates SizeUnit with SizeInPc type

func Percent(value float64) SizeUnit

Creates SizeUnit with SizeInDIP type

func Pt(value float64) SizeUnit

Creates SizeUnit with SizeInPt type

func Px(value float64) SizeUnit

Creates SizeUnit with SizeInPixel type

Create from resource

View {
    width = 100%,
}

View {
    width = 20em,
}

View {
    width = 20cm,
}
func StringToSizeUnit(value string) (SizeUnit, bool)

Converts the string argument to SizeUnit