63 if (mask_layer ==
NULL) {
69 mask_layer_shape = mask_layer_shape->
next) {
71 if (mask_layer_shape_cb(mask_layer_shape,
scene)) {
96 mask_layer_shape = mask_layer_shape->
next) {
117 if (mask_layer ==
NULL) {
123 mask_layer_shape = mask_layer_shape->
next) {
136 if (mask_layer_shape ==
NULL) {
140 switch (select_mode) {
159 if (mask_layer ==
NULL) {
165 mask_layer_shape = mask_layer_shape->
next) {
174 if (mask_layer ==
NULL) {
187 if (mask_layer ==
NULL) {
193 if (mask_layer_shape) {
203 if (mask_layer ==
NULL) {
209 mask_layer_shape = mask_layer_shape->
next) {
224 if (mask_layer ==
NULL) {
230 mask_layer_shape = mask_layer_shape->
next) {
234 pt[0] = mask_layer_shape->
frame;
260 bool changed =
false;
263 if (mask_layer ==
NULL) {
269 mask_layer_shape = mask_layer_shape_next) {
270 mask_layer_shape_next = mask_layer_shape->
next;
287 if (mask_layer ==
NULL) {
293 mask_layer_shape = gpfn) {
294 gpfn = mask_layer_shape->
next;
325 mask_layer_shape->
frame = (int)(
floorf(mask_layer_shape->
frame / secf + 0.5f) * secf);
typedef float(TangentPoint)[2]
struct MaskLayerShape * BKE_mask_layer_shape_find_frame(struct MaskLayer *masklay, const int 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)
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))
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)
bool ED_masklayer_frame_select_check(MaskLayer *mask_layer)
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
ccl_device_inline float2 floor(const float2 &a)