svn merge -r39781:39792 https://svn.blender.org/svnroot/bf-blender/trunk/blender...
[blender-staging.git] / source / blender / editors / space_nla / nla_intern.h
1 /*
2  * ***** BEGIN GPL LICENSE BLOCK *****
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your option) any later version. 
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software Foundation,
16  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17  *
18  * The Original Code is Copyright (C) 2009 Blender Foundation, Joshua Leung.
19  * All rights reserved.
20  *
21  * 
22  * Contributor(s): Blender Foundation, Joshua Leung
23  *
24  * ***** END GPL LICENSE BLOCK *****
25  */
26
27 /** \file blender/editors/space_nla/nla_intern.h
28  *  \ingroup spnla
29  */
30
31 #ifndef ED_NLA_INTERN_H
32 #define ED_NLA_INTERN_H
33
34 /* internal exports only */
35
36 /* **************************************** */
37 /* Macros, etc. only used by NLA */
38
39 /* **************************************** */
40 /* space_nla.c / nla_buttons.c */
41
42 ARegion *nla_has_buttons_region(ScrArea *sa);
43
44 void nla_buttons_register(ARegionType *art);
45 void NLA_OT_properties(wmOperatorType *ot);
46
47 /* **************************************** */
48 /* nla_draw.c */
49
50 void draw_nla_main_data(bAnimContext *ac, SpaceNla *snla, ARegion *ar);
51 void draw_nla_channel_list(bContext *C, bAnimContext *ac, ARegion *ar);
52
53 /* **************************************** */
54 /* nla_header.c */
55
56 void nla_header_buttons(const bContext *C, ARegion *ar);
57
58 /* **************************************** */
59 /* nla_select.c */
60
61 /* defines for left-right select tool */
62 enum {
63         NLAEDIT_LRSEL_TEST      = -1,
64         NLAEDIT_LRSEL_NONE,
65         NLAEDIT_LRSEL_LEFT,
66         NLAEDIT_LRSEL_RIGHT
67 } eNlaEdit_LeftRightSelect_Mode;
68
69 /* --- */
70
71 void NLA_OT_select_all_toggle(wmOperatorType *ot);
72 void NLA_OT_select_border(wmOperatorType *ot);
73 void NLA_OT_select_leftright(wmOperatorType *ot);
74 void NLA_OT_click_select(wmOperatorType *ot);
75
76 /* **************************************** */
77 /* nla_edit.c */
78
79 /* defines for snap strips
80  */
81 enum {
82         NLAEDIT_SNAP_CFRA = 1,
83         NLAEDIT_SNAP_NEAREST_FRAME,
84         NLAEDIT_SNAP_NEAREST_SECOND,
85         NLAEDIT_SNAP_NEAREST_MARKER
86 } eNlaEdit_Snap_Mode;
87
88 /* --- */
89
90 void NLA_OT_tweakmode_enter(wmOperatorType *ot);
91 void NLA_OT_tweakmode_exit(wmOperatorType *ot);
92
93 /* --- */
94
95 void NLA_OT_view_all(wmOperatorType *ot);
96 void NLA_OT_view_selected(wmOperatorType *ot);
97
98 void NLA_OT_actionclip_add(wmOperatorType *ot);
99 void NLA_OT_transition_add(wmOperatorType *ot);
100 void NLA_OT_soundclip_add(wmOperatorType *ot);
101
102 void NLA_OT_meta_add(wmOperatorType *ot);
103 void NLA_OT_meta_remove(wmOperatorType *ot);
104
105 void NLA_OT_duplicate(wmOperatorType *ot);
106 void NLA_OT_delete(wmOperatorType *ot);
107 void NLA_OT_split(wmOperatorType *ot);
108
109 void NLA_OT_mute_toggle(wmOperatorType *ot);
110
111 void NLA_OT_swap(wmOperatorType *ot);
112 void NLA_OT_move_up(wmOperatorType *ot);
113 void NLA_OT_move_down(wmOperatorType *ot);
114
115 void NLA_OT_action_sync_length(wmOperatorType *ot);
116
117 void NLA_OT_apply_scale(wmOperatorType *ot);
118 void NLA_OT_clear_scale(wmOperatorType *ot);
119
120 void NLA_OT_snap(wmOperatorType *ot);
121
122 void NLA_OT_fmodifier_add(wmOperatorType *ot);
123 void NLA_OT_fmodifier_copy(wmOperatorType *ot);
124 void NLA_OT_fmodifier_paste(wmOperatorType *ot);
125
126
127 /* **************************************** */
128 /* nla_channels.c */
129
130 void NLA_OT_channels_click(wmOperatorType *ot);
131
132 void NLA_OT_tracks_add(wmOperatorType *ot);
133 void NLA_OT_delete_tracks(wmOperatorType *ot);
134
135 /* **************************************** */
136 /* nla_ops.c */
137
138 int nlaop_poll_tweakmode_off(bContext *C);
139 int nlaop_poll_tweakmode_on (bContext *C);
140
141 short nlaedit_is_tweakmode_on(bAnimContext *ac);
142
143 /* --- */
144
145 void nla_operatortypes(void);
146 void nla_keymap(wmKeyConfig *keyconf);
147
148 #endif /* ED_NLA_INTERN_H */
149