ACF $AcfVersion:0$
CCieLabColor.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/ICieLabColor.h>
8
9
10namespace icmm
11{
12
13
14class CCieLabColor: virtual public ICieLabColor
15{
16public:
17 explicit CCieLabColor(const CCieLabColorModel* modelPtr);
20
21 // reimplemented (icmm::ICieLabColor)
22 virtual bool Initialize(const icmm::CLab& value, const ITristimulusSpecification& spec) override;
23 virtual const icmm::CLab& GetLab() const override;
25
26 // reimplemented (icmm::IColorObject)
27 virtual icmm::CVarColor GetColor() const override;
28 virtual ConstColorModelPtr GetColorModel() const override;
29 virtual std::unique_ptr<IColorObject> CloneIntoUniquePtr() const override;
30
31 // reimplemented (iser::ISerializable)
32 virtual bool Serialize(iser::IArchive& archive) override;
33
34private:
35 icmm::CLab m_lab;
36 std::shared_ptr<CCieLabColorModel> m_modelPtr;
37};
38
39
40} // namespace icmm
41
42
CCieLabColor(const CCieLabColorModel *modelPtr)
CCieLabColor(const icmm::CLab &lab, const ITristimulusSpecification &spec)
virtual bool Serialize(iser::IArchive &archive) override
Load or store state of this object as a archive stream.
virtual ConstColorModelPtr GetColorModel() const override
Gets the associated color model.
virtual icmm::CVarColor GetColor() const override
Gets the generic color value representation.
virtual IColorSpecification::ConstColorSpecPtr GetSpecification() const override
Get color-related specification.
virtual bool Initialize(const icmm::CLab &value, const ITristimulusSpecification &spec) override
Initialize object with color values.
virtual std::unique_ptr< IColorObject > CloneIntoUniquePtr() const override
Creates an independent copy of the color object.
virtual const icmm::CLab & GetLab() const override
Get Lab-color value.
CCieLabColor(const CCieLabColor &color)
CCieLabColorModel implements the CIE Lab color model.
Primitive for representation of CIE Lab color values.
Definition CLab.h:215
Generic color implementation with variable number of color components.
Definition CVarColor.h:176
std::shared_ptr< const IColorSpecification > ConstColorSpecPtr
Interface for tristimulus-based color specifications.
Represents an input/output persistence archive for object serialization.
Definition IArchive.h:164
Contains color management classes.
std::shared_ptr< const IColorModel > ConstColorModelPtr