Blender V5.0
sequencer_select.cc File Reference
#include <cmath>
#include <cstdlib>
#include <cstring>
#include "BLI_lasso_2d.hh"
#include "BLI_rect.h"
#include "MEM_guardedalloc.h"
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BLI_math_geom.h"
#include "BLI_math_vector.h"
#include "BLI_math_vector_types.hh"
#include "BLI_set.hh"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "DNA_scene_types.h"
#include "DNA_space_types.h"
#include "BKE_context.hh"
#include "BKE_report.hh"
#include "BLT_translation.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "RNA_define.hh"
#include "SEQ_channels.hh"
#include "SEQ_connect.hh"
#include "SEQ_effects.hh"
#include "SEQ_iterator.hh"
#include "SEQ_relations.hh"
#include "SEQ_retiming.hh"
#include "SEQ_select.hh"
#include "SEQ_sequencer.hh"
#include "SEQ_time.hh"
#include "SEQ_transform.hh"
#include "ED_outliner.hh"
#include "ED_screen.hh"
#include "ED_select_utils.hh"
#include "ED_sequencer.hh"
#include "UI_view2d.hh"
#include "sequencer_intern.hh"

Go to the source code of this file.

Classes

class  blender::ed::vse::MouseCoords

Namespaces

namespace  blender
namespace  blender::ed
namespace  blender::ed::vse

Functions

Selection Utilities
bool blender::ed::vse::deselect_all_strips (const Scene *scene)
Stripblender::ed::vse::strip_under_mouse_get (const Scene *scene, const View2D *v2d, const int mval[2])
blender::VectorSet< Strip * > blender::ed::vse::all_strips_from_context (bContext *C)
blender::VectorSet< Strip * > blender::ed::vse::selected_strips_from_context (bContext *C)
static void blender::ed::vse::select_surrounding_handles (Scene *scene, Strip *test)
static void blender::ed::vse::select_active_side (const Scene *scene, ListBase *seqbase, int sel_side, int channel, int frame)
static void blender::ed::vse::select_active_side_range (const Scene *scene, ListBase *seqbase, const int sel_side, const int frame_ranges[seq::MAX_CHANNELS], const int frame_ignore)
static void blender::ed::vse::select_linked_time_strip (const Scene *scene, const Strip *strip_source, const eStripHandle handle_clicked)
void blender::ed::vse::select_strip_single (Scene *scene, Strip *strip, bool deselect_all)
void blender::ed::vse::strip_rectf (const Scene *scene, const Strip *strip, rctf *r_rect)
Stripblender::ed::vse::find_neighboring_strip (const Scene *scene, const Strip *test, const int lr, int sel)
void blender::ed::vse::recurs_sel_strip (Strip *strip_meta)
bool blender::ed::vse::strip_point_image_isect (const Scene *scene, const Strip *strip, float point_view[2])
void blender::ed::vse::sequencer_select_do_updates (const bContext *C, Scene *scene)
(De)select All Operator
static wmOperatorStatus blender::ed::vse::sequencer_de_select_all_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_select_all (wmOperatorType *ot)
Select Inverse Operator
static wmOperatorStatus blender::ed::vse::sequencer_select_inverse_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_select_inverse (wmOperatorType *ot)
Select Operator
static void blender::ed::vse::sequencer_select_set_active (Scene *scene, Strip *strip)
static void blender::ed::vse::sequencer_select_side_of_frame (const bContext *C, const View2D *v2d, const int mval[2], Scene *scene)
static void blender::ed::vse::sequencer_select_linked_handle (const bContext *C, Strip *strip, const eStripHandle handle_clicked)
static int blender::ed::vse::strip_sort_for_depth_select (const void *a, const void *b)
static int blender::ed::vse::strip_sort_for_center_select (const void *a, const void *b)
static Stripblender::ed::vse::strip_select_from_preview (const bContext *C, const int mval[2], const bool toggle, const bool extend, const bool center)
bool blender::ed::vse::handle_is_selected (const Strip *strip, eStripHandle handle)
static bool blender::ed::vse::element_already_selected (const StripSelection &selection)
static void blender::ed::vse::sequencer_select_connected_strips (const StripSelection &selection)
static void blender::ed::vse::sequencer_copy_handles_to_selected_strips (const Scene *scene, const StripSelection &selection, VectorSet< Strip * > copy_to)
static void blender::ed::vse::sequencer_select_strip_impl (const Editing *ed, Strip *strip, const eStripHandle handle_clicked, const bool extend, const bool deselect, const bool toggle)
static void blender::ed::vse::select_linked_time (const Scene *scene, const StripSelection &selection, const bool extend, const bool deselect, const bool toggle)
static float blender::ed::vse::inner_clickable_handle_size_get (const Scene *scene, const Strip *strip, const View2D *v2d)
bool blender::ed::vse::can_select_handle (const Scene *scene, const Strip *strip, const View2D *v2d)
static void blender::ed::vse::strip_clickable_areas_get (const Scene *scene, const Strip *strip, const View2D *v2d, rctf *r_body, rctf *r_left_handle, rctf *r_right_handle)
static rctf blender::ed::vse::strip_clickable_area_get (const Scene *scene, const View2D *v2d, const Strip *strip)
static float blender::ed::vse::strip_to_frame_distance (const Scene *scene, const View2D *v2d, const Strip *strip, float timeline_frame)
static blender::Vector< Strip * > blender::ed::vse::padded_strips_under_mouse_get (const Scene *scene, const View2D *v2d, float mouse_co[2])
static bool blender::ed::vse::strips_are_adjacent (const Scene *scene, const Strip *strip1, const Strip *strip2)
static eStripHandle blender::ed::vse::strip_handle_under_cursor_get (const Scene *scene, const Strip *strip, const View2D *v2d, float mouse_co[2])
static bool blender::ed::vse::is_mouse_over_both_handles_of_adjacent_strips (const Scene *scene, blender::Vector< Strip * > strips, const View2D *v2d, float mouse_co[2])
StripSelection blender::ed::vse::pick_strip_and_handle (const Scene *scene, const View2D *v2d, float mouse_co[2])
wmOperatorStatus blender::ed::vse::sequencer_select_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::vse::sequencer_select_invoke (bContext *C, wmOperator *op, const wmEvent *event)
static std::string blender::ed::vse::sequencer_select_get_name (wmOperatorType *ot, PointerRNA *ptr)
void blender::ed::vse::SEQUENCER_OT_select (wmOperatorType *ot)
Select Handle Operator
static wmOperatorStatus blender::ed::vse::sequencer_select_handle_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::vse::sequencer_select_handle_invoke (bContext *C, wmOperator *op, const wmEvent *event)
void blender::ed::vse::SEQUENCER_OT_select_handle (wmOperatorType *ot)
Select More Operator
static bool blender::ed::vse::select_linked_internal (Scene *scene)
static bool blender::ed::vse::select_more_less_impl (Scene *scene, bool select_more)
static wmOperatorStatus blender::ed::vse::sequencer_select_more_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_select_more (wmOperatorType *ot)
Select Less Operator
static wmOperatorStatus blender::ed::vse::sequencer_select_less_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_select_less (wmOperatorType *ot)
Select Pick Linked Operator
static wmOperatorStatus blender::ed::vse::sequencer_select_linked_pick_invoke (bContext *C, wmOperator *op, const wmEvent *event)
void blender::ed::vse::SEQUENCER_OT_select_linked_pick (wmOperatorType *ot)
Select Linked Operator
static wmOperatorStatus blender::ed::vse::sequencer_select_linked_exec (bContext *C, wmOperator *)
void blender::ed::vse::SEQUENCER_OT_select_linked (wmOperatorType *ot)
Select Side of Frame Operator
static wmOperatorStatus blender::ed::vse::sequencer_select_side_of_frame_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_select_side_of_frame (wmOperatorType *ot)
Select Side Operator
static wmOperatorStatus blender::ed::vse::sequencer_select_side_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_select_side (wmOperatorType *ot)
Box Select Operator
static bool blender::ed::vse::strip_box_select_rect_image_isect (const Scene *scene, const Strip *strip, const rctf *rect)
static void blender::ed::vse::seq_box_select_strip_from_preview (const bContext *C, const rctf *rect, const eSelectOp mode)
static wmOperatorStatus blender::ed::vse::sequencer_box_select_exec (bContext *C, wmOperator *op)
static wmOperatorStatus blender::ed::vse::sequencer_box_select_invoke (bContext *C, wmOperator *op, const wmEvent *event)
void blender::ed::vse::SEQUENCER_OT_select_box (wmOperatorType *ot)
Lasso Select Operator
static bool blender::ed::vse::do_lasso_select_is_origin_inside (const ARegion *region, const rcti *clip_rect, const Span< int2 > mcoords, const float co_test[2])
static bool blender::ed::vse::rcti_in_lasso (const rcti rect, const Span< int2 > mcoords)
static bool blender::ed::vse::do_lasso_select_timeline (bContext *C, const Span< int2 > mcoords, ARegion *region, const eSelectOp sel_op)
static bool blender::ed::vse::do_lasso_select_preview (bContext *C, Editing *ed, const Span< int2 > mcoords, const eSelectOp sel_op)
static wmOperatorStatus blender::ed::vse::vse_lasso_select_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_select_lasso (wmOperatorType *ot)
Circle Select Operator
static bool blender::ed::vse::strip_circle_select_radius_image_isect (const Scene *scene, const Strip *strip, const int *radius, const float2 mval)
static void blender::ed::vse::seq_circle_select_strip_from_preview (bContext *C, int radius, const float2 mval, const eSelectOp mode)
static bool blender::ed::vse::check_circle_intersection_in_timeline (const rctf *rect, const float xy[2], const float x_radius, const float y_radius)
static wmOperatorStatus blender::ed::vse::vse_circle_select_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_select_circle (wmOperatorType *ot)

Select Grouped Operator

#define STRIP_IS_SOUND(_strip)
#define STRIP_USE_DATA(_strip)
#define STRIP_CHANNEL_CHECK(_strip, _chan)
enum  {
  blender::ed::vse::SEQ_SELECT_GROUP_TYPE , blender::ed::vse::SEQ_SELECT_GROUP_TYPE_BASIC , blender::ed::vse::SEQ_SELECT_GROUP_TYPE_EFFECT , blender::ed::vse::SEQ_SELECT_GROUP_DATA ,
  blender::ed::vse::SEQ_SELECT_GROUP_EFFECT , blender::ed::vse::SEQ_SELECT_GROUP_EFFECT_LINK , blender::ed::vse::SEQ_SELECT_GROUP_OVERLAP
}
static const EnumPropertyItem blender::ed::vse::sequencer_prop_select_grouped_types []
static bool blender::ed::vse::select_grouped_type (blender::Span< Strip * > strips, ListBase *, Strip *act_strip, const int channel)
static bool blender::ed::vse::select_grouped_type_basic (blender::Span< Strip * > strips, ListBase *, Strip *act_strip, const int channel)
static bool blender::ed::vse::select_grouped_type_effect (blender::Span< Strip * > strips, ListBase *, Strip *act_strip, const int channel)
static bool blender::ed::vse::select_grouped_data (blender::Span< Strip * > strips, ListBase *, Strip *act_strip, const int channel)
static bool blender::ed::vse::select_grouped_effect (blender::Span< Strip * > strips, ListBase *, Strip *act_strip, const int channel)
static bool blender::ed::vse::select_grouped_time_overlap (const Scene *scene, blender::Span< Strip * > strips, ListBase *, Strip *act_strip)
static void blender::ed::vse::query_lower_channel_strips (const Scene *scene, Strip *strip_reference, ListBase *seqbase, blender::VectorSet< Strip * > &strips)
static bool blender::ed::vse::select_grouped_effect_link (const Scene *scene, blender::VectorSet< Strip * > strips, ListBase *seqbase, Strip *, const int)
static wmOperatorStatus blender::ed::vse::sequencer_select_grouped_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_select_grouped (wmOperatorType *ot)

Select Handles Operator

enum  {
  blender::ed::vse::SEQ_SELECT_HANDLES_SIDE_LEFT , blender::ed::vse::SEQ_SELECT_HANDLES_SIDE_RIGHT , blender::ed::vse::SEQ_SELECT_HANDLES_SIDE_BOTH , blender::ed::vse::SEQ_SELECT_HANDLES_SIDE_LEFT_NEIGHBOR ,
  blender::ed::vse::SEQ_SELECT_HANDLES_SIDE_RIGHT_NEIGHBOR , blender::ed::vse::SEQ_SELECT_HANDLES_SIDE_BOTH_NEIGHBORS
}
static const EnumPropertyItem blender::ed::vse::prop_select_handles_side_types []
static wmOperatorStatus blender::ed::vse::sequencer_select_handles_exec (bContext *C, wmOperator *op)
void blender::ed::vse::SEQUENCER_OT_select_handles (wmOperatorType *ot)

Macro Definition Documentation

◆ STRIP_CHANNEL_CHECK

◆ STRIP_IS_SOUND

#define STRIP_IS_SOUND ( _strip)
Value:
(_strip->type == STRIP_TYPE_SOUND_RAM)
@ STRIP_TYPE_SOUND_RAM

Definition at line 2695 of file sequencer_select.cc.

Referenced by blender::ed::vse::select_grouped_type_basic().

◆ STRIP_USE_DATA

#define STRIP_USE_DATA ( _strip)
Value:
STRIP_HAS_PATH(_strip))
@ STRIP_TYPE_SCENE
@ STRIP_TYPE_MOVIECLIP
@ STRIP_TYPE_MASK

Definition at line 2697 of file sequencer_select.cc.

Referenced by blender::ed::vse::select_grouped_data().