29 lines
445 B
Go
29 lines
445 B
Go
package ui
|
|
|
|
import (
|
|
"opslag.de/schobers/geom"
|
|
)
|
|
|
|
type Control interface {
|
|
Arrange(Context, geom.RectangleF32, geom.PointF32, Control)
|
|
DesiredSize(Context) geom.PointF32
|
|
Handle(Context, Event) bool
|
|
Render(Context)
|
|
|
|
Bounds() geom.RectangleF32
|
|
Disable()
|
|
Enable()
|
|
IsDisabled() bool
|
|
IsInBounds(p geom.PointF32) bool
|
|
IsOver() bool
|
|
Offset() geom.PointF32
|
|
|
|
Parent() Control
|
|
}
|
|
|
|
type RootControl interface {
|
|
Control
|
|
|
|
Init(Context) error
|
|
}
|