Blender V4.3
nla_select.cc File Reference
#include <cstdio>
#include <cstring>
#include "DNA_anim_types.h"
#include "DNA_scene_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_math_base.h"
#include "BKE_nla.hh"
#include "ED_anim_api.hh"
#include "ED_keyframes_edit.hh"
#include "ED_screen.hh"
#include "ED_select_utils.hh"
#include "RNA_access.hh"
#include "RNA_define.hh"
#include "WM_api.hh"
#include "WM_types.hh"
#include "UI_view2d.hh"
#include "nla_intern.hh"

Go to the source code of this file.

Enumerations

enum  { DESELECT_STRIPS_NOTEST = 0 , DESELECT_STRIPS_TEST , DESELECT_STRIPS_CLEARACTIVE }
 
enum  { NLA_BOXSEL_ALLSTRIPS = 0 , NLA_BOXSEL_FRAMERANGE , NLA_BOXSEL_CHANNELS }
 

Functions

static short selmodes_to_flagmodes (short sel)
 
static void deselect_nla_strips (bAnimContext *ac, short test, short sel)
 
static int nlaedit_deselectall_exec (bContext *C, wmOperator *op)
 
void NLA_OT_select_all (wmOperatorType *ot)
 
static void box_select_nla_strips (bAnimContext *ac, rcti rect, short mode, short selectmode)
 
static void nlaedit_strip_at_region_position (bAnimContext *ac, float region_x, float region_y, bAnimListElem **r_ale, NlaStrip **r_strip)
 
static bool nlaedit_mouse_is_over_strip (bAnimContext *ac, const int mval[2])
 
static int nlaedit_box_select_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
static int nlaedit_box_select_exec (bContext *C, wmOperator *op)
 
void NLA_OT_select_box (wmOperatorType *ot)
 
static void nlaedit_select_leftright (bContext *C, bAnimContext *ac, short leftright, short select_mode)
 
static int nlaedit_select_leftright_exec (bContext *C, wmOperator *op)
 
static int nlaedit_select_leftright_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void NLA_OT_select_leftright (wmOperatorType *ot)
 
static int mouse_nla_strips (bContext *C, bAnimContext *ac, const int mval[2], short select_mode, const bool deselect_all, bool wait_to_deselect_others)
 
static int nlaedit_clickselect_exec (bContext *C, wmOperator *op)
 
void NLA_OT_click_select (wmOperatorType *ot)
 

Variables

static const EnumPropertyItem prop_nlaedit_leftright_select_types []
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
DESELECT_STRIPS_NOTEST 
DESELECT_STRIPS_TEST 
DESELECT_STRIPS_CLEARACTIVE 

Definition at line 62 of file nla_select.cc.

◆ anonymous enum

anonymous enum

This operator currently works in one of three ways:

  • BKEY - 1: all strips within region are selected #NLAEDIT_BOX_ALLSTRIPS.
  • ALT-BKEY - depending on which axis of the region was larger.
    • 2: x-axis, so select all frames within frame range #NLAEDIT_BOXSEL_FRAMERANGE.
    • 3: y-axis, so select all frames within tracks that region included #NLAEDIT_BOXSEL_CHANNELS.
Enumerator
NLA_BOXSEL_ALLSTRIPS 
NLA_BOXSEL_FRAMERANGE 
NLA_BOXSEL_CHANNELS 

Definition at line 198 of file nla_select.cc.

Function Documentation

◆ box_select_nla_strips()

◆ deselect_nla_strips()

◆ mouse_nla_strips()

◆ NLA_OT_click_select()

◆ NLA_OT_select_all()

◆ NLA_OT_select_box()

◆ NLA_OT_select_leftright()

◆ nlaedit_box_select_exec()

◆ nlaedit_box_select_invoke()

static int nlaedit_box_select_invoke ( bContext * C,
wmOperator * op,
const wmEvent * event )
static

◆ nlaedit_clickselect_exec()

◆ nlaedit_deselectall_exec()

◆ nlaedit_mouse_is_over_strip()

static bool nlaedit_mouse_is_over_strip ( bAnimContext * ac,
const int mval[2] )
static

Definition at line 319 of file nla_select.cc.

References BLI_assert, MEM_freeN(), and nlaedit_strip_at_region_position().

Referenced by nlaedit_box_select_invoke().

◆ nlaedit_select_leftright()

◆ nlaedit_select_leftright_exec()

◆ nlaedit_select_leftright_invoke()

◆ nlaedit_strip_at_region_position()

◆ selmodes_to_flagmodes()

static short selmodes_to_flagmodes ( short sel)
static

Variable Documentation

◆ prop_nlaedit_leftright_select_types

const EnumPropertyItem prop_nlaedit_leftright_select_types[]
static
Initial value:
= {
{NLAEDIT_LRSEL_TEST, "CHECK", 0, "Based on Mouse Position", ""},
{NLAEDIT_LRSEL_LEFT, "LEFT", 0, "Before Current Frame", ""},
{NLAEDIT_LRSEL_RIGHT, "RIGHT", 0, "After Current Frame", ""},
{0, nullptr, 0, nullptr, nullptr},
}
@ NLAEDIT_LRSEL_RIGHT
Definition nla_intern.hh:43
@ NLAEDIT_LRSEL_TEST
Definition nla_intern.hh:40
@ NLAEDIT_LRSEL_LEFT
Definition nla_intern.hh:42

Definition at line 429 of file nla_select.cc.

Referenced by NLA_OT_select_leftright().