adam-gui/vendor/fyne.io/fyne/v2/internal/widget/simple_renderer.go
2024-04-29 19:13:50 +02:00

66 lines
1.4 KiB
Go

package widget
import "fyne.io/fyne/v2"
var _ fyne.WidgetRenderer = (*SimpleRenderer)(nil)
// SimpleRenderer is a basic renderer that satisfies widget.Renderer interface by wrapping
// a single fyne.CanvasObject.
//
// Since: 2.1
type SimpleRenderer struct {
objects []fyne.CanvasObject
}
// NewSimpleRenderer creates a new SimpleRenderer to render a widget using a
// single CanvasObject.
//
// Since: 2.1
func NewSimpleRenderer(object fyne.CanvasObject) *SimpleRenderer {
return &SimpleRenderer{[]fyne.CanvasObject{object}}
}
// Destroy does nothing in this implementation.
//
// Implements: fyne.WidgetRenderer
//
// Since: 2.1
func (r *SimpleRenderer) Destroy() {
}
// Layout updates the contained object to be the requested size.
//
// Implements: fyne.WidgetRenderer
//
// Since: 2.1
func (r *SimpleRenderer) Layout(s fyne.Size) {
r.objects[0].Resize(s)
}
// MinSize returns the smallest size that this render can use, returned from the underlying object.
//
// Implements: fyne.WidgetRenderer
//
// Since: 2.1
func (r *SimpleRenderer) MinSize() fyne.Size {
return r.objects[0].MinSize()
}
// Objects returns the objects that should be rendered.
//
// Implements: fyne.WidgetRenderer
//
// Since: 2.1
func (r *SimpleRenderer) Objects() []fyne.CanvasObject {
return r.objects
}
// Refresh requests the underlying object to redraw.
//
// Implements: fyne.WidgetRenderer
//
// Since: 2.1
func (r *SimpleRenderer) Refresh() {
r.objects[0].Refresh()
}