You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Code/Editor/Include/IIconManager.h

68 lines
1.7 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
*
*/
#ifndef CRYINCLUDE_EDITOR_INCLUDE_IICONMANAGER_H
#define CRYINCLUDE_EDITOR_INCLUDE_IICONMANAGER_H
#pragma once
struct IStatObj;
struct IMaterial;
class CBitmap;
class QImage;
// Note: values are used as array indices
enum EStatObject
{
eStatObject_Arrow = 0,
eStatObject_Axis,
eStatObject_Sphere,
eStatObject_Anchor,
eStatObject_Entrance,
eStatObject_HidePoint,
eStatObject_HidePointSecondary,
eStatObject_ReinforcementSpot,
eStatObject_COUNT
};
// Note: values are used as array indices
enum EIcon
{
eIcon_ScaleWarning = 0,
eIcon_RotationWarning,
eIcon_COUNT
};
// Note: image effects to apply to image
enum EIconEffect
{
eIconEffect_Dim = 1 << 0,
eIconEffect_HalfAlpha = 1 << 1,
eIconEffect_TintRed = 1 << 2,
eIconEffect_TintGreen = 1 << 3,
eIconEffect_TintYellow = 1 << 4,
eIconEffect_ColorEnabled = 1 << 5,
eIconEffect_ColorDisabled = 1 << 6,
};
struct IIconManager
{
virtual ~IIconManager() = default;
virtual IStatObj* GetObject(EStatObject object) = 0;
virtual int GetIconTexture(EIcon icon) = 0;
virtual int GetIconTexture(const char* iconName) = 0;
virtual QImage* GetIconBitmap(const char* filename, bool& haveAlpha, uint32 effects = 0) = 0;
// Register an Icon for the specific command
virtual void RegisterCommandIcon([[maybe_unused]] const char* filename, [[maybe_unused]] int nCommandId) {}
};
#endif // CRYINCLUDE_EDITOR_INCLUDE_IICONMANAGER_H