code cleanup: use const events for modal and invoke operators.
[blender.git] / source / blender / editors / space_clip / clip_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) 2011 Blender Foundation.
19  * All rights reserved.
20  *
21  *
22  * Contributor(s): Blender Foundation,
23  *                 Sergey Sharybin
24  *
25  * ***** END GPL LICENSE BLOCK *****
26  */
27
28 /** \file blender/editors/space_clip/clip_intern.h
29  *  \ingroup spclip
30  */
31
32 #ifndef __CLIP_INTERN_H__
33 #define __CLIP_INTERN_H__
34
35 struct bContext;
36 struct ARegion;
37 struct MovieClip;
38 struct MovieTrackingMarker;
39 struct MovieTrackingTrack;
40 struct Scene;
41 struct ScrArea;
42 struct SpaceClip;
43 struct wmOperatorType;
44
45 /* channel heights */
46 #define CHANNEL_FIRST           (-0.8f * U.widget_unit)
47 #define CHANNEL_HEIGHT          (0.8f * U.widget_unit)
48 #define CHANNEL_HEIGHT_HALF     (0.4f * U.widget_unit)
49 #define CHANNEL_SKIP            (0.1f * U.widget_unit)
50 #define CHANNEL_STEP            (CHANNEL_HEIGHT + CHANNEL_SKIP)
51
52 #define CHANNEL_PAD             4
53
54 /* extra padding for lengths (to go under scrollers) */
55 #define EXTRA_SCROLL_PAD        100.0f
56
57 #define STRIP_HEIGHT_HALF       (0.25f * UI_UNIT_Y)
58
59 /* internal exports only */
60
61 /* clip_buttons.c */
62 void ED_clip_buttons_register(struct ARegionType *art);
63
64 /* clip_dopesheet_draw.c */
65 void clip_draw_dopesheet_main(struct SpaceClip *sc, struct ARegion *ar, struct Scene *scene);
66 void clip_draw_dopesheet_channels(const struct bContext *C, struct ARegion *ar);
67
68 /* clip_dopesheet_ops.c */
69 void CLIP_OT_dopesheet_select_channel(struct wmOperatorType *ot);
70 void CLIP_OT_dopesheet_view_all(struct wmOperatorType *ot);
71
72 /* clip_draw.c */
73 void clip_draw_main(const struct bContext *C, struct SpaceClip *sc, struct ARegion *ar);
74 void clip_draw_grease_pencil(struct bContext *C, int onlyv2d);
75 void clip_draw_curfra_label(const int framenr, const float x, const float y);
76
77 /* clip_graph_draw.c */
78 void clip_draw_graph(struct SpaceClip *sc, struct ARegion *ar, struct Scene *scene);
79
80 /* clip_graph_ops.c */
81 void ED_clip_graph_center_current_frame(struct Scene *scene, struct ARegion *ar);
82
83 void CLIP_OT_graph_select(struct wmOperatorType *ot);
84 void CLIP_OT_graph_select_border(struct wmOperatorType *ot);
85 void CLIP_OT_graph_select_all_markers(struct wmOperatorType *ot);
86 void CLIP_OT_graph_delete_curve(struct wmOperatorType *ot);
87 void CLIP_OT_graph_delete_knot(struct wmOperatorType *ot);
88 void CLIP_OT_graph_view_all(struct wmOperatorType *ot);
89 void CLIP_OT_graph_center_current_frame(struct wmOperatorType *ot);
90 void CLIP_OT_graph_disable_markers(struct wmOperatorType *ot);
91
92 /* clip_ops.c */
93 void CLIP_OT_open(struct wmOperatorType *ot);
94 void CLIP_OT_reload(struct wmOperatorType *ot);
95 void CLIP_OT_view_pan(struct wmOperatorType *ot);
96 void CLIP_OT_view_zoom(wmOperatorType *ot);
97 void CLIP_OT_view_zoom_in(struct wmOperatorType *ot);
98 void CLIP_OT_view_zoom_out(struct wmOperatorType *ot);
99 void CLIP_OT_view_zoom_ratio(struct wmOperatorType *ot);
100 void CLIP_OT_view_all(struct wmOperatorType *ot);
101 void CLIP_OT_view_selected(struct wmOperatorType *ot);
102 void CLIP_OT_change_frame(wmOperatorType *ot);
103 void CLIP_OT_rebuild_proxy(struct wmOperatorType *ot);
104 void CLIP_OT_mode_set(struct wmOperatorType *ot);
105
106 void CLIP_OT_view_ndof(struct wmOperatorType *ot);
107
108 /* clip_toolbar.c */
109 struct ARegion *ED_clip_has_properties_region(struct ScrArea *sa);
110 void CLIP_OT_tools(struct wmOperatorType *ot);
111 void CLIP_OT_properties(struct wmOperatorType *ot);
112 void ED_clip_tool_props_register(struct ARegionType *art);
113
114 /* clip_utils.c */
115 void clip_graph_tracking_values_iterate_track(struct SpaceClip *sc, struct MovieTrackingTrack *track, void *userdata,
116                                               void (*func)(void *userdata, struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker, int coord, int scene_framenr, float val),
117                                               void (*segment_start)(void *userdata, struct MovieTrackingTrack *track, int coord),
118                                               void (*segment_end)(void *userdata));
119
120 void clip_graph_tracking_values_iterate(struct SpaceClip *sc, int selected_only, int include_hidden, void *userdata,
121                                         void (*func)(void *userdata, struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker, int coord, int scene_framenr, float val),
122                                         void (*segment_start)(void *userdata, struct MovieTrackingTrack *track, int coord),
123                                         void (*segment_end)(void *userdata));
124
125 void clip_graph_tracking_iterate(struct SpaceClip *sc, int selected_only, int include_hidden, void *userdata,
126                                  void (*func)(void *userdata, struct MovieTrackingMarker *marker));
127
128 void clip_delete_track(struct bContext *C, struct MovieClip *clip, struct ListBase *tracksbase, struct MovieTrackingTrack *track);
129 void clip_delete_marker(struct bContext *C, struct MovieClip *clip, struct ListBase *tracksbase, struct MovieTrackingTrack *track, struct MovieTrackingMarker *marker);
130
131 void clip_view_center_to_point(SpaceClip *sc, float x, float y);
132
133 void clip_draw_cfra(struct SpaceClip *sc, struct ARegion *ar, struct Scene *scene);
134 void clip_draw_sfra_efra(struct View2D *v2d, struct Scene *scene);
135
136 /* tracking_ops.c */
137 struct MovieTrackingTrack *tracking_marker_check_slide(struct bContext *C, const struct wmEvent *event,
138                                                        int *area_r, int *action_r, int *corner_r);
139
140 void CLIP_OT_add_marker(struct wmOperatorType *ot);
141 void CLIP_OT_delete_track(struct wmOperatorType *ot);
142 void CLIP_OT_delete_marker(struct wmOperatorType *ot);
143
144 void CLIP_OT_track_markers(struct wmOperatorType *ot);
145 void CLIP_OT_solve_camera(struct wmOperatorType *ot);
146 void CLIP_OT_clear_solution(struct wmOperatorType *ot);
147
148 void CLIP_OT_clear_track_path(struct wmOperatorType *ot);
149 void CLIP_OT_join_tracks(struct wmOperatorType *ot);
150
151 void CLIP_OT_disable_markers(struct wmOperatorType *ot);
152 void CLIP_OT_hide_tracks(struct wmOperatorType *ot);
153 void CLIP_OT_hide_tracks_clear(struct wmOperatorType *ot);
154 void CLIP_OT_lock_tracks(struct wmOperatorType *ot);
155
156 void CLIP_OT_set_solver_keyframe(struct wmOperatorType *ot);
157
158 void CLIP_OT_set_origin(struct wmOperatorType *ot);
159 void CLIP_OT_set_plane(struct wmOperatorType *ot);
160 void CLIP_OT_set_axis(struct wmOperatorType *ot);
161 void CLIP_OT_set_scale(struct wmOperatorType *ot);
162 void CLIP_OT_set_solution_scale(struct wmOperatorType *ot);
163
164 void CLIP_OT_set_center_principal(struct wmOperatorType *ot);
165
166 void CLIP_OT_slide_marker(struct wmOperatorType *ot);
167
168 void CLIP_OT_frame_jump(struct wmOperatorType *ot);
169 void CLIP_OT_track_copy_color(struct wmOperatorType *ot);
170
171 void CLIP_OT_detect_features(struct wmOperatorType *ot);
172
173 void CLIP_OT_stabilize_2d_add(struct wmOperatorType *ot);
174 void CLIP_OT_stabilize_2d_remove(struct wmOperatorType *ot);
175 void CLIP_OT_stabilize_2d_select(struct wmOperatorType *ot);
176 void CLIP_OT_stabilize_2d_set_rotation(struct wmOperatorType *ot);
177
178 void CLIP_OT_clean_tracks(struct wmOperatorType *ot);
179
180 void CLIP_OT_tracking_object_new(struct wmOperatorType *ot);
181 void CLIP_OT_tracking_object_remove(struct wmOperatorType *ot);
182
183 void CLIP_OT_copy_tracks(struct wmOperatorType *ot);
184 void CLIP_OT_paste_tracks(struct wmOperatorType *ot);
185
186 /* tracking_select.c */
187 void CLIP_OT_select(struct wmOperatorType *ot);
188 void CLIP_OT_select_all(struct wmOperatorType *ot);
189 void CLIP_OT_select_border(struct wmOperatorType *ot);
190 void CLIP_OT_select_lasso(struct wmOperatorType *ot);
191 void CLIP_OT_select_circle(struct wmOperatorType *ot);
192 void CLIP_OT_select_grouped(struct wmOperatorType *ot);
193
194 #endif /* __CLIP_INTERN_H__ */