package placement

import 

type layoutAxis uint8

const (
	invalidAxis layoutAxis = iota
	horizontalAxis
	verticalAxis
)

func ( layoutAxis) () bool {
	return  == horizontalAxis ||  == verticalAxis
}

func ( layoutAxis) () bool {
	return  == horizontalAxis
}

func ( layoutAxis) () layoutAxis {
	switch  {
	case horizontalAxis:
		return verticalAxis
	case verticalAxis:
		return horizontalAxis
	default:
		return invalidAxis
	}
}

func axisForArrangement( layoutgraph.ClusterArrangement) layoutAxis {
	if  == layoutgraph.Column {
		return horizontalAxis
	}
	return verticalAxis
}

type traversalDirection uint8

const (
	invalidDirection traversalDirection = iota
	forwardDirection
	backwardDirection
)

func ( traversalDirection) () bool {
	return  == forwardDirection ||  == backwardDirection
}

func ( traversalDirection) () bool {
	return  == forwardDirection
}

func ( traversalDirection) () traversalDirection {
	switch  {
	case forwardDirection:
		return backwardDirection
	case backwardDirection:
		return forwardDirection
	default:
		return invalidDirection
	}
}