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