#pragma once #include namespace XCEngine::UI::Editor::Widgets { struct UIEditorInspectorFieldStyleTokens { ::XCEngine::UI::UIColor rowHoverColor = ::XCEngine::UI::UIColor(0.20f, 0.20f, 0.20f, 1.0f); ::XCEngine::UI::UIColor rowActiveColor = ::XCEngine::UI::UIColor(0.24f, 0.24f, 0.24f, 1.0f); ::XCEngine::UI::UIColor labelColor = ::XCEngine::UI::UIColor(0.80f, 0.80f, 0.80f, 1.0f); ::XCEngine::UI::UIColor valueColor = ::XCEngine::UI::UIColor(0.92f, 0.92f, 0.92f, 1.0f); ::XCEngine::UI::UIColor readOnlyValueColor = ::XCEngine::UI::UIColor(0.60f, 0.60f, 0.60f, 1.0f); ::XCEngine::UI::UIColor controlColor = ::XCEngine::UI::UIColor(0.18f, 0.18f, 0.18f, 1.0f); ::XCEngine::UI::UIColor controlHoverColor = ::XCEngine::UI::UIColor(0.21f, 0.21f, 0.21f, 1.0f); ::XCEngine::UI::UIColor controlEditingColor = ::XCEngine::UI::UIColor(0.24f, 0.24f, 0.24f, 1.0f); ::XCEngine::UI::UIColor controlReadOnlyColor = ::XCEngine::UI::UIColor(0.15f, 0.15f, 0.15f, 1.0f); ::XCEngine::UI::UIColor controlBorderColor = ::XCEngine::UI::UIColor(0.30f, 0.30f, 0.30f, 1.0f); ::XCEngine::UI::UIColor controlFocusedBorderColor = ::XCEngine::UI::UIColor(0.64f, 0.64f, 0.64f, 1.0f); ::XCEngine::UI::UIColor prefixColor = ::XCEngine::UI::UIColor(0.20f, 0.20f, 0.20f, 1.0f); ::XCEngine::UI::UIColor prefixBorderColor = ::XCEngine::UI::UIColor(0.31f, 0.31f, 0.31f, 1.0f); ::XCEngine::UI::UIColor axisXColor = ::XCEngine::UI::UIColor(0.78f, 0.42f, 0.42f, 1.0f); ::XCEngine::UI::UIColor axisYColor = ::XCEngine::UI::UIColor(0.56f, 0.72f, 0.46f, 1.0f); ::XCEngine::UI::UIColor axisZColor = ::XCEngine::UI::UIColor(0.45f, 0.62f, 0.82f, 1.0f); ::XCEngine::UI::UIColor axisWColor = ::XCEngine::UI::UIColor(0.76f, 0.66f, 0.42f, 1.0f); ::XCEngine::UI::UIColor arrowColor = ::XCEngine::UI::UIColor(0.88f, 0.88f, 0.88f, 1.0f); ::XCEngine::UI::UIColor swatchBorderColor = ::XCEngine::UI::UIColor(0.30f, 0.30f, 0.30f, 1.0f); ::XCEngine::UI::UIColor swatchHoverBorderColor = ::XCEngine::UI::UIColor(0.64f, 0.64f, 0.64f, 1.0f); ::XCEngine::UI::UIColor swatchReadOnlyOverlayColor = ::XCEngine::UI::UIColor(0.08f, 0.08f, 0.08f, 0.18f); ::XCEngine::UI::UIColor popupColor = ::XCEngine::UI::UIColor(0.20f, 0.20f, 0.20f, 1.0f); ::XCEngine::UI::UIColor popupBorderColor = ::XCEngine::UI::UIColor(0.12f, 0.12f, 0.12f, 1.0f); ::XCEngine::UI::UIColor popupHeaderColor = ::XCEngine::UI::UIColor(0.17f, 0.17f, 0.17f, 1.0f); ::XCEngine::UI::UIColor popupTitleColor = ::XCEngine::UI::UIColor(0.93f, 0.93f, 0.93f, 1.0f); ::XCEngine::UI::UIColor popupTextColor = ::XCEngine::UI::UIColor(0.86f, 0.86f, 0.86f, 1.0f); ::XCEngine::UI::UIColor popupTextMutedColor = ::XCEngine::UI::UIColor(0.72f, 0.72f, 0.72f, 1.0f); ::XCEngine::UI::UIColor previewBorderColor = ::XCEngine::UI::UIColor(0.11f, 0.11f, 0.11f, 1.0f); ::XCEngine::UI::UIColor previewBaseColor = ::XCEngine::UI::UIColor(0.19f, 0.19f, 0.19f, 1.0f); ::XCEngine::UI::UIColor checkerLightColor = ::XCEngine::UI::UIColor(0.84f, 0.84f, 0.84f, 1.0f); ::XCEngine::UI::UIColor checkerDarkColor = ::XCEngine::UI::UIColor(0.55f, 0.55f, 0.55f, 1.0f); ::XCEngine::UI::UIColor sliderBorderColor = ::XCEngine::UI::UIColor(0.11f, 0.11f, 0.11f, 1.0f); ::XCEngine::UI::UIColor numericBoxColor = ::XCEngine::UI::UIColor(0.17f, 0.17f, 0.17f, 1.0f); ::XCEngine::UI::UIColor numericBoxBorderColor = ::XCEngine::UI::UIColor(0.11f, 0.11f, 0.11f, 1.0f); ::XCEngine::UI::UIColor numericBoxTextColor = ::XCEngine::UI::UIColor(0.93f, 0.93f, 0.93f, 1.0f); ::XCEngine::UI::UIColor closeButtonColor = ::XCEngine::UI::UIColor(0.0f, 0.0f, 0.0f, 0.0f); ::XCEngine::UI::UIColor closeButtonHoverColor = ::XCEngine::UI::UIColor(0.25f, 0.25f, 0.25f, 1.0f); ::XCEngine::UI::UIColor closeGlyphColor = ::XCEngine::UI::UIColor(0.85f, 0.85f, 0.85f, 1.0f); ::XCEngine::UI::UIColor handleFillColor = ::XCEngine::UI::UIColor(1.0f, 1.0f, 1.0f, 1.0f); ::XCEngine::UI::UIColor handleStrokeColor = ::XCEngine::UI::UIColor(0.10f, 0.10f, 0.10f, 0.5f); float controlTrailingInset = 9.0f; float controlMinWidth = 88.0f; float dropdownArrowWidth = 14.0f; float vectorComponentMinWidth = 74.0f; float vectorPrefixWidth = 18.0f; float vectorPrefixGap = 5.0f; }; struct UIEditorFieldRowLayoutMetrics { float rowHeight = 22.0f; float horizontalPadding = 12.0f; float labelControlGap = 20.0f; float controlColumnStart = 236.0f; float controlTrailingInset = 8.0f; float controlInsetY = 1.0f; }; struct UIEditorFieldRowLayout { ::XCEngine::UI::UIRect bounds = {}; ::XCEngine::UI::UIRect labelRect = {}; ::XCEngine::UI::UIRect controlRect = {}; }; const UIEditorInspectorFieldStyleTokens& GetUIEditorInspectorFieldStyleTokens(); bool AreUIEditorFieldMetricsEqual(float lhs, float rhs); bool AreUIEditorFieldColorsEqual( const ::XCEngine::UI::UIColor& lhs, const ::XCEngine::UI::UIColor& rhs); UIEditorFieldRowLayout BuildUIEditorFieldRowLayout( const ::XCEngine::UI::UIRect& bounds, float minimumControlWidth, const UIEditorFieldRowLayoutMetrics& metrics = {}); } // namespace XCEngine::UI::Editor::Widgets