89e6df1c7f
ATOM-16575 clean up image builder presets files Removed unused image builder presets Deprecating preset UUID and use preset name as unique id Delete all .exportsettings file which were only used for legacy imageProcessing gem. Signed-off-by: Qing Tao <qingtao@amazon.com>
79 lines
2.3 KiB
C++
79 lines
2.3 KiB
C++
/*
|
|
* 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
|
|
|
|
|
|
#if !defined(Q_MOC_RUN)
|
|
#include <QWidget>
|
|
#include <AzCore/Memory/SystemAllocator.h>
|
|
#include <Editor/EditorCommon.h>
|
|
#endif
|
|
|
|
namespace ImageProcessingAtom
|
|
{
|
|
class PresetSettings;
|
|
}
|
|
namespace Ui
|
|
{
|
|
class ResolutionSettingItemWidget;
|
|
}
|
|
|
|
namespace ImageProcessingAtomEditor
|
|
{
|
|
enum class ResoultionWidgetType
|
|
{
|
|
TexturePipeline, //Fully editable
|
|
TexturePropety, //Only DownRes is editable
|
|
};
|
|
|
|
class ResolutionSettingItemWidget
|
|
: public QWidget
|
|
, EditorInternalNotificationBus::Handler
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
|
|
AZ_CLASS_ALLOCATOR(ResolutionSettingItemWidget, AZ::SystemAllocator, 0);
|
|
explicit ResolutionSettingItemWidget(ResoultionWidgetType type, QWidget* parent = nullptr);
|
|
~ResolutionSettingItemWidget();
|
|
void Init(AZStd::string platform, EditorTextureSetting* editorTextureSetting);
|
|
|
|
public slots:
|
|
|
|
void OnChangeDownRes(int downRes);
|
|
void OnChangeFormat(int index);
|
|
|
|
protected:
|
|
////////////////////////////////////////////////////////////////////////
|
|
//EditorInternalNotificationBus
|
|
void OnEditorSettingsChanged(bool needRefresh, const AZStd::string& platform);
|
|
////////////////////////////////////////////////////////////////////////
|
|
|
|
private:
|
|
|
|
void SetupFormatComboBox();
|
|
void SetupResolutionInfo();
|
|
void RefreshUI();
|
|
QString GetFinalFormat(const ImageProcessingAtom::PresetName& preset);
|
|
|
|
QScopedPointer<Ui::ResolutionSettingItemWidget> m_ui;
|
|
ResoultionWidgetType m_type;
|
|
AZStd::string m_platform;
|
|
ImageProcessingAtom::TextureSettings* m_textureSetting;
|
|
EditorTextureSetting* m_editorTextureSetting;
|
|
const ImageProcessingAtom::PresetSettings* m_preset;
|
|
//Cached list of calculated final resolution info based on different reduce levels
|
|
AZStd::list<ResolutionInfo> m_resolutionInfos;
|
|
//Final reduce level range
|
|
unsigned int m_maxReduce;
|
|
unsigned int m_minReduce;
|
|
};
|
|
} //namespace ImageProcessingAtomEditor
|
|
|