diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2021-03-13 08:42:18 -0500 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2021-03-13 15:34:50 -0500 |
| commit | 72709189edf800d52fe29eea59880bce28becc82 (patch) | |
| tree | 53f7a6b98546ea8359c0207c64d7119bd202e3c1 /src/renderer.cpp | |
| parent | 764efea5a38b970fa57d8c0197673276023b58aa (diff) | |
| download | tanetane-72709189edf800d52fe29eea59880bce28becc82.tar.gz tanetane-72709189edf800d52fe29eea59880bce28becc82.tar.bz2 tanetane-72709189edf800d52fe29eea59880bce28becc82.zip | |
Rendered some menu options
#7
Diffstat (limited to 'src/renderer.cpp')
| -rw-r--r-- | src/renderer.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
| diff --git a/src/renderer.cpp b/src/renderer.cpp index 314dd4f..81e6b9c 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp | |||
| @@ -500,6 +500,32 @@ void Renderer::render(Game& game) { | |||
| 500 | SDL_SetRenderDrawBlendMode(ren_.get(), SDL_BLENDMODE_NONE); | 500 | SDL_SetRenderDrawBlendMode(ren_.get(), SDL_BLENDMODE_NONE); |
| 501 | SDL_SetRenderDrawColor(ren_.get(), 0, 0, 0, 255); | 501 | SDL_SetRenderDrawColor(ren_.get(), 0, 0, 0, 255); |
| 502 | SDL_RenderFillRect(ren_.get(), nullptr); | 502 | SDL_RenderFillRect(ren_.get(), nullptr); |
| 503 | |||
| 504 | const int lineHeight = 16; | ||
| 505 | int totalHeight = menus.getMenu().size() * lineHeight; | ||
| 506 | |||
| 507 | int index = 0; | ||
| 508 | for (const MenuItem& menuItem : menus.getMenu()) { | ||
| 509 | switch (menuItem.type) { | ||
| 510 | case MenuType::Command: { | ||
| 511 | MessageCache output; | ||
| 512 | renderMessageLine(output, menuItem.text, game); | ||
| 513 | |||
| 514 | SDL_Rect dest { | ||
| 515 | (CANVAS_WIDTH - output.charIndexToWidth.back()) / 2, | ||
| 516 | (CANVAS_HEIGHT - totalHeight) / 2 + lineHeight * index, | ||
| 517 | MESSAGE_TEXT_WIDTH, | ||
| 518 | game.getFont().getCharacterHeight() | ||
| 519 | }; | ||
| 520 | |||
| 521 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); | ||
| 522 | SDL_RenderCopy(ren_.get(), output.renderedTex.get(), nullptr, &dest); | ||
| 523 | |||
| 524 | break; | ||
| 525 | } | ||
| 526 | } | ||
| 527 | index++; | ||
| 528 | } | ||
| 503 | } else if (menus.getPauseAnimationProgress() > 0.0) { | 529 | } else if (menus.getPauseAnimationProgress() > 0.0) { |
| 504 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); | 530 | SDL_SetRenderTarget(ren_.get(), cameraTex.get()); |
| 505 | SDL_SetRenderDrawBlendMode(ren_.get(), SDL_BLENDMODE_NONE); | 531 | SDL_SetRenderDrawBlendMode(ren_.get(), SDL_BLENDMODE_NONE); |
