42 if (mask_layer ==
nullptr) {
49 if (mask_layer_shape_cb(mask_layer_shape, scene)) {
65 if (
ELEM(
nullptr, mask_layer, elems)) {
74 ce->
cfra =
float(mask_layer_shape->frame);
88 if (mask_layer ==
nullptr) {
106 if (mask_layer_shape ==
nullptr) {
110 switch (select_mode) {
126 if (mask_layer ==
nullptr) {
139 if (mask_layer ==
nullptr) {
151 if (mask_layer ==
nullptr) {
157 if (mask_layer_shape) {
164 if (mask_layer ==
nullptr) {
181 if (mask_layer ==
nullptr) {
190 pt[0] = mask_layer_shape->frame;
214 bool changed =
false;
217 if (mask_layer ==
nullptr) {
234 bool changed =
false;
237 if (mask_layer ==
nullptr) {
274 float secf =
float(scene->frames_per_second());
276 mask_layer_shape->
frame = int(
floorf(mask_layer_shape->
frame / secf + 0.5f) * secf);
293 float(mask_layer_shape->
frame));
void BKE_mask_layer_shape_unlink(struct MaskLayer *masklay, struct MaskLayerShape *masklay_shape)
struct MaskLayerShape * BKE_mask_layer_shape_duplicate(struct MaskLayerShape *masklay_shape)
struct MaskLayerShape * BKE_mask_layer_shape_find_frame(struct MaskLayer *masklay, int frame)
#define LISTBASE_FOREACH(type, var, list)
#define LISTBASE_FOREACH_MUTABLE(type, var, list)
void BLI_addtail(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_insertlinkafter(ListBase *listbase, void *vprevlink, void *vnewlink) ATTR_NONNULL(1)
#define IN_RANGE(a, b, c)
Read Guarded memory(de)allocation.
int ED_markers_find_nearest_marker_time(ListBase *markers, float x)
bool keyframe_region_lasso_test(const KeyframeEdit_LassoData *data_lasso, const float xy[2])
bool keyframe_region_circle_test(const KeyframeEdit_CircleData *data_circle, const float xy[2])
void * MEM_callocN(size_t len, const char *str)
static bool snap_mask_layer_nearest(MaskLayerShape *mask_layer_shape, Scene *)
bool ED_masklayer_frame_select_check(const MaskLayer *mask_layer)
static void mask_layer_shape_select(MaskLayerShape *mask_layer_shape, short select_mode)
void ED_mask_select_frame(MaskLayer *mask_layer, int selx, short select_mode)
void ED_mask_select_frames(MaskLayer *mask_layer, short select_mode)
void ED_masklayer_snap_frames(MaskLayer *mask_layer, Scene *scene, short mode)
bool ED_masklayer_frames_duplicate(MaskLayer *mask_layer)
void ED_masklayer_frames_select_region(KeyframeEditData *ked, MaskLayer *mask_layer, short tool, short select_mode)
bool ED_masklayer_frames_delete(MaskLayer *mask_layer)
void ED_masklayer_frames_select_box(MaskLayer *mask_layer, float min, float max, short select_mode)
bool ED_masklayer_frames_looper(MaskLayer *mask_layer, Scene *scene, bool(*mask_layer_shape_cb)(MaskLayerShape *, Scene *))
void ED_masklayer_make_cfra_list(MaskLayer *mask_layer, ListBase *elems, bool onlysel)
static bool snap_mask_layer_nearmarker(MaskLayerShape *mask_layer_shape, Scene *scene)
static bool snap_mask_layer_nearestsec(MaskLayerShape *mask_layer_shape, Scene *scene)
void ED_masklayer_frame_select_set(MaskLayer *mask_layer, short mode)
static bool snap_mask_layer_cframe(MaskLayerShape *mask_layer_shape, Scene *scene)