bf2880dea366a121efa8c4d5f8036af4fb91dfa8
[blender.git] / source / blender / editors / space_action / action_intern.h
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2008 Blender Foundation.
17  * All rights reserved.
18  */
19
20 /** \file
21  * \ingroup spaction
22  */
23
24 #ifndef __ACTION_INTERN_H__
25 #define __ACTION_INTERN_H__
26
27 struct ARegion;
28 struct ARegionType;
29 struct Object;
30 struct Scene;
31 struct ScrArea;
32 struct SpaceAction;
33 struct View2D;
34 struct bAnimContext;
35 struct bContext;
36 struct wmOperatorType;
37
38 /* internal exports only */
39
40 /* **************************************** */
41 /* space_action.c / action_buttons.c */
42
43 struct ARegion *action_has_buttons_region(struct ScrArea *sa);
44
45 void action_buttons_register(struct ARegionType *art);
46
47 /* ***************************************** */
48 /* action_draw.c */
49 void draw_channel_names(struct bContext *C, struct bAnimContext *ac, struct ARegion *ar);
50 void draw_channel_strips(struct bAnimContext *ac, struct SpaceAction *saction, struct ARegion *ar);
51
52 void timeline_draw_cache(struct SpaceAction *saction, struct Object *ob, struct Scene *scene);
53
54 /* ***************************************** */
55 /* action_select.c */
56
57 void ACTION_OT_select_all(struct wmOperatorType *ot);
58 void ACTION_OT_select_box(struct wmOperatorType *ot);
59 void ACTION_OT_select_lasso(struct wmOperatorType *ot);
60 void ACTION_OT_select_circle(struct wmOperatorType *ot);
61 void ACTION_OT_select_column(struct wmOperatorType *ot);
62 void ACTION_OT_select_linked(struct wmOperatorType *ot);
63 void ACTION_OT_select_more(struct wmOperatorType *ot);
64 void ACTION_OT_select_less(struct wmOperatorType *ot);
65 void ACTION_OT_select_leftright(struct wmOperatorType *ot);
66 void ACTION_OT_clickselect(struct wmOperatorType *ot);
67
68 /* defines for left-right select tool */
69 enum eActKeys_LeftRightSelect_Mode {
70   ACTKEYS_LRSEL_TEST = 0,
71   ACTKEYS_LRSEL_LEFT,
72   ACTKEYS_LRSEL_RIGHT,
73 };
74
75 /* defines for column-select mode */
76 enum eActKeys_ColumnSelect_Mode {
77   ACTKEYS_COLUMNSEL_KEYS = 0,
78   ACTKEYS_COLUMNSEL_CFRA,
79   ACTKEYS_COLUMNSEL_MARKERS_COLUMN,
80   ACTKEYS_COLUMNSEL_MARKERS_BETWEEN,
81 };
82
83 /* ***************************************** */
84 /* action_edit.c */
85
86 void ACTION_OT_previewrange_set(struct wmOperatorType *ot);
87 void ACTION_OT_view_all(struct wmOperatorType *ot);
88 void ACTION_OT_view_selected(struct wmOperatorType *ot);
89 void ACTION_OT_view_frame(struct wmOperatorType *ot);
90
91 void ACTION_OT_copy(struct wmOperatorType *ot);
92 void ACTION_OT_paste(struct wmOperatorType *ot);
93
94 void ACTION_OT_keyframe_insert(struct wmOperatorType *ot);
95 void ACTION_OT_duplicate(struct wmOperatorType *ot);
96 void ACTION_OT_delete(struct wmOperatorType *ot);
97 void ACTION_OT_clean(struct wmOperatorType *ot);
98 void ACTION_OT_sample(struct wmOperatorType *ot);
99
100 void ACTION_OT_keyframe_type(struct wmOperatorType *ot);
101 void ACTION_OT_handle_type(struct wmOperatorType *ot);
102 void ACTION_OT_interpolation_type(struct wmOperatorType *ot);
103 void ACTION_OT_extrapolation_type(struct wmOperatorType *ot);
104
105 void ACTION_OT_frame_jump(struct wmOperatorType *ot);
106
107 void ACTION_OT_snap(struct wmOperatorType *ot);
108 void ACTION_OT_mirror(struct wmOperatorType *ot);
109
110 void ACTION_OT_new(struct wmOperatorType *ot);
111 void ACTION_OT_unlink(struct wmOperatorType *ot);
112
113 void ACTION_OT_push_down(struct wmOperatorType *ot);
114 void ACTION_OT_stash(struct wmOperatorType *ot);
115 void ACTION_OT_stash_and_create(struct wmOperatorType *ot);
116
117 void ACTION_OT_layer_next(struct wmOperatorType *ot);
118 void ACTION_OT_layer_prev(struct wmOperatorType *ot);
119
120 void ACTION_OT_markers_make_local(struct wmOperatorType *ot);
121
122 /* defines for snap keyframes
123  * NOTE: keep in sync with eEditKeyframes_Snap (in ED_keyframes_edit.h)
124  */
125 enum eActKeys_Snap_Mode {
126   ACTKEYS_SNAP_CFRA = 1,
127   ACTKEYS_SNAP_NEAREST_FRAME,
128   ACTKEYS_SNAP_NEAREST_SECOND,
129   ACTKEYS_SNAP_NEAREST_MARKER,
130 };
131
132 /* defines for mirror keyframes
133  * NOTE: keep in sync with eEditKeyframes_Mirror (in ED_keyframes_edit.h)
134  */
135 enum eActKeys_Mirror_Mode {
136   ACTKEYS_MIRROR_CFRA = 1,
137   ACTKEYS_MIRROR_YAXIS,
138   ACTKEYS_MIRROR_XAXIS,
139   ACTKEYS_MIRROR_MARKER,
140 };
141
142 /* ***************************************** */
143 /* action_ops.c */
144 void action_operatortypes(void);
145 void action_keymap(struct wmKeyConfig *keyconf);
146
147 #endif /* __ACTION_INTERN_H__ */