78 ListBase anim_data = {
nullptr,
nullptr};
171 ot->name =
"(De)select All";
172 ot->idname =
"NLA_OT_select_all";
173 ot->description =
"Select or deselect all NLA-Strips";
205 ListBase anim_data = {
nullptr,
nullptr};
267 float view_x, view_y;
273 ListBase anim_data = {
nullptr,
nullptr};
286 if (ale !=
nullptr) {
324 if (ale !=
nullptr) {
400 ot->name =
"Box Select";
401 ot->idname =
"NLA_OT_select_box";
402 ot->description =
"Use box selection to grab NLA-Strips";
419 ot->srna,
"tweak",
false,
"Tweak",
"Operator has been activated using a click-drag event");
434 {0,
nullptr, 0,
nullptr,
nullptr},
444 ListBase anim_data = {
nullptr,
nullptr};
572 ot->name =
"Select Left/Right";
573 ot->idname =
"NLA_OT_select_leftright";
574 ot->description =
"Select strips to the left or the right of the current frame";
600 const bool deselect_all,
601 bool wait_to_deselect_others)
620 wait_to_deselect_others =
false;
626 if ((strip !=
nullptr && select_mode ==
SELECT_REPLACE) || (strip ==
nullptr && deselect_all)) {
643 if (ale !=
nullptr) {
645 if (strip !=
nullptr) {
694 const bool wait_to_deselect_others =
RNA_boolean_get(op->
ptr,
"wait_to_deselect_others");
700 ret_value =
mouse_nla_strips(
C, &ac, mval, selectmode, deselect_all, wait_to_deselect_others);
715 ot->idname =
"NLA_OT_click_select";
716 ot->description =
"Handle clicks to select NLA Strips";
735 "Deselect On Nothing",
736 "Deselect all when nothing under the cursor");
bool BKE_nlastrip_within_bounds(NlaStrip *strip, float min, float max)
float BKE_nlastrip_distance_to_frame(const NlaStrip *strip, float timeline_frame)
void * BLI_findlink(const ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
#define LISTBASE_FOREACH(type, var, list)
void BLI_remlink(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
BLI_INLINE int BLI_rcti_size_y(const struct rcti *rct)
BLI_INLINE int BLI_rcti_size_x(const struct rcti *rct)
@ ACHANNEL_SETFLAG_INVERT
#define NLATRACK_FIRST_TOP(ac)
#define NLATRACK_STEP(snla)
#define ACHANNEL_SET_FLAG(channel, smode, sflag)
@ ANIMFILTER_DATA_VISIBLE
@ ANIMFILTER_LIST_VISIBLE
@ ANIMFILTER_LIST_CHANNELS
#define NLATRACK_HEIGHT(snla)
bool ED_operator_nla_active(bContext *C)
#define SEL_OP_USE_PRE_DESELECT(sel_op)
Read Guarded memory(de)allocation.
void UI_view2d_listview_view_to_cell(float columnwidth, float rowheight, float startx, float starty, float viewx, float viewy, int *r_column, int *r_row)
void UI_view2d_region_to_view(const View2D *v2d, float x, float y, float *r_view_x, float *r_view_y) ATTR_NONNULL()
float UI_view2d_region_to_view_x(const View2D *v2d, float x)
void ANIM_anim_channels_select_set(bAnimContext *ac, eAnimChannels_SetFlag sel)
void ANIM_set_active_channel(bAnimContext *ac, void *data, eAnimCont_Types datatype, eAnimFilter_Flags filter, void *channel_data, eAnim_ChannelType channel_type)
void ANIM_animdata_freelist(ListBase *anim_data)
bool ANIM_animdata_get_context(const bContext *C, bAnimContext *ac)
size_t ANIM_animdata_filter(bAnimContext *ac, ListBase *anim_data, const eAnimFilter_Flags filter_mode, void *data, const eAnimCont_Types datatype)
float distance(VecOp< float, D >, VecOp< float, D >) RET
void MEM_freeN(void *vmemh)
bool nlaop_poll_tweakmode_off(bContext *C)
@ DESELECT_STRIPS_CLEARACTIVE
static void deselect_nla_strips(bAnimContext *ac, short test, short sel)
static void box_select_nla_strips(bAnimContext *ac, rcti rect, short mode, short selectmode)
static wmOperatorStatus nlaedit_select_leftright_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static bool nlaedit_mouse_is_over_strip(bAnimContext *ac, const int mval[2])
void NLA_OT_select_box(wmOperatorType *ot)
static wmOperatorStatus nlaedit_select_leftright_exec(bContext *C, wmOperator *op)
static wmOperatorStatus nlaedit_clickselect_exec(bContext *C, wmOperator *op)
static wmOperatorStatus nlaedit_box_select_exec(bContext *C, wmOperator *op)
static wmOperatorStatus nlaedit_deselectall_exec(bContext *C, wmOperator *op)
static wmOperatorStatus mouse_nla_strips(bContext *C, bAnimContext *ac, const int mval[2], short select_mode, const bool deselect_all, bool wait_to_deselect_others)
static short selmodes_to_flagmodes(short sel)
void NLA_OT_click_select(wmOperatorType *ot)
void NLA_OT_select_leftright(wmOperatorType *ot)
static wmOperatorStatus nlaedit_box_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)
static void nlaedit_select_leftright(bContext *C, bAnimContext *ac, short leftright, short select_mode)
static void nlaedit_strip_at_region_position(bAnimContext *ac, float region_x, float region_y, bAnimListElem **r_ale, NlaStrip **r_strip)
static const EnumPropertyItem prop_nlaedit_leftright_select_types[]
void NLA_OT_select_all(wmOperatorType *ot)
int RNA_int_get(PointerRNA *ptr, const char *name)
bool RNA_boolean_get(PointerRNA *ptr, const char *name)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, const bool default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
wmOperatorStatus WM_operator_name_call(bContext *C, const char *opstring, blender::wm::OpCallContext context, PointerRNA *properties, const wmEvent *event)
void WM_gesture_box_cancel(bContext *C, wmOperator *op)
wmOperatorStatus WM_gesture_box_modal(bContext *C, wmOperator *op, const wmEvent *event)
wmOperatorStatus WM_gesture_box_invoke(bContext *C, wmOperator *op, const wmEvent *event)
void WM_operator_properties_border_to_rcti(wmOperator *op, rcti *r_rect)
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)
wmOperatorStatus WM_generic_select_modal(bContext *C, wmOperator *op, const wmEvent *event)
wmOperatorStatus WM_generic_select_invoke(bContext *C, wmOperator *op, const wmEvent *event)