From 25dba1c293ffb7c3ce4018fc7065d0f1da44c568 Mon Sep 17 00:00:00 2001 From: Leon Styhre Date: Wed, 5 Feb 2025 22:25:55 +0100 Subject: [PATCH] Added 'rotation' and 'rotationOrigin' properties to the helpsystem element --- es-core/src/ThemeData.cpp | 2 ++ es-core/src/components/HelpComponent.cpp | 13 ++++++++++++- es-core/src/components/HelpComponent.h | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/es-core/src/ThemeData.cpp b/es-core/src/ThemeData.cpp index abc052462..fa563051d 100644 --- a/es-core/src/ThemeData.cpp +++ b/es-core/src/ThemeData.cpp @@ -551,6 +551,8 @@ std::map> {"posDimmed", NORMALIZED_PAIR}, {"origin", NORMALIZED_PAIR}, {"originDimmed", NORMALIZED_PAIR}, + {"rotation", FLOAT}, + {"rotationOrigin", NORMALIZED_PAIR}, {"textColor", COLOR}, {"textColorDimmed", COLOR}, {"iconColor", COLOR}, diff --git a/es-core/src/components/HelpComponent.cpp b/es-core/src/components/HelpComponent.cpp index 059fa9a3f..436da0e83 100644 --- a/es-core/src/components/HelpComponent.cpp +++ b/es-core/src/components/HelpComponent.cpp @@ -25,10 +25,12 @@ HelpComponent::HelpComponent(std::shared_ptr 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& theme, else mStyleOriginDimmed = mStyleOrigin; + if (elem->has("rotation")) + mStyleRotation = static_cast(glm::radians(elem->get("rotation"))); + + if (elem->has("rotationOrigin")) + mStyleRotationOrigin = glm::clamp(elem->get("rotationOrigin"), 0.0f, 1.0f); + if (elem->has("textColor")) mStyleTextColor = elem->get("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() diff --git a/es-core/src/components/HelpComponent.h b/es-core/src/components/HelpComponent.h index 50b8694c5..ebbc8efa7 100644 --- a/es-core/src/components/HelpComponent.h +++ b/es-core/src/components/HelpComponent.h @@ -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;