File indexing completed on 2024-05-12 17:02:06

0001 /*
0002     KWin - the KDE window manager
0003     This file is part of the KDE project.
0004 
0005     SPDX-FileCopyrightText: 2022 Xaver Hugl <xaver.hugl@gmail.com>
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 #pragma once
0010 
0011 #include <QVector>
0012 #include <memory>
0013 
0014 #include "kwin_export.h"
0015 
0016 namespace KWin
0017 {
0018 
0019 class ColorTransformation;
0020 
0021 class KWIN_EXPORT ColorLUT
0022 {
0023 public:
0024     ColorLUT(const std::shared_ptr<ColorTransformation> &transformation, size_t size);
0025 
0026     uint16_t *red() const;
0027     uint16_t *green() const;
0028     uint16_t *blue() const;
0029     size_t size() const;
0030     std::shared_ptr<ColorTransformation> transformation() const;
0031 
0032 private:
0033     QVector<uint16_t> m_data;
0034     const std::shared_ptr<ColorTransformation> m_transformation;
0035 };
0036 
0037 }