ACF $AcfVersion:0$
IColorObject.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
6#include <icmm/IColorModel.h>
7#include <icmm/CVarColor.h>
8#include <iser/IObject.h>
9
10
11namespace icmm
12{
13
14
120class IColorObject: virtual public iser::IObject
121{
122public:
141 virtual icmm::CVarColor GetColor() const = 0;
142
157
176 virtual std::unique_ptr<IColorObject> CloneIntoUniquePtr() const = 0;
177};
178
179
180} // namespace icmm
181
182
Generic color implementation with variable number of color components.
Definition CVarColor.h:176
Common interface for color objects in the ACF color management system.
virtual icmm::CVarColor GetColor() const =0
Gets the generic color value representation.
virtual std::unique_ptr< IColorObject > CloneIntoUniquePtr() const =0
Creates an independent copy of the color object.
virtual ConstColorModelPtr GetColorModel() const =0
Gets the associated color model.
Common interface for factorisable model objects.
Definition IObject.h:23
Contains color management classes.
std::shared_ptr< const IColorModel > ConstColorModelPtr