Files
o3de/Gems/Atom/Asset/ImageProcessingAtom/Code/Source/Editor/ResolutionSettingItemWidget.h
T
Qing Tao 89e6df1c7f ATOM-16575 clean up image builder presets files (#4611)
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>
2021-10-11 15:18:39 -07:00

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