NLA SoC: Transform Code for NLA-Strips recoded (still buggy)
[blender.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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, 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 #ifndef ED_NLA_INTERN_H
29 #define ED_NLA_INTERN_H
30
31 /* internal exports only */
32
33 /* **************************************** */
34 /* Macros, etc. only used by NLA */
35
36 /* **************************************** */
37 /* space_nla.c / nla_buttons.c */
38
39 ARegion *nla_has_buttons_region(ScrArea *sa);
40
41 void nla_buttons_register(ARegionType *art);
42 void NLA_OT_properties(wmOperatorType *ot);
43
44 /* **************************************** */
45 /* nla_draw.c */
46
47 void draw_nla_main_data(bAnimContext *ac, SpaceNla *snla, ARegion *ar);
48 void draw_nla_channel_list(bAnimContext *ac, SpaceNla *snla, ARegion *ar);
49
50 /* **************************************** */
51 /* nla_header.c */
52
53 void nla_header_buttons(const bContext *C, ARegion *ar);
54
55 /* **************************************** */
56 /* nla_select.c */
57
58 /* defines for left-right select tool */
59 enum {
60         NLAEDIT_LRSEL_TEST      = -1,
61         NLAEDIT_LRSEL_NONE,
62         NLAEDIT_LRSEL_LEFT,
63         NLAEDIT_LRSEL_RIGHT,
64 } eNlaEdit_LeftRightSelect_Mode;
65
66 /* --- */
67
68 void NLA_OT_select_all_toggle(wmOperatorType *ot);
69 void NLA_OT_select_border(wmOperatorType *ot);
70 void NLA_OT_click_select(wmOperatorType *ot);
71
72 /* **************************************** */
73 /* nla_edit.c */
74
75 /* defines for snap strips
76  */
77 enum {
78         NLAEDIT_SNAP_CFRA = 1,
79         NLAEDIT_SNAP_NEAREST_FRAME,
80         NLAEDIT_SNAP_NEAREST_SECOND,
81         NLAEDIT_SNAP_NEAREST_MARKER,    
82 } eNlaEdit_Snap_Mode;
83
84 /* --- */
85
86 void NLA_OT_tweakmode_enter(wmOperatorType *ot);
87 void NLA_OT_tweakmode_exit(wmOperatorType *ot);
88
89 /* --- */
90
91 void NLA_OT_add_actionclip(wmOperatorType *ot);
92 void NLA_OT_add_transition(wmOperatorType *ot);
93
94 void NLA_OT_add_meta(wmOperatorType *ot);
95 void NLA_OT_remove_meta(wmOperatorType *ot);
96
97 void NLA_OT_duplicate(wmOperatorType *ot);
98 void NLA_OT_delete(wmOperatorType *ot);
99 void NLA_OT_split(wmOperatorType *ot);
100
101 void NLA_OT_move_up(wmOperatorType *ot);
102 void NLA_OT_move_down(wmOperatorType *ot);
103
104 void NLA_OT_apply_scale(wmOperatorType *ot);
105 void NLA_OT_clear_scale(wmOperatorType *ot);
106
107 void NLA_OT_snap(wmOperatorType *ot);
108
109 void NLA_OT_fmodifier_add(wmOperatorType *ot);
110
111
112 /* **************************************** */
113 /* nla_channels.c */
114
115 void NLA_OT_channels_click(wmOperatorType *ot);
116
117 void NLA_OT_add_tracks(wmOperatorType *ot);
118 void NLA_OT_delete_tracks(wmOperatorType *ot);
119
120 /* **************************************** */
121 /* nla_ops.c */
122
123 int nlaop_poll_tweakmode_off(bContext *C);
124 int nlaop_poll_tweakmode_on (bContext *C);
125
126 short nlaedit_is_tweakmode_on(bAnimContext *ac);
127
128 /* --- */
129
130 void nla_operatortypes(void);
131 void nla_keymap(wmWindowManager *wm);
132
133 #endif /* ED_NLA_INTERN_H */
134