()
| 506 | func (pb *ProgressBar) Update() {} |
| 507 | |
| 508 | func (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 | |
| 545 | func (pb *ProgressBar) Rectangle() *sdl.FRect { |
| 546 | r := *pb.Rect |
nothing calls this directly
no test coverage detected