mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-05 01:15:35 +00:00
+8
-13
@@ -2,16 +2,24 @@
|
||||
|
||||
package ui
|
||||
|
||||
// Value is a value with a unit.
|
||||
type Value struct {
|
||||
V float32
|
||||
U Unit
|
||||
}
|
||||
|
||||
// Unit represents a unit for a Value.
|
||||
type Unit uint8
|
||||
|
||||
const (
|
||||
// UnitPx represent device pixels in the resolution of
|
||||
// the underlying display.
|
||||
UnitPx Unit = iota
|
||||
// UnitDp represents device independent pixels. 1 dp will
|
||||
// have the same apparent size across platforms and
|
||||
// display resolutions.
|
||||
UnitDp
|
||||
// UnitSp is like UnitDp but for font sizes.
|
||||
UnitSp
|
||||
)
|
||||
|
||||
@@ -26,16 +34,3 @@ func Dp(v float32) Value {
|
||||
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