summary refs log tree commit diff stats
path: root/src/renderer.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2021-03-13 08:42:18 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2021-03-13 15:34:50 -0500
commit72709189edf800d52fe29eea59880bce28becc82 (patch)
tree53f7a6b98546ea8359c0207c64d7119bd202e3c1 /src/renderer.cpp
parent764efea5a38b970fa57d8c0197673276023b58aa (diff)
downloadtanetane-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.cpp26
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);