45b2336dce
* WIP - small legacy cleanup Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com> * More cleanups + build fixes Use AZstd instead of std types in a few places. Remove m_nameTable. Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com> * Legacy code cleanups Remove unused methods using legacy functionality * EditorViewportWidget::AdjustObjectPosition * DisplayContext - remove `renderer` pointer * DisplayContext - log errors when functions using `renderer` are called * CTrackGizmo::DrawAxis - log errors when function uses `renderer`. * Legacy CCamera - remove Project, Unproject and CalcScreenBounds * Remove all unused methods from Cry_GeoDistance.h/Cry_GeoIntersect.h * Remove Lineseg_Triangle from Cry_GeoOverlap.h * IEntityRenderState.h - remove unused types * SMeshColor remove Lerp method and associated constructor. * IMaterial.h - remove unused types and a few methods * IRenderMesh.h - remove a few unused methods and use int8 instead of byte * IRender.h - remove almost all of the contents * IShader.h - remove unused types and a few methods * IStatObj.h - remove unused types and a few methods * SSystemGlobalEnvironment - remove `renderer` pointer * IRenderGraph - remove 2 unused methods * physinterface.h - remove almost all of the contents * CXmlUtils no longer inherits ISystemEventListener * CXmlNode no longer has custom new/delete * Remove IRenderer from some test mocks. Removed files: * CryName.h * Cry_MatrixDiag.h * Cry_XOptimise.h * HeapAllocator.h * IRendererMock.h * PoolAllocator.h Things to consider: * Remove GetMemoryUsage & friends. Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com> * Apply review suggestions IMovieSystem.h - remove unused includes. Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com> * Move unreachable code to `#if 0` block This is hopefully temporary measure until the original functionality is re-implemented Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com> * Fix bad merge I messed up. Fix bad merge I messed up, by re-removing FrameProfiler.h from crycommon_files.cmake (this was removed in an earlier commit this morning: https://github.com/o3de/o3de/pull/3394). Signed-off-by: bosnichd <bosnichd@amazon.com> * Update Code/Framework/AzCore/AzCore/std/string/string_view.h Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com> Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com> * implement review suggestion Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com> * following review, using LYSHINE_ATOM_TODO to guard Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com> * Remove commented out include Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com> * EditorViewportWidget.cpp: Convert commented out code to guarded one Signed-off-by: nemerle <96597+nemerle@users.noreply.github.com> Co-authored-by: bosnichd <bosnichd@amazon.com> Co-authored-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
75 lines
2.2 KiB
C++
75 lines
2.2 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
|
|
*
|
|
*/
|
|
|
|
|
|
// Description : Manages Textures used by Icon.
|
|
|
|
|
|
#ifndef CRYINCLUDE_EDITOR_ICONMANAGER_H
|
|
#define CRYINCLUDE_EDITOR_ICONMANAGER_H
|
|
|
|
#pragma once
|
|
|
|
#include "Include/IIconManager.h" // for IIconManager
|
|
#include "IEditor.h" // for IDocListener
|
|
|
|
/*!
|
|
* CIconManager contains map of icon names to icon textures,
|
|
* Ensuring that only one instance of texture for specified icon will be allocated.
|
|
* Also release textures when editor exit.
|
|
*
|
|
*/
|
|
class CIconManager
|
|
: public IIconManager
|
|
, public IDocListener
|
|
{
|
|
public:
|
|
// Construction
|
|
CIconManager();
|
|
~CIconManager();
|
|
|
|
void Init();
|
|
void Done();
|
|
|
|
// Unload all loaded resources.
|
|
void Reset();
|
|
|
|
// Operations
|
|
virtual int GetIconTexture(EIcon icon);
|
|
|
|
virtual IStatObj* GetObject(EStatObject object);
|
|
virtual int GetIconTexture(const char* iconName);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// Icon bitmaps.
|
|
//////////////////////////////////////////////////////////////////////////
|
|
virtual QImage* GetIconBitmap(const char* filename, bool& bHaveAlpha, uint32 effects = 0);
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// Implementation of IDocListener.
|
|
//////////////////////////////////////////////////////////////////////////
|
|
virtual void OnNewDocument() { Reset(); };
|
|
virtual void OnLoadDocument() { Reset(); };
|
|
virtual void OnCloseDocument() { Reset(); };
|
|
//////////////////////////////////////////////////////////////////////////
|
|
|
|
private:
|
|
StdMap<QString, int> m_textures;
|
|
|
|
IStatObj* m_objects[eStatObject_COUNT];
|
|
int m_icons[eIcon_COUNT];
|
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
// Icons bitmaps.
|
|
//////////////////////////////////////////////////////////////////////////
|
|
typedef std::map<QString, QImage*> IconsMap;
|
|
IconsMap m_iconBitmapsMap;
|
|
};
|
|
|
|
#endif // CRYINCLUDE_EDITOR_ICONMANAGER_H
|