aboutsummaryrefslogtreecommitdiffstats
path: root/layout/layout.go
blob: 987ee243b600290041b633b361889fa65c3d1833 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package layout

import (
	"image"
	"image/draw"
)

// Layout represents any graphical layout
//
// A Layout needs to be able to redraw itself with the Redraw method.
// Redraw() only draws the background or frame of the Layout, not the childs.
//
// Lay represents the way to divide space among your childs.
// It takes a parameter of how much space is available,
// and returns where exactly to put its childs.
type Layout interface {
	Lay(image.Rectangle) []image.Rectangle
	Redraw(draw.Image, image.Rectangle)
}