BattleOverlayLogVisualizer.cpp 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * BattleOverlayLogVisualizer.cpp, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #include "StdInc.h"
  11. #include "BattleOverlayLogVisualizer.h"
  12. #include "BattleInterface.h"
  13. #include "BattleFieldController.h"
  14. #include "../render/Canvas.h"
  15. #include "../render/Colors.h"
  16. #include "../render/EFont.h"
  17. #include "../render/IFont.h"
  18. #include "../render/IRenderHandler.h"
  19. #include "../gui/TextAlignment.h"
  20. #include "../gui/CGuiHandler.h"
  21. #include "../render/Graphics.h"
  22. BattleOverlayLogVisualizer::BattleOverlayLogVisualizer(
  23. BattleRenderer::RendererRef & target,
  24. BattleInterface & owner)
  25. : target(target), owner(owner)
  26. {
  27. }
  28. void BattleOverlayLogVisualizer::drawText(BattleHex hex, int lineNumber, const std::string & text)
  29. {
  30. Point offset = owner.fieldController->hexPositionLocal(hex).topLeft() + Point(20, 20);
  31. const auto & font = GH.renderHandler().loadFont(FONT_TINY);
  32. int h = font->getLineHeight();
  33. offset.y += h * lineNumber;
  34. target.drawText(offset, EFonts::FONT_TINY, Colors::YELLOW, ETextAlignment::TOPCENTER, text);
  35. }