Merge remote-tracking branch 'upstream/main' into nvsickle/EnableAtomViewport

This commit is contained in:
nvsickle
2021-04-14 10:47:18 -07:00
911 changed files with 9411 additions and 7169 deletions
@@ -601,7 +601,7 @@ namespace AzToolsFramework
virtual ResolveToolPathOutcome ResolveConfigToolsPath(const char* toolApplicationName) const = 0;
/**
* LUMBERYARD INTERNAL USE ONLY.
* Open 3D Engine Internal use only.
*
* Run a specific redo command separate from the undo/redo system.
* In many cases before a modifcation on an entity takes place, it is first packaged into
@@ -92,7 +92,7 @@ namespace AzToolsFramework
namespace Internal
{
static const char* s_engineConfigFileName = "engine.json";
static const char* s_engineConfigEngineVersionKey = "LumberyardVersion";
static const char* s_engineConfigEngineVersionKey = "O3DEVersion";
static const char* s_startupLogWindow = "Startup";
@@ -155,7 +155,7 @@ namespace AzToolsFramework
void CreateAndAddEntityFromComponentTags(const AZStd::vector<AZ::Crc32>& requiredTags, const char* entityName) override;
/* LUMBERYARD INTERNAL USE ONLY. */
/* Open 3D Engine INTERNAL USE ONLY. */
void RunRedoSeparately(UndoSystem::URSequencePoint* redoCommand) override;
//////////////////////////////////////////////////////////////////////////
@@ -23,7 +23,7 @@
#include <AzToolsFramework/AssetBrowser/AssetPicker/AssetPickerDialog.h>
AZ_PUSH_DISABLE_WARNING(4251 4244, "-Wunknown-warning-option") // disable warnings spawned by QT
#include "AssetBrowser/AssetPicker/ui_AssetPickerDialog.h"
#include <AzToolsFramework/AssetBrowser/AssetPicker/ui_AssetPickerDialog.h>
#include <QPushButton>
#include <QDialogButtonBox>
#include <QKeyEvent>
@@ -17,7 +17,7 @@
// 4251: class needs to have dll-interface to be used by clients of class
// 4800: forcing value to bool 'true' or 'false' (performance warning)
AZ_PUSH_DISABLE_WARNING(4251 4800, "-Wunknown-warning-option")
#include "AssetBrowser/Previewer/ui_EmptyPreviewer.h"
#include <AzToolsFramework/AssetBrowser/Previewer/ui_EmptyPreviewer.h>
AZ_POP_DISABLE_WARNING
namespace AzToolsFramework
@@ -45,4 +45,4 @@ namespace AzToolsFramework
}
}
#include <AssetBrowser/Previewer/moc_EmptyPreviewer.cpp>
#include <AssetBrowser/Previewer/moc_EmptyPreviewer.cpp>
@@ -11,7 +11,7 @@
*/
#include <AzQtComponents/Components/ExtendedLabel.h>
AZ_PUSH_DISABLE_WARNING(4251, "-Wunknown-warning-option") // 4251: class 'QFlags<Qt::AlignmentFlag>' needs to have dll-interface to be used by clients of class 'QLayoutItem'
#include <AssetBrowser/Search/ui_FilterByWidget.h>
#include <AzToolsFramework/AssetBrowser/Search/ui_FilterByWidget.h>
AZ_POP_DISABLE_WARNING
#include <AzToolsFramework/AssetBrowser/Search/FilterByWidget.h>
@@ -39,4 +39,4 @@ namespace AzToolsFramework
} // namespace AssetBrowser
} // namespace AzToolsFramework
#include "AssetBrowser/Search/moc_FilterByWidget.cpp"
#include "AssetBrowser/Search/moc_FilterByWidget.cpp"
@@ -18,7 +18,7 @@
#include <AzToolsFramework/AssetBrowser/Search/FilterByWidget.h>
AZ_PUSH_DISABLE_WARNING(4251, "-Wunknown-warning-option") // 4251: 'QLayoutItem::align': class 'QFlags<Qt::AlignmentFlag>' needs to have dll-interface to be used by clients of class 'QLayoutItem'
#include <AssetBrowser/Search/ui_SearchAssetTypeSelectorWidget.h>
#include <AzToolsFramework/AssetBrowser/Search/ui_SearchAssetTypeSelectorWidget.h>
AZ_POP_DISABLE_WARNING
#include <QPushButton>
@@ -154,4 +154,4 @@ namespace AzToolsFramework
} // namespace AssetBrowser
} // namespace AzToolsFramework
#include "AssetBrowser/Search/moc_SearchAssetTypeSelectorWidget.cpp"
#include "AssetBrowser/Search/moc_SearchAssetTypeSelectorWidget.cpp"
@@ -12,7 +12,7 @@
#include "SearchParametersWidget.h"
AZ_PUSH_DISABLE_WARNING(4251, "-Wunknown-warning-option") // 4251: 'QLayoutItem::align': class 'QFlags<Qt::AlignmentFlag>' needs to have dll-interface to be used by clients of class 'QLayoutItem'
#include "AssetBrowser/Search/ui_SearchParametersWidget.h"
#include <AzToolsFramework/AssetBrowser/Search/ui_SearchParametersWidget.h>
AZ_POP_DISABLE_WARNING
#include <AzQtComponents/Components/ExtendedLabel.h>
@@ -68,4 +68,4 @@ namespace AzToolsFramework
} // namespace AssetBrowser
} // namespace AzToolsFramework
#include "AssetBrowser/Search/moc_SearchParametersWidget.cpp"
#include "AssetBrowser/Search/moc_SearchParametersWidget.cpp"
@@ -54,7 +54,7 @@ namespace AzToolsFramework
//! Set unique asset browser name, used to persist tree expansion states
void SetName(const QString& name);
// LUMBERYARD_DEPRECATED
// O3DE_DEPRECATED
void LoadState(const QString& name);
void SaveState() const;
@@ -19,9 +19,9 @@
#include <AssetEditor/AssetEditorBus.h>
#include <AssetEditor/AssetEditorHeader.h>
AZ_PUSH_DISABLE_WARNING(4251, "-Wunknown-warning-option") // 'QLayoutItem::align': class 'QFlags<Qt::AlignmentFlag>' needs to have dll-interface to be used by clients of class 'QLayoutItem'
#include <AssetEditor/ui_AssetEditorToolbar.h>
#include <AzToolsFramework/AssetEditor/ui_AssetEditorToolbar.h>
AZ_POP_DISABLE_WARNING
#include <AssetEditor/ui_AssetEditorStatusBar.h>
#include <AzToolsFramework/AssetEditor/ui_AssetEditorStatusBar.h>
#include <AssetBrowser/AssetSelectionModel.h>
@@ -707,7 +707,7 @@ namespace AzToolsFramework
{
QMessageBox::warning(AzToolsFramework::GetActiveWindow(),
QStringLiteral("Can't instantiate the selected slice"),
QString("The slice may contain UI elements that can't be instantiated in the main Lumberyard editor. "
QString("The slice may contain UI elements that can't be instantiated in the main Open 3D Engine editor. "
"Use the UI Editor to instantiate this slice or select another one."),
QMessageBox::Ok);
}
@@ -89,7 +89,7 @@ namespace AzToolsFramework
const AzFramework::CameraState& cameraState,
const ViewportInteraction::MouseInteraction& mouseInteraction);
// LUMBERYARD_DEPRECATED(LY-117150)
// O3DE_DEPRECATED(LY-117150)
/// Check if the modifier key state has changed - if so we may need to refresh
/// certain manipulator bounds.
AZ_DEPRECATED(
@@ -31,7 +31,7 @@ namespace AzToolsFramework
class InstanceEntityScrubber
{
public:
AZ_RTTI(InstanceEntityScrubber, "{0BC12562-C240-48AD-89C6-EDF572C9B485}");
AZ_TYPE_INFO(InstanceEntityScrubber, "{0BC12562-C240-48AD-89C6-EDF572C9B485}");
explicit InstanceEntityScrubber(Instance::EntityList& entities);
@@ -219,11 +219,10 @@ namespace AzToolsFramework
entitiesInInstance.emplace_back(entity.get());
}
InstanceEntityScrubber** instanceEntityScrubber = jsonDeserializerContext.GetMetadata().Find<InstanceEntityScrubber*>();
if (instanceEntityScrubber && (*instanceEntityScrubber))
InstanceEntityScrubber* instanceEntityScrubber = jsonDeserializerContext.GetMetadata().Find<InstanceEntityScrubber>();
if (instanceEntityScrubber)
{
(*instanceEntityScrubber)->AddEntitiesToScrub(entitiesInInstance);
instanceEntityScrubber->AddEntitiesToScrub(entitiesInInstance);
}
}
@@ -10,6 +10,7 @@
*
*/
#include <AzCore/Asset/AssetManager.h>
#include <AzCore/JSON/prettywriter.h>
#include <AzCore/Serialization/Json/JsonSerialization.h>
#include <AzToolsFramework/Entity/EditorEntityContextBus.h>
@@ -78,6 +79,11 @@ namespace AzToolsFramework
bool LoadInstanceFromPrefabDom(Instance& instance, const PrefabDom& prefabDom, LoadInstanceFlags flags)
{
// When entities are rebuilt they are first destroyed. As a result any assets they were exclusively holding on to will
// be released and reloaded once the entities are built up again. By suspending asset release temporarily the asset reload
// is avoided.
AZ::Data::AssetManager::Instance().SuspendAssetRelease();
InstanceEntityIdMapper entityIdMapper;
entityIdMapper.SetLoadingInstance(instance);
if ((flags & LoadInstanceFlags::AssignRandomEntityId) == LoadInstanceFlags::AssignRandomEntityId)
@@ -91,10 +97,12 @@ namespace AzToolsFramework
// data has strict typing and doesn't look for inheritance both have to be explicitly added so they're found both locations.
settings.m_metadata.Add(static_cast<AZ::JsonEntityIdSerializer::JsonEntityIdMapper*>(&entityIdMapper));
settings.m_metadata.Add(&entityIdMapper);
AZ::JsonSerializationResult::ResultCode result =
AZ::JsonSerialization::Load(instance, prefabDom, settings);
AZ::Data::AssetManager::Instance().ResumeAssetRelease();
if (result.GetProcessing() == AZ::JsonSerializationResult::Processing::Halted)
{
AZ_Error("Prefab", false,
@@ -110,6 +118,11 @@ namespace AzToolsFramework
bool LoadInstanceFromPrefabDom(
Instance& instance, Instance::EntityList& newlyAddedEntities, const PrefabDom& prefabDom, LoadInstanceFlags flags)
{
// When entities are rebuilt they are first destroyed. As a result any assets they were exclusively holding on to will
// be released and reloaded once the entities are built up again. By suspending asset release temporarily the asset reload
// is avoided.
AZ::Data::AssetManager::Instance().SuspendAssetRelease();
InstanceEntityIdMapper entityIdMapper;
entityIdMapper.SetLoadingInstance(instance);
if ((flags & LoadInstanceFlags::AssignRandomEntityId) == LoadInstanceFlags::AssignRandomEntityId)
@@ -123,12 +136,12 @@ namespace AzToolsFramework
// data has strict typing and doesn't look for inheritance both have to be explicitly added so they're found both locations.
settings.m_metadata.Add(static_cast<AZ::JsonEntityIdSerializer::JsonEntityIdMapper*>(&entityIdMapper));
settings.m_metadata.Add(&entityIdMapper);
InstanceEntityScrubber instanceEntityScrubber(newlyAddedEntities);
settings.m_metadata.Add(&instanceEntityScrubber);
settings.m_metadata.Create<InstanceEntityScrubber>(newlyAddedEntities);
AZ::JsonSerializationResult::ResultCode result = AZ::JsonSerialization::Load(instance, prefabDom, settings);
AZ::Data::AssetManager::Instance().ResumeAssetRelease();
if (result.GetProcessing() == AZ::JsonSerializationResult::Processing::Halted)
{
AZ_Error(
@@ -2662,7 +2662,7 @@ namespace AzToolsFramework
QString cleanAssetSafeFolder(QDir::cleanPath(assetSafeFolder.c_str()));
// Compare using clean paths so slash direction does not matter.
// Note that this comparison is case sensitive because some file systems
// Lumberyard supports are case sensitive.
// Open 3D Engine supports are case sensitive.
if (cleanSaveAs.startsWith(cleanAssetSafeFolder))
{
isPathSafeForAssets = true;
@@ -4017,8 +4017,8 @@ namespace AzToolsFramework
// Detach entities action currently acts on entities and all descendants, so include those as part of the selection
AzToolsFramework::EntityIdList selectedDetachEntities(selectedTransformHierarchyEntities.begin(), selectedTransformHierarchyEntities.end());
// A selection in Lumberyard is usually singular, but a selection can have more than one entity.
// No Lumberyard systems support multiple selections, or multiple different groups of selected entities.
// A selection in Open 3D Engine is usually singular, but a selection can have more than one entity.
// No Open 3D Engine systems support multiple selections, or multiple different groups of selected entities.
QString detachEntitiesActionText(QObject::tr("Selection"));
QString detachEntitiesTooltipText;
if (selectedDetachEntities.size() == 1)
@@ -71,7 +71,7 @@ namespace AzToolsFramework
AZ_Assert(!s_perforceConn, "You may only have one Perforce component.\n");
m_shutdownThreadSignal = false;
m_waitingOnTrust = false;
m_autoChangelistDescription = "*Lumberyard Auto";
m_autoChangelistDescription = "*Open 3D Engine Auto";
m_connectionState = SourceControlState::Disabled;
m_validConnection = false;
m_testConnection = false;
@@ -24,7 +24,7 @@ namespace AzToolsFramework
{
QString ComponentTypeMimeData::GetMimeType()
{
return "application/x-amazon-lumberyard-editorcomponenttypes";
return "application/x-amazon-o3de-editorcomponenttypes";
}
AZStd::unique_ptr<QMimeData> ComponentTypeMimeData::Create(const ClassDataContainer& container)
@@ -99,7 +99,7 @@ namespace AzToolsFramework
QString ComponentMimeData::GetMimeType()
{
return "application/x-amazon-lumberyard-editorcomponentdata";
return "application/x-amazon-o3de-editorcomponentdata";
}
AZStd::unique_ptr<QMimeData> ComponentMimeData::Create(const ComponentDataContainer& components)
@@ -15,7 +15,7 @@
* Header file for the editor component base class.
* Derive from this class to create a version of a component to use in the
* editor, as opposed to the version of the component that is used during run time.
* To learn more about editor components, see the [Lumberyard Developer Guide]
* To learn more about editor components, see the [Open 3D Engine Developer Guide]
* (http://docs.aws.amazon.com/lumberyard/latest/developerguide/component-entity-system-pg-editor-components.html).
*/
@@ -52,7 +52,7 @@ namespace AzToolsFramework
* To create one or more game components to represent your editor component
* in runtime, use BuildGameEntity().
*
* To learn more about editor components, see the [Lumberyard Developer Guide]
* To learn more about editor components, see the [Open 3D Engine Developer Guide]
* (http://docs.aws.amazon.com/lumberyard/latest/developerguide/component-entity-system-pg-editor-components.html).
*/
class EditorComponentBase
@@ -408,7 +408,7 @@ namespace AzToolsFramework
QString fullLayerPath(layerFolder.filePath(myLayerFileName));
// Lumberyard will read in the layer in whatever format it's in, so there's no need to check what the save format is set to.
// Open 3D Engine will read in the layer in whatever format it's in, so there's no need to check what the save format is set to.
// The save format is also set in this object that is being loaded, so it wouldn't even be available.
m_loadedLayer = AZ::Utils::LoadObjectFromFile<EditorLayer>(fullLayerPath.toUtf8().data());
@@ -1051,7 +1051,6 @@ namespace AzToolsFramework
currentFailure));
// FileIO doesn't support removing directory, so use Qt.
// QDir::IsEmpty isn't available until a newer version fo Qt than Lumberyard is using.
if (layerTempFolder.entryInfoList(
QDir::NoDotAndDotDot | QDir::AllEntries | QDir::System | QDir::Hidden).count() == 0)
{
@@ -1485,7 +1484,7 @@ namespace AzToolsFramework
if (!newLayerEntityId.IsValid())
{
return LayerResult(LayerResultStatus::Error, "Lumberyard was unable to create a layer entity.");
return LayerResult(LayerResultStatus::Error, "Open 3D Engine was unable to create a layer entity.");
}
// If this new layer has a parent, then set its parent.
@@ -58,7 +58,7 @@ namespace AzToolsFramework
AZ::Color m_color = AZ::Color::CreateOne();
// Default to text files, so the save history is easier to understand in source control.
// This attribute only effects writing layers, and is safe to store here instead of on the component.
// When reading files off disk, Lumberyard figures out the correct format automatically.
// When reading files off disk, Open 3D Engine figures out the correct format automatically.
bool m_saveAsBinary = false;
// The layer entity needs to be invisible to all other systems, so they don't show up in the viewport.
@@ -338,7 +338,7 @@ namespace AzToolsFramework
EditorLayer* m_loadedLayer = nullptr;
AZStd::string m_layerFileName;
// Lumberyard's serialization system requires everything in the editor to have a serialized to disk counterpart.
// Open 3D Engine's serialization system requires everything in the editor to have a serialized to disk counterpart.
// Layers have their data split into two categories: Stuff that should save to the layer file, and stuff that should
// save to the layer component in the level. To allow the layer component to edit the data that goes in the layer file,
// a placeholder value is serialized. This is only used at edit time, and is copied and cleared during serialization.
@@ -112,7 +112,6 @@ namespace LegacyFramework
m_applicationEntity = NULL;
m_ptrSystemEntity = NULL;
m_applicationModule[0] = 0;
m_appRoot[0] = 0;
}
HMODULE Application::GetMainModule()
@@ -16,7 +16,7 @@
#include "NewLogTabDialog.h"
AZ_PUSH_DISABLE_WARNING(4251, "-Wunknown-warning-option") // 4251: 'QLayoutItem::align': class 'QFlags<Qt::AlignmentFlag>' needs to have dll-interface to be used by clients of class 'QLayoutItem'
#include <UI/Logging/ui_NewLogTabDialog.h>
#include <AzToolsFramework/UI/Logging/ui_NewLogTabDialog.h>
AZ_POP_DISABLE_WARNING
#include <QPushButton>
#include <QLineEdit>
@@ -97,4 +97,4 @@ namespace AzToolsFramework
} // namespace LogPanel
} // namespace AzToolsFramework
#include "UI/Logging/moc_NewLogTabDialog.cpp"
#include "UI/Logging/moc_NewLogTabDialog.cpp"
@@ -49,7 +49,7 @@
#include <QTimer>
#include <QToolButton>
#include <UI/Outliner/ui_EntityOutlinerWidget.h>
#include <AzToolsFramework/UI/Outliner/ui_EntityOutlinerWidget.h>
namespace
{
@@ -644,7 +644,7 @@ namespace AzToolsFramework
QString cleanAssetSafeFolder(QDir::cleanPath(assetSafeFolder.c_str()));
// Compare using clean paths so slash direction does not matter.
// Note that this comparison is case sensitive because some file systems
// Lumberyard supports are case sensitive.
// Open 3D Engine supports are case sensitive.
if (cleanSaveAs.startsWith(cleanAssetSafeFolder))
{
isPathSafeForAssets = true;
@@ -100,7 +100,7 @@ AZ_PUSH_DISABLE_WARNING(4244 4251 4800, "-Wunknown-warning-option") // 4244: con
#include <QTimer>
AZ_POP_DISABLE_WARNING
#include <UI/PropertyEditor/ui_EntityPropertyEditor.h>
#include <AzToolsFramework/UI/PropertyEditor/ui_EntityPropertyEditor.h>
// This has to live outside of any namespaces due to issues on Linux with calls to Q_INIT_RESOURCE if they are inside a namespace
void initEntityPropertyEditorResources()
@@ -32,7 +32,7 @@
#include <AzToolsFramework/Entity/EditorEntityContextBus.h>
#include <AzToolsFramework/ToolsComponents/ComponentMimeData.h>
#include <AzToolsFramework/ToolsComponents/EditorInspectorComponentBus.h>
#include <AzQtComponents/Components/LumberyardStylesheet.h>
#include <AzQtComponents/Components/O3DEStylesheet.h>
#include <QtWidgets/QWidget>
#include <QtGui/QIcon>
@@ -89,7 +89,7 @@ namespace AzToolsFramework
//! When set, disables data access for this property editor.
//! This prevents any value refreshes from the inspected values from occurring as well as disabling user input.
void PreventDataAccess(bool shouldPrevent);
// LUMBERYARD_DEPRECATED(LY-120821)
// O3DE_DEPRECATED(LY-120821)
void PreventRefresh(bool shouldPrevent){PreventDataAccess(shouldPrevent);}
void SetAutoResizeLabels(bool autoResizeLabels);
@@ -11,7 +11,7 @@
*/
#include "AzToolsFramework_precompiled.h"
AZ_PUSH_DISABLE_WARNING(4251, "-Wunknown-warning-option") // 4251: 'QLayoutItem::align': class 'QFlags<Qt::AlignmentFlag>' needs to have dll-interface to be used by clients of class 'QLayoutItem'
#include "UI/Slice/ui_NotificationWindow.h"
#include <AzToolsFramework/UI/Slice/ui_NotificationWindow.h>
AZ_POP_DISABLE_WARNING
#include "UI/Slice/Constants.h"
@@ -14,7 +14,7 @@
#include "OverwritePromptDialog.hxx"
AZ_PUSH_DISABLE_WARNING(4251, "-Wunknown-warning-option") // 'QLayoutItem::align': class 'QFlags<Qt::AlignmentFlag>' needs to have dll-interface to be used by clients of class 'QLayoutItem'
#include <UI/UICore/ui_OverwritePromptDialog.h>
#include <AzToolsFramework/UI/UICore/ui_OverwritePromptDialog.h>
AZ_POP_DISABLE_WARNING
namespace AzToolsFramework
@@ -54,4 +54,4 @@ namespace AzToolsFramework
}
#include "UI/UICore/moc_OverwritePromptDialog.cpp"
#include "UI/UICore/moc_OverwritePromptDialog.cpp"
@@ -18,7 +18,7 @@
#include <AzToolsFramework/UI/UICore/ProgressShield.hxx>
AZ_PUSH_DISABLE_WARNING(4251, "-Wunknown-warning-option") // 4251: 'QLayoutItem::align': class 'QFlags<Qt::AlignmentFlag>' needs to have dll-interface to be used by clients of class 'QLayoutItem'
#include <UI/UICore/ui_ProgressShield.h>
#include <AzToolsFramework/UI/UICore/ui_ProgressShield.h>
AZ_POP_DISABLE_WARNING
namespace AzToolsFramework
@@ -118,4 +118,4 @@ namespace AzToolsFramework
} // namespace AzToolsFramework
#include "UI/UICore/moc_ProgressShield.cpp"
#include "UI/UICore/moc_ProgressShield.cpp"
@@ -14,7 +14,7 @@
#include "SaveChangesDialog.hxx"
AZ_PUSH_DISABLE_WARNING(4244 4251, "-Wunknown-warning-option")
#include <UI/UICore/ui_SaveChangesDialog.h>
#include <AzToolsFramework/UI/UICore/ui_SaveChangesDialog.h>
AZ_POP_DISABLE_WARNING
namespace AzToolsFramework
@@ -52,4 +52,4 @@ namespace AzToolsFramework
}
}
#include "UI/UICore/moc_SaveChangesDialog.cpp"
#include "UI/UICore/moc_SaveChangesDialog.cpp"
@@ -246,7 +246,7 @@ namespace UnitTest
R"(... client unittest_workspace)" "\r\n"
R"(... status pending)" "\r\n"
R"(... changeType public)" "\r\n"
R"(... desc *Lumberyard Auto)" "\r\n"
R"(... desc *Open 3D Engine Auto)" "\r\n"
"\r\n";
}
else if (m_commandArgs.starts_with("fstat"))
@@ -214,7 +214,7 @@ namespace AzToolsFramework
return AzFramework::ScreenPoint{qpoint.x(), qpoint.y()};
}
/// Map from Qt -> Lumberyard buttons.
/// Map from Qt -> Open 3D Engine buttons.>>>>>>> main
inline AZ::u32 TranslateMouseButtons(const Qt::MouseButtons buttons)
{
AZ::u32 result = 0;
@@ -224,7 +224,7 @@ namespace AzToolsFramework
return result;
}
/// Map from Qt -> Lumberyard modifiers.
/// Map from Qt -> Open 3D Engine modifiers.
inline AZ::u32 TranslateKeyboardModifiers(const Qt::KeyboardModifiers modifiers)
{
AZ::u32 result = 0;
@@ -234,13 +234,13 @@ namespace AzToolsFramework
return result;
}
/// Interface to translate Qt modifiers to Lumberyard modifiers.
/// Interface to translate Qt modifiers to Open 3D Engine modifiers.
inline KeyboardModifiers BuildKeyboardModifiers(const Qt::KeyboardModifiers modifiers)
{
return KeyboardModifiers(TranslateKeyboardModifiers(modifiers));
}
/// Interface to translate Qt buttons to Lumberyard buttons.
/// Interface to translate Qt buttons to Open 3D Engine buttons.
inline MouseButtons BuildMouseButtons(const Qt::MouseButtons buttons)
{
return MouseButtons(TranslateMouseButtons(buttons));