Blender  V3.3
Classes | Typedefs | Functions
transform_snap_sequencer.c File Reference
#include <stdlib.h>
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BKE_context.h"
#include "ED_screen.h"
#include "ED_transform.h"
#include "UI_view2d.h"
#include "SEQ_channels.h"
#include "SEQ_effects.h"
#include "SEQ_iterator.h"
#include "SEQ_relations.h"
#include "SEQ_render.h"
#include "SEQ_sequencer.h"
#include "SEQ_time.h"
#include "transform.h"
#include "transform_convert.h"
#include "transform_snap.h"

Go to the source code of this file.

Classes

struct  TransSeqSnapData
 

Typedefs

typedef struct TransSeqSnapData TransSeqSnapData
 

Functions

TransSeqSnapDatatransform_snap_sequencer_data_alloc (const TransInfo *t)
 
void transform_snap_sequencer_data_free (TransSeqSnapData *data)
 
bool transform_snap_sequencer_calc (TransInfo *t)
 
void transform_snap_sequencer_apply_translate (TransInfo *t, float *vec)
 
static int transform_snap_sequencer_to_closest_strip_ex (TransInfo *t, int frame_1, int frame_2)
 
bool ED_transform_snap_sequencer_to_closest_strip_calc (Scene *scene, ARegion *region, int frame_1, int frame_2, int *r_snap_distance, float *r_snap_frame)
 
void ED_draw_sequencer_snap_point (struct bContext *C, float snap_point)
 
Snap sources
static int seq_get_snap_source_points_len (SeqCollection *snap_sources)
 
static void seq_snap_source_points_alloc (TransSeqSnapData *snap_data, SeqCollection *snap_sources)
 
static int cmp_fn (const void *a, const void *b)
 
static void seq_snap_source_points_build (const Scene *scene, TransSeqSnapData *snap_data, SeqCollection *snap_sources)
 
Snap targets
static void query_strip_effects_fn (const Scene *scene, Sequence *seq_reference, ListBase *seqbase, SeqCollection *collection)
 
static SeqCollectionseq_collection_extract_effects (SeqCollection *collection)
 
static SeqCollectionquery_snap_targets (Scene *scene, SeqCollection *snap_sources, bool exclude_selected)
 
static int seq_get_snap_target_points_count (short snap_mode, SeqCollection *snap_targets)
 
static void seq_snap_target_points_alloc (short snap_mode, TransSeqSnapData *snap_data, SeqCollection *snap_targets)
 
static void seq_snap_target_points_build (Scene *scene, short snap_mode, TransSeqSnapData *snap_data, SeqCollection *snap_targets)
 
Snap utilities
static int seq_snap_threshold_get_frame_distance (const TransInfo *t)
 

Typedef Documentation

◆ TransSeqSnapData

Function Documentation

◆ cmp_fn()

static int cmp_fn ( const void a,
const void b 
)
static

◆ ED_draw_sequencer_snap_point()

void ED_draw_sequencer_snap_point ( struct bContext C,
float  snap_point 
)

Definition at line 387 of file transform_snap_sequencer.c.

References C, drawSnapping(), MOD_SNAP, POINT_INIT, SPACE_SEQ, t, TARGET_INIT, and TFM_SEQ_SLIDE.

Referenced by draw_seq_in_view().

◆ ED_transform_snap_sequencer_to_closest_strip_calc()

bool ED_transform_snap_sequencer_to_closest_strip_calc ( struct Scene scene,
struct ARegion region,
int  frame_1,
int  frame_2,
int *  r_snap_distance,
float r_snap_frame 
)

Iterates over all the strips and finds the closest snapping candidate of either frame_1 or frame_2. The closest snapping candidate will be the closest start or end frame of an existing strip.

Returns
True if there was anything to snap to.

Definition at line 368 of file transform_snap_sequencer.c.

References scene, SEQ_tool_settings_snap_mode_get(), t, TransConvertType_Sequencer, transform_snap_sequencer_to_closest_strip_ex(), and validSnap().

Referenced by update_overlay_strip_position_data().

◆ query_snap_targets()

static SeqCollection* query_snap_targets ( Scene scene,
SeqCollection snap_sources,
bool  exclude_selected 
)
static

◆ query_strip_effects_fn()

static void query_strip_effects_fn ( const Scene scene,
Sequence seq_reference,
ListBase seqbase,
SeqCollection collection 
)
static

◆ seq_collection_extract_effects()

static SeqCollection* seq_collection_extract_effects ( SeqCollection collection)
static

◆ seq_get_snap_source_points_len()

static int seq_get_snap_source_points_len ( SeqCollection snap_sources)
static

Definition at line 45 of file transform_snap_sequencer.c.

References SEQ_collection_len().

Referenced by seq_snap_source_points_alloc().

◆ seq_get_snap_target_points_count()

static int seq_get_snap_target_points_count ( short  snap_mode,
SeqCollection snap_targets 
)
static

◆ seq_snap_source_points_alloc()

static void seq_snap_source_points_alloc ( TransSeqSnapData snap_data,
SeqCollection snap_sources 
)
static

◆ seq_snap_source_points_build()

static void seq_snap_source_points_build ( const Scene scene,
TransSeqSnapData snap_data,
SeqCollection snap_sources 
)
static

◆ seq_snap_target_points_alloc()

static void seq_snap_target_points_alloc ( short  snap_mode,
TransSeqSnapData snap_data,
SeqCollection snap_targets 
)
static

◆ seq_snap_target_points_build()

static void seq_snap_target_points_build ( Scene scene,
short  snap_mode,
TransSeqSnapData snap_data,
SeqCollection snap_targets 
)
static

◆ seq_snap_threshold_get_frame_distance()

static int seq_snap_threshold_get_frame_distance ( const TransInfo t)
static

◆ transform_snap_sequencer_apply_translate()

void transform_snap_sequencer_apply_translate ( TransInfo t,
float vec 
)

◆ transform_snap_sequencer_calc()

bool transform_snap_sequencer_calc ( TransInfo t)

◆ transform_snap_sequencer_data_alloc()

TransSeqSnapData* transform_snap_sequencer_data_alloc ( const TransInfo t)

◆ transform_snap_sequencer_data_free()

void transform_snap_sequencer_data_free ( TransSeqSnapData data)

Definition at line 279 of file transform_snap_sequencer.c.

References data, and MEM_freeN.

Referenced by freeSnapping(), and transform_snap_sequencer_to_closest_strip_ex().

◆ transform_snap_sequencer_to_closest_strip_ex()

static int transform_snap_sequencer_to_closest_strip_ex ( TransInfo t,
int  frame_1,
int  frame_2 
)
static