no-wrap option; pivoted exponential zoom
This commit is contained in:
+21
-12
@@ -11,12 +11,13 @@ import (
|
||||
type interactiveRaster struct {
|
||||
widget.BaseWidget
|
||||
|
||||
edit *editor
|
||||
min fyne.Size
|
||||
raster *canvas.Raster
|
||||
onLayout func(fyne.Size)
|
||||
onDragged func(*fyne.DragEvent)
|
||||
onDragEnd func()
|
||||
edit *editor
|
||||
min fyne.Size
|
||||
raster *canvas.Raster
|
||||
onLayout func(fyne.Size)
|
||||
onScrolled func(*fyne.ScrollEvent)
|
||||
onDragged func(*fyne.DragEvent)
|
||||
onDragEnd func()
|
||||
}
|
||||
|
||||
func (r *interactiveRaster) SetMinSize(size fyne.Size) {
|
||||
@@ -48,14 +49,15 @@ func (r *interactiveRaster) Tapped(ev *fyne.PointEvent) {
|
||||
// TappedSecondary is a right-click event
|
||||
func (r *interactiveRaster) TappedSecondary(*fyne.PointEvent) {}
|
||||
|
||||
func newInteractiveRaster(edit *editor, raster *canvas.Raster, onLayout func(fyne.Size), onDragged func(*fyne.DragEvent), onDragEnd func()) *interactiveRaster {
|
||||
func newInteractiveRaster(edit *editor, raster *canvas.Raster, onLayout func(fyne.Size), onScrolled func(*fyne.ScrollEvent), onDragged func(*fyne.DragEvent), onDragEnd func()) *interactiveRaster {
|
||||
r := &interactiveRaster{
|
||||
// raster: canvas.NewRaster(edit.draw),
|
||||
raster: raster,
|
||||
edit: edit,
|
||||
onLayout: onLayout,
|
||||
onDragged: onDragged,
|
||||
onDragEnd: onDragEnd,
|
||||
raster: raster,
|
||||
edit: edit,
|
||||
onLayout: onLayout,
|
||||
onScrolled: onScrolled,
|
||||
onDragged: onDragged,
|
||||
onDragEnd: onDragEnd,
|
||||
}
|
||||
r.ExtendBaseWidget(r)
|
||||
return r
|
||||
@@ -71,6 +73,13 @@ func bgPattern(x, y, _, _ int) color.Color {
|
||||
return color.Gray{Y: 84}
|
||||
}
|
||||
|
||||
func (r *interactiveRaster) Scrolled(e *fyne.ScrollEvent) {
|
||||
if r.onScrolled == nil {
|
||||
return
|
||||
}
|
||||
r.onScrolled(e)
|
||||
}
|
||||
|
||||
func (r *interactiveRaster) Dragged(e *fyne.DragEvent) {
|
||||
if r.onDragged == nil {
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user