Blender V4.3
COM_ConstantOperation.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2021 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
6
7namespace blender::compositor {
8
10{
12 flags_.is_constant_operation = true;
13}
14
16{
17 return !needs_canvas_to_get_constant_ || flags_.is_canvas_set;
18}
19
21 const rcti &area,
22 Span<MemoryBuffer *> /*inputs*/)
23{
24 BLI_assert(output->is_a_single_elem());
25 const float *constant = get_constant_elem();
26 float *out = output->get_elem(area.xmin, area.ymin);
27 memcpy(out, constant, output->get_elem_bytes_len());
28}
29
30} // namespace blender::compositor
#define BLI_assert(a)
Definition BLI_assert.h:50
#define output
virtual const float * get_constant_elem()=0
void update_memory_buffer(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
a MemoryBuffer contains access to the data
int ymin
int xmin