aboutsummaryrefslogtreecommitdiffstats
path: root/layout/layout.go
blob: 8b8e0393628cff4eedf4256215150999f463cb01 (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
//
// 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.
// The order must be the same as Items.
//
// Redraw only draws the background or frame of the Layout, not the childs.
type Layout interface {
	Lay(image.Rectangle) []image.Rectangle
	Redraw(draw.Image, image.Rectangle)
}