Added 'rotation' and 'rotationOrigin' properties to the helpsystem element

This commit is contained in:
Leon Styhre 2025-02-05 22:25:55 +01:00
parent db2b00a49e
commit 25dba1c293
3 changed files with 16 additions and 1 deletions

View file

@ -551,6 +551,8 @@ std::map<std::string, std::map<std::string, ThemeData::ElementPropertyType>>
{"posDimmed", NORMALIZED_PAIR},
{"origin", NORMALIZED_PAIR},
{"originDimmed", NORMALIZED_PAIR},
{"rotation", FLOAT},
{"rotationOrigin", NORMALIZED_PAIR},
{"textColor", COLOR},
{"textColorDimmed", COLOR},
{"iconColor", COLOR},

View file

@ -25,10 +25,12 @@ HelpComponent::HelpComponent(std::shared_ptr<Font> font)
, mStylePositionDimmed {mStylePosition}
, mStyleOrigin {glm::vec2 {0.0f, 0.0f}}
, mStyleOriginDimmed {mStyleOrigin}
, mStyleRotationOrigin {0.5f, 0.5f}
, mStyleTextColor {0x777777FF}
, mStyleTextColorDimmed {0x777777FF}
, mStyleIconColor {0x777777FF}
, mStyleIconColorDimmed {0x777777FF}
, mStyleRotation {0.0f}
, mStyleEntrySpacing {0.00833f}
, mStyleEntrySpacingDimmed {mStyleEntrySpacing}
, mStyleIconTextSpacing {0.00416f}
@ -288,6 +290,12 @@ void HelpComponent::applyTheme(const std::shared_ptr<ThemeData>& theme,
else
mStyleOriginDimmed = mStyleOrigin;
if (elem->has("rotation"))
mStyleRotation = static_cast<float>(glm::radians(elem->get<float>("rotation")));
if (elem->has("rotationOrigin"))
mStyleRotationOrigin = glm::clamp(elem->get<glm::vec2>("rotationOrigin"), 0.0f, 1.0f);
if (elem->has("textColor"))
mStyleTextColor = elem->get<unsigned int>("textColor");
@ -485,8 +493,11 @@ void HelpComponent::render(const glm::mat4& parentTrans)
const glm::mat4 trans {parentTrans * getTransform()};
if (mGrid)
if (mGrid) {
mGrid->setRotationOrigin(mStyleRotationOrigin);
mGrid->setRotation(mStyleRotation);
mGrid->render(trans);
}
}
void HelpComponent::updateGrid()

View file

@ -74,10 +74,12 @@ private:
glm::vec2 mStylePositionDimmed;
glm::vec2 mStyleOrigin;
glm::vec2 mStyleOriginDimmed;
glm::vec2 mStyleRotationOrigin;
unsigned int mStyleTextColor;
unsigned int mStyleTextColorDimmed;
unsigned int mStyleIconColor;
unsigned int mStyleIconColorDimmed;
float mStyleRotation;
float mStyleEntrySpacing;
float mStyleEntrySpacingDimmed;
float mStyleIconTextSpacing;