Blender V4.3
COM_MultilayerImageOperation.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
5#pragma once
6
7#include <string>
8
10
11namespace blender::compositor {
12
14 protected:
15 /* NOTE: The layer name is only used for meta-data. The image user's layer index defines which
16 * layer will be actually accessed for the image buffer. */
17 std::string layer_name_;
18 std::string pass_name_;
19
20 ImBuf *get_im_buf() override;
21
22 public:
24
25 void set_layer_name(std::string layer_name)
26 {
27 layer_name_ = std::move(layer_name);
28 }
29 void set_pass_name(std::string pass_name)
30 {
31 pass_name_ = std::move(pass_name);
32 }
33
35 const rcti &area,
36 Span<MemoryBuffer *> inputs) override;
37};
38
40 public:
45 std::unique_ptr<MetaData> get_meta_data() override;
46};
47
55
63
64} // namespace blender::compositor
Base class for all image operations.
a MemoryBuffer contains access to the data
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
std::unique_ptr< MetaData > get_meta_data() override
void add_output_socket(DataType datatype)
@ Vector
Vector data type.