summaryrefslogtreecommitdiff
path: root/examples/go-dashboard/src/github.com/mum4k/termdash/align/align.go
blob: da4087f574a3cec4bbb9d119cf368cbe34904657 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
// Copyright 2018 Google Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Package align defines constants representing types of alignment.
package align

// Horizontal indicates the type of horizontal alignment.
type Horizontal int

// String implements fmt.Stringer()
func (h Horizontal) String() string {
	if n, ok := horizontalNames[h]; ok {
		return n
	}
	return "HorizontalUnknown"
}

// horizontalNames maps Horizontal values to human readable names.
var horizontalNames = map[Horizontal]string{
	HorizontalLeft:   "HorizontalLeft",
	HorizontalCenter: "HorizontalCenter",
	HorizontalRight:  "HorizontalRight",
}

const (
	// HorizontalLeft is left alignment along the horizontal axis.
	HorizontalLeft Horizontal = iota
	// HorizontalCenter is center alignment along the horizontal axis.
	HorizontalCenter
	// HorizontalRight is right alignment along the horizontal axis.
	HorizontalRight
)

// Vertical indicates the type of vertical alignment.
type Vertical int

// String implements fmt.Stringer()
func (v Vertical) String() string {
	if n, ok := verticalNames[v]; ok {
		return n
	}
	return "VerticalUnknown"
}

// verticalNames maps Vertical values to human readable names.
var verticalNames = map[Vertical]string{
	VerticalTop:    "VerticalTop",
	VerticalMiddle: "VerticalMiddle",
	VerticalBottom: "VerticalBottom",
}

const (
	// VerticalTop is top alignment along the vertical axis.
	VerticalTop Vertical = iota
	// VerticalMiddle is middle alignment along the vertical axis.
	VerticalMiddle
	// VerticalBottom is bottom alignment along the vertical axis.
	VerticalBottom
)