39 float frame_iter = frame;
67 frame_iter += frame_step;
91 r_area = preferred_area;
102 if (handles.is_empty()) {
126 if (handle ==
nullptr) {
129 handles.append(handle);
@ LIB_ID_COPY_NO_ANIMDATA
void BKE_id_free(Main *bmain, void *idv)
ID * BKE_id_copy_ex(Main *bmain, const ID *id, ID **new_id_p, int flag)
void BKE_maskrasterize_handle_free(MaskRasterHandle *mr_handle)
float BKE_maskrasterize_handle_sample(MaskRasterHandle *mr_handle, const float xy[2])
MaskRasterHandle * BKE_maskrasterize_handle_new(void)
void BKE_mask_evaluate(struct Mask *mask, float ctime, bool do_newframe)
void BKE_mask_layer_shape_from_mask(struct MaskLayer *masklay, struct MaskLayerShape *masklay_shape)
void BKE_maskrasterize_handle_init(MaskRasterHandle *mr_handle, struct Mask *mask, int width, int height, bool do_aspect_correct, bool do_mask_aa, bool do_feather)
struct MaskLayerShape * BKE_mask_layer_shape_verify_frame(struct MaskLayer *masklay, int frame)
#define LISTBASE_FOREACH(type, var, list)
unsigned int raster_mask_handle_tot_
struct MaskRasterHandle * raster_mask_handles_[CMP_NODE_MASK_MBLUR_SAMPLES_MAX]
void init_execution() override
void deinit_execution() override
void update_memory_buffer_partial(MemoryBuffer *output, const rcti &area, Span< MemoryBuffer * > inputs) override
void determine_canvas(const rcti &preferred_area, rcti &r_area) override
a MemoryBuffer contains access to the data
void add_output_socket(DataType datatype)
draw_view in_light_buf[] float
constexpr float COM_VALUE_ZERO[1]
constexpr rcti COM_AREA_NONE
typename BuffersIteratorBuilder< T >::Iterator BuffersIterator