116 for (seq = seqbase->
first; seq; seq = seq->
next) {
144 const int frame_ranges[
MAXSEQ],
145 const int frame_ignore)
149 for (seq = seqbase->
first; seq; seq = seq->
next) {
151 const int frame = frame_ranges[seq->
machine];
152 if (frame == frame_ignore) {
182 for (seq = seqbase->
first; seq; seq = seq->
next) {
187 if (left_match && right_match) {
194 else if (seq_link->
flag &
SELECT && (left_match || right_match)) {
274 ((sel == -1) || (sel && (seq->
flag &
SELECT)) ||
334 if (displen / pixelx > 16) {
339 if ((displen / 3) < 30 * pixelx) {
340 handsize = displen / 3;
343 CLAMP(handsize, 7 * pixelx, 30 * pixelx);
363 static void select_neighbor_from_last(
Scene *
scene,
int lr)
367 bool changed =
false;
422 float seq_image_quad[4][2];
425 point, seq_image_quad[0], seq_image_quad[1], seq_image_quad[2], seq_image_quad[3]);
494 ot->
name =
"(De)select All";
495 ot->
idname =
"SEQUENCER_OT_select_all";
546 ot->
name =
"Select Inverse";
547 ot->
idname =
"SEQUENCER_OT_select_inverse";
592 if (((x < scene->
r.cfra) &&
622 const int handle_clicked)
643 int sel_side = handle_clicked;
735 const bContext *
C,
const int mval[2],
const bool toggle,
const bool extend,
const bool center)
744 float mouseco_view[2];
756 const float center_dist_sq_max =
square_f(75.0f *
U.pixelsize);
757 const float center_scale_px[2] = {
768 float center_dist_sq_test = 0.0f;
776 isect = center_dist_sq_test <= center_dist_sq_max;
779 if (use_cycle && (
seq == seq_active) && (seq_active->
flag &
SELECT)) {
780 center_dist_sq_test =
square_f(
sqrtf(center_dist_sq_test) + (3.0f *
U.pixelsize));
794 if (
seq == seq_active) {
795 slink_active = slink;
806 if (slink_select !=
NULL) {
810 if (slink_active->
next) {
811 slink_select = slink_active->
next;
817 slink_select = slink_active;
820 seq_select = slink_select->
seq;
830 const bool handle_already_selected = ((handle_clicked ==
SEQ_SIDE_LEFT) &&
839 const int handle_clicked,
848 switch (handle_clicked) {
886 else if (action == 0) {
934 if (!extend && !toggle) {
946 if (!extend && !toggle) {
956 if (!extend && !toggle) {
965 const bool wait_to_deselect_others =
RNA_boolean_get(op->
ptr,
"wait_to_deselect_others");
973 bool changed =
false;
976 if (deselect_all || (
seq && ((extend ==
false && deselect ==
false && toggle ==
false)))) {
1013 ot->
idname =
"SEQUENCER_OT_select";
1014 ot->
description =
"Select a strip (last selected becomes the \"active strip\")";
1036 "Use the object center when selecting, in edit mode used to extend object selection");
1043 "Select handles next to the active strip");
1047 ot->
srna,
"linked_time",
false,
"Linked Time",
"Select other strips at the same time");
1055 "Select all strips on same side of the current frame as the mouse cursor");
1074 bool changed =
false;
1108 const int neighbor_selection_filter = select_more ? 0 :
SELECT;
1109 const int selection_filter = select_more ?
SELECT : 0;
1126 bool changed =
false;
1164 ot->
name =
"Select More";
1165 ot->
idname =
"SEQUENCER_OT_select_more";
1166 ot->
description =
"Select more strips adjacent to the current selection";
1200 ot->
name =
"Select Less";
1201 ot->
idname =
"SEQUENCER_OT_select_less";
1202 ot->
description =
"Shrink the current selection of adjacent selected strips";
1256 ot->
name =
"Select Pick Linked";
1257 ot->
idname =
"SEQUENCER_OT_select_linked_pick";
1258 ot->
description =
"Select a chain of linked strips nearest to the mouse pointer";
1299 ot->
name =
"Select Linked";
1300 ot->
idname =
"SEQUENCER_OT_select_linked";
1301 ot->
description =
"Select all strips adjacent to the current selection";
1409 ot->
name =
"Select Handles";
1410 ot->
idname =
"SEQUENCER_OT_select_handles";
1411 ot->
description =
"Select gizmo handles on the sides of the selected strip";
1426 "The side of the handle that is selected");
1445 if (extend ==
false) {
1479 {-1,
"LEFT", 0,
"Left",
"Select to the left of the current frame"},
1480 {1,
"RIGHT", 0,
"Right",
"Select to the right of the current frame"},
1481 {2,
"CURRENT", 0,
"Current Frame",
"Select intersecting with the current frame"},
1486 ot->
name =
"Select Side of Frame";
1487 ot->
idname =
"SEQUENCER_OT_select_side_of_frame";
1488 ot->
description =
"Select strips relative to the current frame";
1516 const int frame_init = sel_side ==
SEQ_SIDE_LEFT ? INT_MIN : INT_MAX;
1517 int frame_ranges[
MAXSEQ];
1518 bool selected =
false;
1526 int *frame_limit_p = &frame_ranges[
seq->
machine];
1538 if (selected ==
false) {
1554 ot->
name =
"Select Side";
1555 ot->
idname =
"SEQUENCER_OT_select_side";
1556 ot->
description =
"Select strips on the nominated side of the selected strips";
1571 "The side to which the selection is applied");
1582 float seq_image_quad[4][2];
1584 float rect_quad[4][2] = {{rect->
xmax, rect->
ymax},
1594 seq_image_quad[0], rect_quad[0], rect_quad[1], rect_quad[2], rect_quad[3]) ||
1596 seq_image_quad[1], rect_quad[0], rect_quad[1], rect_quad[2], rect_quad[3]) ||
1598 seq_image_quad[2], rect_quad[0], rect_quad[1], rect_quad[2], rect_quad[3]) ||
1600 seq_image_quad[3], rect_quad[0], rect_quad[1], rect_quad[2], rect_quad[3]);
1744 ot->
idname =
"SEQUENCER_OT_select_box";
1763 ot->
srna,
"tweak", 0,
"Tweak",
"Operator has been activated using a click-drag event");
1766 ot->
srna,
"include_handles", 0,
"Select Handles",
"Select the strips and their handles");
1792 "All strips of same basic type (graphical or sound)"},
1797 "Shared strip effect type (if active strip is not an effect one, select all non-effect "
1805 "Other strips affected by the active one (sharing some time, and below or "
1806 "effect-assigned)"},
1811 #define SEQ_IS_SOUND(_seq) ((_seq->type & SEQ_TYPE_SOUND_RAM) && !(_seq->type & SEQ_TYPE_EFFECT))
1813 #define SEQ_IS_EFFECT(_seq) ((_seq->type & SEQ_TYPE_EFFECT) != 0)
1815 #define SEQ_USE_DATA(_seq) \
1816 (ELEM(_seq->type, SEQ_TYPE_SCENE, SEQ_TYPE_MOVIECLIP, SEQ_TYPE_MASK) || SEQ_HAS_PATH(_seq))
1818 #define SEQ_CHANNEL_CHECK(_seq, _chan) (ELEM((_chan), 0, (_seq)->machine))
1825 bool changed =
false;
1843 bool changed =
false;
1862 bool changed =
false;
1882 bool changed =
false;
1937 bool changed =
false;
1948 effects[seq->
type] =
true;
1975 bool changed =
false;
1998 if (seq_test->machine > seq_reference->
machine) {
2017 const int UNUSED(channel))
2040 #undef SEQ_IS_EFFECT
2065 bool changed =
false;
2115 ot->
name =
"Select Grouped";
2116 ot->
idname =
"SEQUENCER_OT_select_grouped";
2117 ot->
description =
"Select all strips grouped by various properties";
2133 "Extend selection instead of deselecting everything first");
2135 "use_active_channel",
2138 "Only consider strips on the same channel as the active one");
typedef float(TangentPoint)[2]
struct Scene * CTX_data_scene(const bContext *C)
struct SpaceSeq * CTX_wm_space_seq(const bContext *C)
struct ARegion * CTX_wm_region(const bContext *C)
void BKE_report(ReportList *reports, eReportType type, const char *message)
unsigned int BLI_ghashutil_ptrhash(const void *key)
GSet * BLI_gset_new(GSetHashFP hashfp, GSetCmpFP cmpfp, const char *info) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
BLI_INLINE bool BLI_gsetIterator_done(const GSetIterator *gsi)
bool BLI_ghashutil_ptrcmp(const void *a, const void *b)
BLI_INLINE void BLI_gsetIterator_init(GSetIterator *gsi, GSet *gs)
void BLI_gset_free(GSet *gs, GSetKeyFreeFP keyfreefp)
BLI_INLINE void BLI_gsetIterator_step(GSetIterator *gsi)
BLI_INLINE void * BLI_gsetIterator_getKey(GSetIterator *gsi)
bool BLI_gset_add(GSet *gs, void *key)
#define LISTBASE_FOREACH(type, var, list)
void void BLI_freelistN(struct ListBase *listbase) ATTR_NONNULL(1)
void void BLI_listbase_sort(struct ListBase *listbase, int(*cmp)(const void *, const void *)) ATTR_NONNULL(1
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
MINLINE int min_ii(int a, int b)
MINLINE int max_ii(int a, int b)
MINLINE float square_f(float a)
int isect_point_quad_v2(const float p[2], const float v1[2], const float v2[2], const float v3[2], const float v4[2])
MINLINE float len_squared_v2(const float v[2]) ATTR_WARN_UNUSED_RESULT
MINLINE void sub_v2_v2(float r[2], const float a[2])
MINLINE void mul_v2_v2(float r[2], const float a[2])
void copy_vn_i(int *array_tar, int size, int val)
bool BLI_rctf_isect(const struct rctf *src1, const struct rctf *src2, struct rctf *dest)
BLI_INLINE int BLI_rcti_size_x(const struct rcti *rct)
BLI_INLINE float BLI_rctf_size_x(const struct rctf *rct)
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
#define SET_FLAG_FROM_TEST(value, test, flag)
#define SEQ_HAS_PATH(_seq)
#define SEQ_STRIP_OFSBOTTOM
void ED_outliner_select_sync_from_sequence_tag(struct bContext *C)
bool ED_operator_sequencer_active(struct bContext *C)
#define SEL_OP_USE_PRE_DESELECT(sel_op)
void const char * ED_select_pick_get_name(struct wmOperatorType *ot, PointerRNA *ptr)
void ED_sequencer_deselect_all(struct Scene *scene)
NSNotificationCenter * center
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble u2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLdouble GLdouble v2 _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLdouble GLdouble nz _GL_VOID_RET _GL_VOID GLfloat GLfloat nz _GL_VOID_RET _GL_VOID GLint GLint nz _GL_VOID_RET _GL_VOID GLshort GLshort nz _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const GLfloat *values _GL_VOID_RET _GL_VOID GLsizei const GLushort *values _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID const GLuint const GLclampf *priorities _GL_VOID_RET _GL_VOID GLdouble y _GL_VOID_RET _GL_VOID GLfloat y _GL_VOID_RET _GL_VOID GLint y _GL_VOID_RET _GL_VOID GLshort y _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLfloat GLfloat z _GL_VOID_RET _GL_VOID GLint GLint z _GL_VOID_RET _GL_VOID GLshort GLshort z _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble w _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat w _GL_VOID_RET _GL_VOID GLint GLint GLint w _GL_VOID_RET _GL_VOID GLshort GLshort GLshort w _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble y2 _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat y2 _GL_VOID_RET _GL_VOID GLint GLint GLint y2 _GL_VOID_RET _GL_VOID GLshort GLshort GLshort y2 _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLdouble GLdouble z _GL_VOID_RET _GL_VOID GLuint *buffer _GL_VOID_RET _GL_VOID GLdouble t _GL_VOID_RET _GL_VOID GLfloat t _GL_VOID_RET _GL_VOID GLint t _GL_VOID_RET _GL_VOID GLshort t _GL_VOID_RET _GL_VOID GLdouble GLdouble r _GL_VOID_RET _GL_VOID GLfloat GLfloat r _GL_VOID_RET _GL_VOID GLint GLint r _GL_VOID_RET _GL_VOID GLshort GLshort r _GL_VOID_RET _GL_VOID GLdouble GLdouble r
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
Read Guarded memory(de)allocation.
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position CLAMP
in reality light always falls off quadratically Particle Retrieve the data of the particle that spawned the object for example to give variation to multiple instances of an object Point Retrieve information about points in a point cloud Retrieve the edges of an object as it appears to Cycles topology will always appear triangulated Convert a blackbody temperature to an RGB value Normal Generate a perturbed normal from an RGB normal map image Typically used for faking highly detailed surfaces Generate an OSL shader from a file or text data block Image Sample an image file as a texture Sky Generate a procedural sky texture Noise Generate fractal Perlin noise Wave Generate procedural bands or rings with noise Voronoi Generate Worley noise based on the distance to random points Typically used to generate textures such as or biological cells Brick Generate a procedural texture producing bricks Texture Retrieve multiple types of texture coordinates nTypically used as inputs for texture nodes Vector Convert a point
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert a producing a negative Combine Generate a color from its and blue channels(Deprecated)") DefNode(ShaderNode
#define SEQ_ITERATOR_FOREACH(var, collection)
struct View2D * UI_view2d_fromcontext(const struct bContext *C)
void UI_view2d_region_to_view_rctf(const struct View2D *v2d, const struct rctf *rect_src, struct rctf *rect_dst) ATTR_NONNULL()
float UI_view2d_scale_get_y(const struct View2D *v2d)
void UI_view2d_region_to_view(const struct View2D *v2d, float x, float y, float *r_view_x, float *r_view_y) ATTR_NONNULL()
float UI_view2d_region_to_view_x(const struct View2D *v2d, float x)
float UI_view2d_scale_get_x(const struct View2D *v2d)
__forceinline const avxb select(const avxb &m, const avxb &t, const avxb &f)
ListBase * SEQ_channels_displayed_get(Editing *ed)
SeqCollection * SEQ_query_rendered_strips(const Scene *scene, ListBase *channels, ListBase *seqbase, const int timeline_frame, const int displayed_channel)
uint SEQ_collection_len(const SeqCollection *collection)
void SEQ_filter_selected_strips(SeqCollection *collection)
void SEQ_query_strip_effect_chain(const Scene *scene, Sequence *seq_reference, ListBase *seqbase, SeqCollection *collection)
void SEQ_collection_expand(const Scene *scene, ListBase *seqbase, SeqCollection *collection, void seq_query_func(const Scene *scene, Sequence *seq_reference, ListBase *seqbase, SeqCollection *collection))
SeqCollection * SEQ_query_selected_strips(ListBase *seqbase)
SeqCollection * SEQ_query_all_strips(ListBase *seqbase)
bool SEQ_collection_append_strip(Sequence *seq, SeqCollection *collection)
bool SEQ_collection_has_strip(const Sequence *seq, const SeqCollection *collection)
void SEQ_collection_free(SeqCollection *collection)
void *(* MEM_callocN)(size_t len, const char *str)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
int RNA_int_get(PointerRNA *ptr, const char *name)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
ListBase * SEQ_active_seqbase_get(const Editing *ed)
Editing * SEQ_editing_get(const Scene *scene)
static bool is_sound(wmDrag *drag)
float sequence_handle_size_get_clamped(const Scene *scene, Sequence *seq, const float pixelx)
bool sequencer_view_preview_only_poll(const bContext *C)
bool sequencer_view_has_preview_poll(bContext *C)
EnumPropertyItem prop_side_types[]
bool sequencer_edit_poll(bContext *C)
static int seq_sort_for_center_select(const void *a, const void *b)
static int sequencer_select_linked_pick_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static int sequencer_box_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
#define SEQ_USE_DATA(_seq)
static void select_active_side(const Scene *scene, ListBase *seqbase, int sel_side, int channel, int frame)
static void sequencer_select_do_updates(bContext *C, Scene *scene)
void recurs_sel_seq(Sequence *seq_meta)
static int sequencer_box_select_exec(bContext *C, wmOperator *op)
void SEQUENCER_OT_select_side_of_frame(wmOperatorType *ot)
void SEQUENCER_OT_select_more(wmOperatorType *ot)
static bool select_grouped_type(SeqCollection *strips, ListBase *UNUSED(seqbase), Sequence *actseq, const int channel)
SeqCollection * selected_strips_from_context(bContext *C)
#define SEQ_CHANNEL_CHECK(_seq, _chan)
static int sequencer_select_handles_exec(bContext *C, wmOperator *op)
static void select_surrounding_handles(Scene *scene, Sequence *test)
void ED_sequencer_select_sequence_single(Scene *scene, Sequence *seq, bool deselect_all)
static int sequencer_de_select_all_exec(bContext *C, wmOperator *op)
void SEQUENCER_OT_select_linked_pick(wmOperatorType *ot)
static Sequence * seq_select_seq_from_preview(const bContext *C, const int mval[2], const bool toggle, const bool extend, const bool center)
void SEQUENCER_OT_select_box(wmOperatorType *ot)
@ SEQ_SELECT_HANDLES_SIDE_LEFT_NEIGHBOR
@ SEQ_SELECT_HANDLES_SIDE_LEFT
@ SEQ_SELECT_HANDLES_SIDE_BOTH
@ SEQ_SELECT_HANDLES_SIDE_BOTH_NEIGHBORS
@ SEQ_SELECT_HANDLES_SIDE_RIGHT_NEIGHBOR
@ SEQ_SELECT_HANDLES_SIDE_RIGHT
static bool select_grouped_time_overlap(const Scene *scene, SeqCollection *strips, ListBase *UNUSED(seqbase), Sequence *actseq)
static int seq_sort_for_depth_select(const void *a, const void *b)
static void sequencer_select_set_active(Scene *scene, Sequence *seq)
static int sequencer_select_linked_exec(bContext *C, wmOperator *UNUSED(op))
#define SEQ_IS_EFFECT(_seq)
static const EnumPropertyItem sequencer_prop_select_grouped_types[]
void SEQUENCER_OT_select_linked(wmOperatorType *ot)
static bool select_grouped_type_basic(SeqCollection *strips, ListBase *UNUSED(seqbase), Sequence *actseq, const int channel)
static bool select_grouped_effect_link(const Scene *scene, SeqCollection *strips, ListBase *seqbase, Sequence *UNUSED(actseq), const int UNUSED(channel))
static void sequencer_select_strip_impl(const Editing *ed, Sequence *seq, const int handle_clicked, const bool extend, const bool deselect, const bool toggle)
void SEQUENCER_OT_select_side(wmOperatorType *ot)
static int sequencer_select_less_exec(bContext *C, wmOperator *UNUSED(op))
Sequence * find_nearest_seq(Scene *scene, View2D *v2d, int *hand, const int mval[2])
static bool select_linked_internal(Scene *scene)
void seq_rectf(const Scene *scene, Sequence *seq, rctf *rect)
void SEQUENCER_OT_select(wmOperatorType *ot)
static int sequencer_select_more_exec(bContext *C, wmOperator *UNUSED(op))
static void seq_box_select_seq_from_preview(const bContext *C, rctf *rect, const eSelectOp mode)
static bool element_already_selected(const Sequence *seq, const int handle_clicked)
static bool seq_box_select_rect_image_isect(const Scene *scene, const Sequence *seq, rctf *rect)
static bool select_grouped_data(SeqCollection *strips, ListBase *UNUSED(seqbase), Sequence *actseq, const int channel)
static void query_lower_channel_strips(const Scene *scene, Sequence *seq_reference, ListBase *seqbase, SeqCollection *collection)
void SEQUENCER_OT_select_grouped(wmOperatorType *ot)
void SEQUENCER_OT_select_handles(wmOperatorType *ot)
void SEQUENCER_OT_select_all(struct wmOperatorType *ot)
Sequence * find_neighboring_sequence(Scene *scene, Sequence *test, int lr, int sel)
static const EnumPropertyItem prop_select_handles_side_types[]
static void select_linked_time(const Scene *scene, ListBase *seqbase, Sequence *seq_link)
static int sequencer_select_grouped_exec(bContext *C, wmOperator *op)
static bool select_grouped_type_effect(SeqCollection *strips, ListBase *UNUSED(seqbase), Sequence *actseq, const int channel)
void SEQUENCER_OT_select_inverse(struct wmOperatorType *ot)
void SEQUENCER_OT_select_less(wmOperatorType *ot)
static int sequencer_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static int sequencer_select_inverse_exec(bContext *C, wmOperator *UNUSED(op))
@ SEQ_SELECT_GROUP_TYPE_EFFECT
@ SEQ_SELECT_GROUP_TYPE_BASIC
@ SEQ_SELECT_GROUP_EFFECT_LINK
@ SEQ_SELECT_GROUP_EFFECT
@ SEQ_SELECT_GROUP_OVERLAP
static void sequencer_select_linked_handle(const bContext *C, Sequence *seq, const int handle_clicked)
static int sequencer_select_side_exec(bContext *C, wmOperator *op)
static bool seq_point_image_isect(const Scene *scene, const Sequence *seq, float point[2])
static int sequencer_select_side_of_frame_exec(bContext *C, wmOperator *op)
static int sequencer_select_exec(bContext *C, wmOperator *op)
static void sequencer_select_side_of_frame(const bContext *C, const View2D *v2d, const int mval[2], Scene *scene)
static void select_active_side_range(const Scene *scene, ListBase *seqbase, const int sel_side, const int frame_ranges[MAXSEQ], const int frame_ignore)
SeqCollection * all_strips_from_context(bContext *C)
static bool select_grouped_effect(SeqCollection *strips, ListBase *UNUSED(seqbase), Sequence *actseq, const int channel)
static bool select_more_less_seq__internal(Scene *scene, bool select_more)
#define SEQ_IS_SOUND(_seq)
bool SEQ_relation_is_effect_of_strip(const Sequence *effect, const Sequence *input)
Sequence * SEQ_select_active_get(Scene *scene)
void SEQ_select_active_set(Scene *scene, Sequence *seq)
int SEQ_time_left_handle_frame_get(const Scene *UNUSED(scene), const Sequence *seq)
bool SEQ_time_strip_intersects_frame(const Scene *scene, const Sequence *seq, const int timeline_frame)
int SEQ_time_right_handle_frame_get(const Scene *scene, const Sequence *seq)
struct SeqSelect_Link * prev
struct SeqSelect_Link * next
int(* invoke)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
int(* modal)(struct bContext *, struct wmOperator *, const struct wmEvent *) ATTR_WARN_UNUSED_RESULT
bool(* poll)(struct bContext *) ATTR_WARN_UNUSED_RESULT
void(* cancel)(struct bContext *, struct wmOperator *)
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
const char *(* get_name)(struct wmOperatorType *, struct PointerRNA *)
struct ReportList * reports
void WM_event_drag_start_mval(const wmEvent *event, const ARegion *region, int r_mval[2])
bool WM_cursor_test_motion_and_update(const int mval[2])
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
void WM_gesture_box_cancel(bContext *C, wmOperator *op)
int WM_gesture_box_invoke(bContext *C, wmOperator *op, const wmEvent *event)
int WM_gesture_box_modal(bContext *C, wmOperator *op, const wmEvent *event)
void WM_operator_properties_gesture_box(wmOperatorType *ot)
void WM_operator_properties_select_operation_simple(wmOperatorType *ot)
void WM_operator_properties_generic_select(wmOperatorType *ot)
void WM_operator_properties_select_all(wmOperatorType *ot)
void WM_operator_properties_border_to_rctf(struct wmOperator *op, rctf *rect)
void WM_operator_properties_mouse_select(wmOperatorType *ot)
int WM_operator_flag_only_pass_through_on_press(int retval, const struct wmEvent *event)
int WM_generic_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
int WM_menu_invoke(bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
int WM_generic_select_modal(bContext *C, wmOperator *op, const wmEvent *event)