From 163194dd2d7df5cf23dbdd8a18158bb81b5805be Mon Sep 17 00:00:00 2001 From: Andy Williams Date: Mon, 9 Aug 2021 10:01:34 +0100 Subject: [PATCH] Capture text scale for Advanced pane --- cmd/fyne_demo/tutorials/advanced.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/cmd/fyne_demo/tutorials/advanced.go b/cmd/fyne_demo/tutorials/advanced.go index 24e5da320c..ac08b36268 100644 --- a/cmd/fyne_demo/tutorials/advanced.go +++ b/cmd/fyne_demo/tutorials/advanced.go @@ -14,14 +14,21 @@ func scaleString(c fyne.Canvas) string { return strconv.FormatFloat(float64(c.Scale()), 'f', 2, 32) } +func texScaleString(c fyne.Canvas) string { + pixels, _ := c.PixelCoordinateForPosition(fyne.NewPos(1, 1)) + texScale := float32(pixels) / c.Scale() + return strconv.FormatFloat(float64(texScale), 'f', 2, 32) +} + func prependTo(g *fyne.Container, s string) { g.Objects = append([]fyne.CanvasObject{widget.NewLabel(s)}, g.Objects...) g.Refresh() } -func setScaleText(obj *widget.Label, win fyne.Window) { - for obj.Visible() { - obj.SetText(scaleString(win.Canvas())) +func setScaleText(scale, tex *widget.Label, win fyne.Window) { + for scale.Visible() { + scale.SetText(scaleString(win.Canvas())) + tex.SetText(texScaleString(win.Canvas())) time.Sleep(time.Second) } @@ -31,12 +38,14 @@ func setScaleText(obj *widget.Label, win fyne.Window) { // more detailed than normally needed. func advancedScreen(win fyne.Window) fyne.CanvasObject { scale := widget.NewLabel("") + tex := widget.NewLabel("") screen := widget.NewCard("Screen info", "", widget.NewForm( &widget.FormItem{Text: "Scale", Widget: scale}, + &widget.FormItem{Text: "Texture Scale", Widget: tex}, )) - go setScaleText(scale, win) + go setScaleText(scale, tex, win) label := widget.NewLabel("Just type...") generic := container.NewVBox()