Blender V4.3
transform_snap_sequencer.cc File Reference
#include <cstdlib>
#include "MEM_guardedalloc.h"
#include "DNA_sequence_types.h"
#include "ED_screen.hh"
#include "ED_transform.hh"
#include "UI_view2d.hh"
#include "SEQ_channels.hh"
#include "SEQ_effects.hh"
#include "SEQ_iterator.hh"
#include "SEQ_relations.hh"
#include "SEQ_render.hh"
#include "SEQ_sequencer.hh"
#include "SEQ_time.hh"
#include "SEQ_transform.hh"
#include "transform.hh"
#include "transform_convert.hh"
#include "transform_snap.hh"

Go to the source code of this file.

Classes

struct  TransSeqSnapData
 

Functions

static TransSeqSnapDatatransform_snap_sequencer_data_alloc_timeline (const TransInfo *t)
 
static TransSeqSnapDatatransform_snap_sequencer_data_alloc_preview (const TransInfo *t)
 
TransSeqSnapDatatransform_snap_sequencer_data_alloc (const TransInfo *t)
 
void transform_snap_sequencer_data_free (TransSeqSnapData *data)
 
static bool transform_snap_sequencer_calc_timeline (TransInfo *t, const TransSeqSnapData *snap_data)
 
static bool transform_snap_sequencer_calc_preview (TransInfo *t, const TransSeqSnapData *snap_data)
 
bool transform_snap_sequencer_calc (TransInfo *t)
 
void transform_snap_sequencer_apply_seqslide (TransInfo *t, float *vec)
 
void transform_snap_sequencer_image_apply_translate (TransInfo *t, float vec[2])
 
static int transform_snap_sequencer_to_closest_strip_ex (TransInfo *t, const int frame_1, const int frame_2)
 
bool ED_transform_snap_sequencer_to_closest_strip_calc (Scene *scene, ARegion *region, const int frame_1, const int frame_2, int *r_snap_distance, float *r_snap_frame)
 
void ED_draw_sequencer_snap_point (ARegion *region, const float snap_point)
 
Snap sources
static blender::VectorSet< Sequence * > query_snap_sources_timeline (const Scene *scene)
 
static blender::VectorSet< Sequence * > query_snap_sources_preview (const Scene *scene)
 
static int seq_get_snap_source_points_count_timeline (const blender::Span< Sequence * > snap_sources)
 
static int seq_get_snap_source_points_count_preview (const blender::Span< Sequence * > snap_sources)
 
static int cmp_fn (const void *a, const void *b)
 
static bool seq_snap_source_points_build_timeline (const Scene *scene, TransSeqSnapData *snap_data, const blender::Span< Sequence * > snap_sources)
 
static bool seq_snap_source_points_build_preview (const Scene *scene, TransSeqSnapData *snap_data, const blender::Span< Sequence * > snap_sources)
 
Snap targets
static void query_strip_effects_fn (const Scene *scene, Sequence *seq_reference, ListBase *seqbase, blender::VectorSet< Sequence * > &strips)
 
static blender::VectorSet< Sequence * > query_snap_targets_timeline (Scene *scene, const blender::Span< Sequence * > snap_sources, const bool exclude_selected)
 
static blender::VectorSet< Sequence * > query_snap_targets_preview (Scene *scene, const short snap_mode)
 
static int seq_get_snap_target_points_count_timeline (const Scene *scene, const short snap_mode, const blender::Span< Sequence * > snap_targets)
 
static int seq_get_snap_target_points_count_preview (const short snap_mode, const blender::Span< Sequence * > snap_targets)
 
static bool seq_snap_target_points_build_timeline (const Scene *scene, const short snap_mode, TransSeqSnapData *snap_data, const blender::Span< Sequence * > snap_targets)
 
static bool seq_snap_target_points_build_preview (const Scene *scene, const View2D *v2d, const short snap_mode, TransSeqSnapData *snap_data, const blender::Span< Sequence * > snap_targets)
 
Snap utilities
static float seq_snap_threshold_get_view_distance (const TransInfo *t)
 
static int seq_snap_threshold_get_frame_distance (const TransInfo *t)
 

Function Documentation

◆ cmp_fn()

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

◆ ED_draw_sequencer_snap_point()

◆ ED_transform_snap_sequencer_to_closest_strip_calc()

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 )

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 635 of file transform_snap_sequencer.cc.

References TransInfo::data_type, TransSnap::mode, TransInfo::region, scene, TransInfo::scene, SEQ_tool_settings_snap_mode_get(), TransSnap::snap_target, TransConvertType_Sequencer, transform_snap_sequencer_to_closest_strip_ex(), TransInfo::tsnap, validSnap(), and TransInfo::values.

Referenced by update_overlay_strip_position_data().

◆ query_snap_sources_preview()

◆ query_snap_sources_timeline()

static blender::VectorSet< Sequence * > query_snap_sources_timeline ( const Scene * scene)
static

◆ query_snap_targets_preview()

◆ query_snap_targets_timeline()

◆ query_strip_effects_fn()

◆ seq_get_snap_source_points_count_preview()

static int seq_get_snap_source_points_count_preview ( const blender::Span< Sequence * > snap_sources)
static

◆ seq_get_snap_source_points_count_timeline()

static int seq_get_snap_source_points_count_timeline ( const blender::Span< Sequence * > snap_sources)
static

◆ seq_get_snap_target_points_count_preview()

static int seq_get_snap_target_points_count_preview ( const short snap_mode,
const blender::Span< Sequence * > snap_targets )
static

◆ seq_get_snap_target_points_count_timeline()

static int seq_get_snap_target_points_count_timeline ( const Scene * scene,
const short snap_mode,
const blender::Span< Sequence * > snap_targets )
static

◆ seq_snap_source_points_build_preview()

◆ seq_snap_source_points_build_timeline()

◆ seq_snap_target_points_build_preview()

◆ seq_snap_target_points_build_timeline()

◆ seq_snap_threshold_get_frame_distance()

static int seq_snap_threshold_get_frame_distance ( const TransInfo * t)
static

◆ seq_snap_threshold_get_view_distance()

◆ transform_snap_sequencer_apply_seqslide()

void transform_snap_sequencer_apply_seqslide ( TransInfo * t,
float * vec )

◆ transform_snap_sequencer_calc()

◆ transform_snap_sequencer_calc_preview()

◆ transform_snap_sequencer_calc_timeline()

◆ transform_snap_sequencer_data_alloc()

◆ transform_snap_sequencer_data_alloc_preview()

◆ transform_snap_sequencer_data_alloc_timeline()

◆ transform_snap_sequencer_data_free()

void transform_snap_sequencer_data_free ( TransSeqSnapData * data)

◆ transform_snap_sequencer_image_apply_translate()

void transform_snap_sequencer_image_apply_translate ( TransInfo * t,
float vec[2] )

◆ transform_snap_sequencer_to_closest_strip_ex()