diff options
Diffstat (limited to 'internal/router/template.go')
| -rw-r--r-- | internal/router/template.go | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/internal/router/template.go b/internal/router/template.go index 51c0c4960..89b7086b2 100644 --- a/internal/router/template.go +++ b/internal/router/template.go @@ -136,6 +136,7 @@ func LoadTemplates(engine *gin.Engine) error { var funcMap = template.FuncMap{ "add": add, "acctInstance": acctInstance, + "objectPosition": objectPosition, "demojify": demojify, "deref": deref, "emojify": emojify, @@ -365,3 +366,12 @@ func deref(i any) any { return vOf.Elem() } + +// objectPosition formats the given focus coordinates to a +// string suitable for use as a css object-position value. +func objectPosition(focusX float32, focusY float32) string { + const fmts = "%.2f" + xPos := ((focusX / 2) + .5) * 100 + yPos := ((focusY / -2) + .5) * 100 + return fmt.Sprintf(fmts, xPos) + "%" + " " + fmt.Sprintf(fmts, yPos) + "%" +} |
