MCPcopy Create free account
hub / github.com/cogentcore/core / RenderText

Method RenderText

svg/text.go:167–184  ·  view source on GitHub ↗
(sv *SVG)

Source from the content-addressed store, hash-verified

165}
166
167func (g *Text) RenderText(sv *SVG) {
168 pc := &paint.Context{&sv.RenderState, &g.Paint}
169 mat := &pc.CurrentTransform
170 // note: layout of text has already been done in LocalBBox above
171 g.TextRender.Transform(*mat, &pc.FontStyle, &pc.UnitContext)
172 pos := mat.MulVector2AsPoint(math32.Vec2(g.Pos.X, g.Pos.Y))
173 if pc.TextStyle.Align == styles.Center || pc.TextStyle.Anchor == styles.AnchorMiddle {
174 pos.X -= g.TextRender.BBox.Size().X * .5
175 } else if pc.TextStyle.Align == styles.End || pc.TextStyle.Anchor == styles.AnchorEnd {
176 pos.X -= g.TextRender.BBox.Size().X
177 }
178 g.TextRender.Render(pc, pos)
179 g.LastPos = pos
180 bb := g.TextRender.BBox
181 bb.Translate(math32.Vec2(pos.X, pos.Y-0.8*pc.FontStyle.Font.Face.Metrics.Height)) // adjust for baseline
182 g.LastBBox = bb
183 g.BBoxes(sv)
184}
185
186func (g *Text) LocalBBox() math32.Box2 {
187 return g.TextBBox()

Callers 1

RenderMethod · 0.95

Calls 7

Vec2Function · 0.92
SizeMethod · 0.65
RenderMethod · 0.65
BBoxesMethod · 0.65
TransformMethod · 0.45
MulVector2AsPointMethod · 0.45
TranslateMethod · 0.45

Tested by

no test coverage detected