size

package
v0.0.0-...-28c475f Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2021 License: BSD-3-Clause Imports: 2 Imported by: 0

Documentation

Overview

Package size defines an event for the dimensions, physical resolution and orientation of the app's window.

See the github.com/provpn/mobile/app package for details on the event model.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Event

type Event struct {
	// WidthPx and HeightPx are the window's dimensions in pixels.
	WidthPx, HeightPx int

	// WidthPt and HeightPt are the window's physical dimensions in points
	// (1/72 of an inch).
	//
	// The values are based on PixelsPerPt and are therefore approximate, as
	// per the comment on PixelsPerPt.
	WidthPt, HeightPt geom.Pt

	// PixelsPerPt is the window's physical resolution. It is the number of
	// pixels in a single geom.Pt, from the github.com/provpn/mobile/geom package.
	//
	// There are a wide variety of pixel densities in existing phones and
	// tablets, so apps should be written to expect various non-integer
	// PixelsPerPt values. In general, work in geom.Pt.
	//
	// The value is approximate, in that the OS, drivers or hardware may report
	// approximate or quantized values. An N x N pixel square should be roughly
	// 1 square inch for N = int(PixelsPerPt * 72), although different square
	// lengths (in pixels) might be closer to 1 inch in practice. Nonetheless,
	// this PixelsPerPt value should be consistent with e.g. the ratio of
	// WidthPx to WidthPt.
	PixelsPerPt float32

	// Orientation is the orientation of the device screen.
	Orientation Orientation
}

Event holds the dimensions, physical resolution and orientation of the app's window.

func (Event) Bounds

func (e Event) Bounds() image.Rectangle

Bounds returns the window's bounds in pixels, at the time this size event was sent.

The top-left pixel is always (0, 0). The bottom-right pixel is given by the width and height.

func (Event) Size

func (e Event) Size() image.Point

Size returns the window's size in pixels, at the time this size event was sent.

type Orientation

type Orientation int

Orientation is the orientation of the device screen.

const (
	// OrientationUnknown means device orientation cannot be determined.
	//
	// Equivalent on Android to Configuration.ORIENTATION_UNKNOWN
	// and on iOS to:
	//	UIDeviceOrientationUnknown
	//	UIDeviceOrientationFaceUp
	//	UIDeviceOrientationFaceDown
	OrientationUnknown Orientation = iota

	// OrientationPortrait is a device oriented so it is tall and thin.
	//
	// Equivalent on Android to Configuration.ORIENTATION_PORTRAIT
	// and on iOS to:
	//	UIDeviceOrientationPortrait
	//	UIDeviceOrientationPortraitUpsideDown
	OrientationPortrait

	// OrientationLandscape is a device oriented so it is short and wide.
	//
	// Equivalent on Android to Configuration.ORIENTATION_LANDSCAPE
	// and on iOS to:
	//	UIDeviceOrientationLandscapeLeft
	//	UIDeviceOrientationLandscapeRight
	OrientationLandscape
)

Jump to

Keyboard shortcuts

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