func (f *font) align(rect math.Rect, size math.Size, ascent int, h gxui.HorizontalAlignment, v gxui.VerticalAlignment) math.Point { var origin math.Point switch h { case gxui.AlignLeft: origin.X = rect.Min.X case gxui.AlignCenter: origin.X = rect.Mid().X - (size.W / 2) case gxui.AlignRight: origin.X = rect.Max.X - size.W } switch v { case gxui.AlignTop: origin.Y = rect.Min.Y + ascent case gxui.AlignMiddle: origin.Y = rect.Mid().Y - (size.H / 2) + ascent case gxui.AlignBottom: origin.Y = rect.Max.Y - size.H + ascent } return origin }