123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #pragma once
- /*
- * Copyright (c) Contributors to the Open 3D Engine Project.
- * For complete copyright and license terms please see the LICENSE at the root of this distribution.
- *
- * SPDX-License-Identifier: Apache-2.0 OR MIT
- *
- */
- #pragma once
- #include <AzCore/Component/Component.h>
- #include <AzCore/EBus/EBus.h>
- namespace AzToolsFramework
- {
- //! A legacy component to reflect scriptable commands for the Editor
- class DisplaySettingsPythonFuncsHandler
- : public AZ::Component
- {
- public:
- AZ_COMPONENT(DisplaySettingsPythonFuncsHandler, "{517AC40C-4A1F-4E02-ABA2-5A927582ECB4}")
- static void Reflect(AZ::ReflectContext* context);
- // AZ::Component ...
- void Activate() override {}
- void Deactivate() override {}
- };
- //! Class to store the Display Settings
- class DisplaySettingsState
- {
- public:
- AZ_TYPE_INFO(DisplaySettingsState, "{EBEDA5EC-29D3-4F23-ABCC-C7C4EE48FA36}")
- //! Disable collision with terrain.
- bool m_noCollision;
- //! Do not draw labels.
- bool m_noLabels;
- //! Simulation is enabled.
- bool m_simulate;
- //! Enable displaying of animation tracks in views.
- bool m_hideTracks;
- //! Enable displaying of links between objects.
- bool m_hideLinks;
- //! Disable displaying of all object helpers.
- bool m_hideHelpers;
- //! Enable displaying of dimension figures.
- bool m_showDimensionFigures;
- //! Equality test operator
- bool operator==(const DisplaySettingsState& rhs) const;
- //! String representation of the current state
- AZStd::string ToString() const;
- };
- //! API to retrieve and set the Display Settings
- class DisplaySettingsRequests : public AZ::EBusTraits
- {
- public:
- static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single;
- //! Get the current display settings state
- virtual DisplaySettingsState GetSettingsState() const = 0;
- //! Set the display settings state
- virtual void SetSettingsState(const DisplaySettingsState& settingsState) = 0;
- ~DisplaySettingsRequests() = default;
- };
- using DisplaySettingsBus = AZ::EBus<DisplaySettingsRequests>;
- //! Component to modify Display Settings
- class DisplaySettingsComponent final
- : public AZ::Component
- , public DisplaySettingsBus::Handler
- {
- public:
- AZ_COMPONENT(DisplaySettingsComponent, "{A7CDBF22-3904-46C6-85D2-073CD902DD7F}")
- DisplaySettingsComponent() = default;
- ~DisplaySettingsComponent() override = default;
- static void Reflect(AZ::ReflectContext* context);
- // Component...
- void Activate() override;
- void Deactivate() override;
- // DisplaySettingsBus...
- DisplaySettingsState GetSettingsState() const override;
- void SetSettingsState(const DisplaySettingsState& settingsState) override;
- int ConvertToFlags(const DisplaySettingsState& settingsState) const;
- DisplaySettingsState ConvertToSettings(int settings) const;
- };
- } // namespace AzToolsFramework
|