unit

package
v1.0.1-0...-f69c2a2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 19, 2021 License: MIT, Unlicense Imports: 2 Imported by: 0

Documentation

Overview

Package unit implements device independent units and values.

A Value is a value with a Unit attached.

Device independent pixel, or dp, is the unit for sizes independent of the underlying display device.

Scaled pixels, or sp, is the unit for text sizes. An sp is like dp with text scaling applied.

Finally, pixels, or px, is the unit for display dependent pixels. Their size vary between platforms and displays.

To maintain a constant visual size across platforms and displays, always use dps or sps to define user interfaces. Only use pixels for derived values.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Metric

type Metric struct {
	// PxPerDp is the device-dependent pixels per dp.
	PxPerDp float32
	// PxPerSp is the device-dependent pixels per sp.
	PxPerSp float32
}

Metric converts Values to device-dependent pixels, px. The zero value represents a 1-to-1 scale from dp, sp to pixels.

func (Metric) Px

func (c Metric) Px(v Value) int

type Unit

type Unit uint8

Unit represents a unit for a Value.

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
)

func (Unit) String

func (u Unit) String() string

type Value

type Value struct {
	V float32
	U Unit
}

Value is a value with a unit.

func Add

func Add(c Metric, values ...Value) Value

Add a list of Values.

func Dp

func Dp(v float32) Value

Dp returns the Value for v device independent pixels.

func Max

func Max(c Metric, values ...Value) Value

Max returns the maximum of a list of Values.

func Px

func Px(v float32) Value

Px returns the Value for v device pixels.

func Sp

func Sp(v float32) Value

Sp returns the Value for v scaled dps.

func (Value) Scale

func (v Value) Scale(s float32) Value

Scale returns the value scaled by s.

func (Value) String

func (v Value) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL