diff --git a/source/code/HelpHowtoState.cpp b/source/code/HelpHowtoState.cpp index 5d53c67..e0e71d8 100644 --- a/source/code/HelpHowtoState.cpp +++ b/source/code/HelpHowtoState.cpp @@ -91,6 +91,23 @@ public: } }; +class MultiLineBlocks { +private: + std::vector lines; +public: + MultiLineBlocks& addLine(const std::string& line) { + lines.push_back(line); + return *this; + } + + void Render(SDL_Renderer* target, int x, int y) { + for (size_t i = 0; i < lines.size(); ++i) { + RenderRowOfBricks(target, lines[i], x, y+i*50); + } + } + +}; + HorizontalSwitchAnimation switchAnimation; sago::SagoTextField switchAnimationField; @@ -124,8 +141,19 @@ void HelpHowtoState::Draw(SDL_Renderer* target) { RenderRowOfBricks(target, switchAnimation.brickStr, 50, 50); globalData.spriteHolder->GetSprite("cursor").Draw(target, SDL_GetTicks(), 50+switchAnimation.cursorPos*50, 50); switchAnimationField.Draw(target, 50 +150+30, 50); - RenderRowOfBricks(target, "a aa", 50, 150); - RenderRowOfBricks(target, " AAA", 50+300, 150); + RenderRowOfBricks(target, "adaa", 50, 150); + globalData.spriteHolder->GetSprite("cursor").Draw(target, SDL_GetTicks(), 50, 150); + RenderRowOfBricks(target, "dAAA", 50+300, 150); + MultiLineBlocks().addLine("ab").addLine("ba").addLine("ab").Render(target, 50, 250); + globalData.spriteHolder->GetSprite("cursor").Draw(target, SDL_GetTicks(), 50, 250+50); + MultiLineBlocks().addLine("AB").addLine("AB").addLine("AB").Render(target, 50+200, 250); + MultiLineBlocks().addLine("a").addLine("b").addLine("e").Render(target, 50+400, 250); + globalData.spriteHolder->GetSprite("cursor").Draw(target, SDL_GetTicks(), 50+400, 250); + MultiLineBlocks().addLine(" ").addLine("b").addLine("ea").Render(target, 50+400+200, 250); + MultiLineBlocks().addLine(" d").addLine(" f").addLine(" f").addLine("fdd").Render(target, 50, 500); + MultiLineBlocks().addLine(" d").addLine(" F").addLine(" F").addLine("dFd").Render(target, 50+200, 500); + MultiLineBlocks().addLine(" d").addLine(" ").addLine(" ").addLine("d d").Render(target, 50+200*2, 500); + MultiLineBlocks().addLine(" ").addLine(" ").addLine(" ").addLine("DDD").Render(target, 50+200*3, 500); bExit.Draw(globalData.screen, SDL_GetTicks(), xsize-buttonOffset, ysize-buttonOffset); }