46 if (mask_layer ==
NULL) {
52 mask_layer_shape = mask_layer_shape->
next) {
54 if (mask_layer_shape_cb(mask_layer_shape,
scene)) {
78 mask_layer_shape = mask_layer_shape->
next) {
98 if (mask_layer ==
NULL) {
104 mask_layer_shape = mask_layer_shape->
next) {
117 if (mask_layer_shape ==
NULL) {
121 switch (select_mode) {
139 if (mask_layer ==
NULL) {
145 mask_layer_shape = mask_layer_shape->
next) {
153 if (mask_layer ==
NULL) {
165 if (mask_layer ==
NULL) {
171 if (mask_layer_shape) {
180 if (mask_layer ==
NULL) {
186 mask_layer_shape = mask_layer_shape->
next) {
200 if (mask_layer ==
NULL) {
206 mask_layer_shape = mask_layer_shape->
next) {
210 pt[0] = mask_layer_shape->
frame;
235 bool changed =
false;
238 if (mask_layer ==
NULL) {
244 mask_layer_shape = mask_layer_shape_next) {
245 mask_layer_shape_next = mask_layer_shape->
next;
261 if (mask_layer ==
NULL) {
267 mask_layer_shape = gpfn) {
268 gpfn = mask_layer_shape->
next;
299 mask_layer_shape->
frame = (int)(
floorf(mask_layer_shape->
frame / secf + 0.5f) * secf);
typedef float(TangentPoint)[2]
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)
void BLI_insertlinkafter(struct ListBase *listbase, void *vprevlink, void *vnewlink) ATTR_NONNULL(1)
void BLI_addtail(struct ListBase *listbase, void *vlink) 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 *UNUSED(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)
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_frames_duplicate(MaskLayer *mask_layer)
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)
struct MaskLayerShape * next