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); |