Blender V4.3
COM_EllipseMaskOperation.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
8
9namespace blender::compositor {
10
12 private:
13 using MaskFunc = std::function<float(bool is_inside, const float *mask, const float *value)>;
14
15 float sine_;
16 float cosine_;
17 float aspect_ratio_;
18 int mask_type_;
19
20 NodeEllipseMask *data_;
21
22 public:
24
25 void init_execution() override;
26
28 {
29 data_ = data;
30 }
31
32 void set_mask_type(int mask_type)
33 {
34 mask_type_ = mask_type;
35 }
36
38 const rcti &area,
39 Span<MemoryBuffer *> inputs) override;
40
41 private:
42 void apply_mask(MemoryBuffer *output,
43 const rcti &area,
45 MaskFunc mask_func);
46};
47
48} // namespace blender::compositor
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
a MemoryBuffer contains access to the data
draw_view in_light_buf[] float
static bool is_inside(int x, int y, int cols, int rows)
Definition filesel.cc:768