EditorPreferencesPageViewportManipulator.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #include "Include/IPreferencesPage.h"
  10. #include <AzCore/Math/Vector3.h>
  11. #include <AzCore/RTTI/TypeInfoSimple.h>
  12. #include <AzCore/RTTI/RTTIMacros.h>
  13. #include <QIcon>
  14. namespace AZ
  15. {
  16. class SerializeContext;
  17. }
  18. class CEditorPreferencesPage_ViewportManipulator : public IPreferencesPage
  19. {
  20. public:
  21. AZ_RTTI(CEditorPreferencesPage_ViewportManipulator, "{14433511-8175-4348-954E-82D903475B06}", IPreferencesPage)
  22. static void Reflect(AZ::SerializeContext& serialize);
  23. CEditorPreferencesPage_ViewportManipulator();
  24. virtual ~CEditorPreferencesPage_ViewportManipulator() = default;
  25. const char* GetCategory() override;
  26. const char* GetTitle() override;
  27. QIcon& GetIcon() override;
  28. void OnApply() override;
  29. void OnCancel() override;
  30. bool OnQueryCancel() override;
  31. private:
  32. void InitializeSettings();
  33. struct Manipulators
  34. {
  35. AZ_TYPE_INFO(Manipulators, "{2974439C-4839-41F6-B526-F317999B9DB9}")
  36. float m_manipulatorLineBoundWidth = 0.0f;
  37. float m_manipulatorCircleBoundWidth = 0.0f;
  38. float m_linearManipulatorAxisLength = 0.0f;
  39. float m_planarManipulatorAxisLength = 0.0f;
  40. float m_surfaceManipulatorRadius = 0.0f;
  41. float m_surfaceManipulatorOpacity = 0.0f;
  42. float m_linearManipulatorConeLength = 0.0f;
  43. float m_linearManipulatorConeRadius = 0.0f;
  44. float m_scaleManipulatorBoxHalfExtent = 0.0f;
  45. float m_rotationManipulatorRadius = 0.0f;
  46. float m_manipulatorViewBaseScale = 0.0f;
  47. bool m_flipManipulatorAxesTowardsView = false;
  48. };
  49. Manipulators m_manipulators;
  50. QIcon m_icon;
  51. };