Blender V5.0
libocio_cpu_processor.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#if defined(WITH_OPENCOLORIO)
8
9# include "MEM_guardedalloc.h"
10
11# include "OCIO_cpu_processor.hh"
12
13# include "../opencolorio.hh"
14
15namespace blender::ocio {
16
17class LibOCIOCPUProcessor : public CPUProcessor {
18 OCIO_NAMESPACE::ConstCPUProcessorRcPtr ocio_cpu_processor_;
19
20 public:
21 explicit LibOCIOCPUProcessor(const OCIO_NAMESPACE::ConstCPUProcessorRcPtr &ocio_cpu_processor);
22
23 bool is_noop() const override
24 {
25 return ocio_cpu_processor_->isNoOp();
26 }
27
28 void apply_rgb(float rgb[3]) const override;
29 void apply_rgba(float rgba[4]) const override;
30
31 void apply_rgba_predivide(float rgba[4]) const override;
32
33 void apply(const PackedImage &image) const override;
34 void apply_predivide(const PackedImage &image) const override;
35
36 MEM_CXX_CLASS_ALLOC_FUNCS("LibOCIOCPUProcessor");
37};
38
39} // namespace blender::ocio
40
41#endif
Read Guarded memory(de)allocation.
void apply(bContext &C, GestureData &gesture_data, wmOperator &op)