Files
hot-step-cpp-ROCm/engine/vendor/vst3sdk/vstgui4/vstgui/lib/cresourcedescription.h
T
2026-08-16 18:24:52 +07:00

36 lines
1.1 KiB
C++

// This file is part of VSTGUI. It is subject to the license terms
// in the LICENSE file found in the top-level directory of this
// distribution and at http://github.com/steinbergmedia/vstgui/LICENSE
#pragma once
#include "vstguibase.h"
namespace VSTGUI {
//-----------------------------------------------------------------------------
// CResourceDescription Declaration
//! @brief Describes a resource by name or by ID
//-----------------------------------------------------------------------------
class CResourceDescription
{
public:
enum { kIntegerType, kStringType, kUnknownType };
CResourceDescription () = default;
CResourceDescription (UTF8StringPtr name) : type (kStringType) { u.name = name; }
explicit CResourceDescription (int32_t id) : type (kIntegerType) { u.id = id; }
CResourceDescription (const CResourceDescription&) = default;
CResourceDescription& operator= (int32_t id) { u.id = id; type = kIntegerType; return *this; }
CResourceDescription& operator= (const CResourceDescription& desc) = default;
int32_t type {kUnknownType};
union {
int32_t id;
UTF8StringPtr name {nullptr};
} u;
};
} // VSTGUI