From 076af5373359971987b327903e66be252c39354e Mon Sep 17 00:00:00 2001 From: Laserlicht <13953785+Laserlicht@users.noreply.github.com> Date: Fri, 3 Jan 2025 14:34:52 +0100 Subject: [PATCH] add scrollbar for hero overview --- client/windows/CHeroOverview.cpp | 9 +++++++-- client/windows/CHeroOverview.h | 4 ++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/client/windows/CHeroOverview.cpp b/client/windows/CHeroOverview.cpp index 1c1f0bacf..908362a0b 100644 --- a/client/windows/CHeroOverview.cpp +++ b/client/windows/CHeroOverview.cpp @@ -19,6 +19,7 @@ #include "../render/IImage.h" #include "../renderSDL/RenderHandler.h" #include "../widgets/CComponentHolder.h" +#include "../widgets/Slider.h" #include "../widgets/Images.h" #include "../widgets/TextControls.h" #include "../widgets/GraphicalPrimitiveCanvas.h" @@ -99,7 +100,9 @@ void CHeroOverview::genControls() // hero biography r = Rect(borderOffset, 5 * borderOffset + yOffset + 148, 284, 130); backgroundRectangles.push_back(std::make_shared(r.resize(1), rectangleColor, borderColor)); - labelHeroBiography = std::make_shared(r.resize(-borderOffset), FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, (*CGI->heroh)[heroIdx]->getBiographyTranslated()); + labelHeroBiography = std::make_shared((*CGI->heroh)[heroIdx]->getBiographyTranslated(), r.resize(-borderOffset), CSlider::EStyle::BROWN, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE); + if(labelHeroBiography->slider) + labelHeroBiography->slider->clearScrollBounds(); // speciality name r = Rect(2 * borderOffset + 44, 6 * borderOffset + yOffset + 278, 235, 44); @@ -115,7 +118,9 @@ void CHeroOverview::genControls() // speciality description r = Rect(borderOffset, 7 * borderOffset + yOffset + 322, 284, 85); backgroundRectangles.push_back(std::make_shared(r.resize(1), rectangleColor, borderColor)); - labelSpecialityDescription = std::make_shared(r.resize(-borderOffset), FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE, (*CGI->heroh)[heroIdx]->getSpecialtyDescriptionTranslated()); + labelSpecialityDescription = std::make_shared((*CGI->heroh)[heroIdx]->getSpecialtyDescriptionTranslated(), r.resize(-borderOffset), CSlider::EStyle::BROWN, FONT_SMALL, ETextAlignment::TOPLEFT, Colors::WHITE); + if(labelSpecialityDescription->slider) + labelSpecialityDescription->slider->clearScrollBounds(); // army title r = Rect(302, borderOffset + yOffset, 292, 30); diff --git a/client/windows/CHeroOverview.h b/client/windows/CHeroOverview.h index 38e5fa683..001b58594 100644 --- a/client/windows/CHeroOverview.h +++ b/client/windows/CHeroOverview.h @@ -39,7 +39,7 @@ class CHeroOverview : public CWindowObject std::shared_ptr labelTitle; std::shared_ptr imageHero; std::shared_ptr labelHeroName; - std::shared_ptr labelHeroBiography; + std::shared_ptr labelHeroBiography; std::shared_ptr labelHeroClass; std::shared_ptr labelHeroSpeciality; std::shared_ptr imageSpeciality; @@ -47,7 +47,7 @@ class CHeroOverview : public CWindowObject std::vector> imageSkill; std::vector> labelSkillFooter; std::shared_ptr labelSpecialityName; - std::shared_ptr labelSpecialityDescription; + std::shared_ptr labelSpecialityDescription; std::shared_ptr labelArmyTitle; std::vector> imageArmy;