66 lines
1.4 KiB
Go
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()
|
|
}
|