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;