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}, {"posDimmed", NORMALIZED_PAIR},
{"origin", NORMALIZED_PAIR}, {"origin", NORMALIZED_PAIR},
{"originDimmed", NORMALIZED_PAIR}, {"originDimmed", NORMALIZED_PAIR},
{"rotation", FLOAT},
{"rotationOrigin", NORMALIZED_PAIR},
{"textColor", COLOR}, {"textColor", COLOR},
{"textColorDimmed", COLOR}, {"textColorDimmed", COLOR},
{"iconColor", COLOR}, {"iconColor", COLOR},

View file

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

View file

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