Files
gio/ui/unit.go
T
Elias Naur 0f05231c35 all: initial import
Signed-off-by: Elias Naur <mail@eliasnaur.com>
2019-03-31 10:47:22 +02:00

42 lines
548 B
Go

// SPDX-License-Identifier: Unlicense OR MIT
package ui
type Value struct {
V float32
U Unit
}
type Unit uint8
const (
UnitPx Unit = iota
UnitDp
UnitSp
)
func Px(v float32) Value {
return Value{V: v, U: UnitPx}
}
func Dp(v float32) Value {
return Value{V: v, U: UnitDp}
}
func Sp(v float32) Value {
return Value{V: v, U: UnitSp}
}
func (c *Config) Pixels(v Value) float32 {
switch v.U {
case UnitPx:
return v.V
case UnitDp:
return c.PxPerDp * v.V
case UnitSp:
return c.PxPerSp * v.V
default:
panic("unknown unit")
}
}