Blender V5.0
OCIO_colorspace.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2025 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#include "BLI_span.hh"
8#include "BLI_string_ref.hh"
9
10namespace blender::ocio {
11
12class CPUProcessor;
13
15 public:
16 virtual ~ColorSpace() = default;
17
22 int index = -1;
23
30 virtual StringRefNull name() const = 0;
31 virtual StringRefNull description() const = 0;
32
36 virtual bool is_invertible() const = 0;
37
42 virtual bool is_scene_linear() const = 0;
43 virtual bool is_srgb() const = 0;
44
50 virtual bool is_data() const = 0;
51
55 virtual bool is_display_referred() const = 0;
56
57 /*
58 * Identifier for colorspaces that works with multiple OpenColorIO configurations,
59 * as defined by the ASWF Color Interop Forum.
60 */
61 virtual StringRefNull interop_id() const = 0;
62
70};
71
72} // namespace blender::ocio
virtual StringRefNull name() const =0
virtual bool is_display_referred() const =0
virtual bool is_invertible() const =0
virtual const CPUProcessor * get_to_scene_linear_cpu_processor() const =0
virtual const CPUProcessor * get_from_scene_linear_cpu_processor() const =0
virtual StringRefNull description() const =0
virtual bool is_data() const =0
virtual bool is_scene_linear() const =0
virtual ~ColorSpace()=default
virtual bool is_srgb() const =0
virtual StringRefNull interop_id() const =0