MCPcopy Create free account
hub / github.com/SolarLune/masterplan / Draw

Method Draw

gui.go:508–543  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

506func (pb *ProgressBar) Update() {}
507
508func (pb *ProgressBar) Draw() {
509
510 r := pb.Rectangle()
511
512 text := fmt.Sprintf("%d%%", int(pb.Percentage*100))
513 textHeight := globals.TextRenderer.MeasureText([]rune(text), 1).Y
514
515 p := Vector{r.X + (r.W / 2), r.Y + (r.H / 2) - (textHeight / 2)}
516
517 if pb.WorldSpace {
518 r = globals.Project.Camera.TranslateRect(r)
519 p = globals.Project.Camera.TranslatePoint(p)
520 }
521
522 renderer := globals.Renderer
523
524 renderer.SetDrawColor(getThemeColor(GUIFontColor).RGBA())
525 renderer.RenderFillRect(r)
526
527 margin := float32(2)
528 r.X += margin
529 r.Y += margin
530 r.W -= margin * 2
531 r.H -= margin * 2
532
533 renderer.SetDrawColor(getThemeColor(GUIMenuColor).RGBA())
534 renderer.RenderFillRect(r)
535
536 r.W *= pb.Percentage
537
538 renderer.SetDrawColor(getThemeColor(GUICompletedColor).RGBA())
539 renderer.RenderFillRect(r)
540
541 globals.TextRenderer.QuickRenderText(text, p, 1, ColorWhite, ColorBlack, AlignCenter)
542
543}
544
545func (pb *ProgressBar) Rectangle() *sdl.FRect {
546 r := *pb.Rect

Callers

nothing calls this directly

Calls 7

RectangleMethod · 0.95
getThemeColorFunction · 0.85
MeasureTextMethod · 0.80
TranslateRectMethod · 0.80
TranslatePointMethod · 0.80
RGBAMethod · 0.80
QuickRenderTextMethod · 0.80

Tested by

no test coverage detected