mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-08 19:05:35 +00:00
+41
@@ -0,0 +1,41 @@
|
||||
// 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")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user