Blender V4.3
clip_intern.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "BLI_utildefines.h"
12
13#include "DNA_space_types.h"
14#include "DNA_tracking_types.h"
15
16struct ARegion;
17struct MovieClip;
20struct Scene;
21struct SpaceClip;
22struct bContext;
23struct wmOperatorType;
24
25/* channel heights */
26#define CHANNEL_FIRST (-UI_TIME_SCRUB_MARGIN_Y - CHANNEL_HEIGHT_HALF - CHANNEL_SKIP)
27#define CHANNEL_HEIGHT (0.8f * U.widget_unit)
28#define CHANNEL_HEIGHT_HALF (0.4f * U.widget_unit)
29#define CHANNEL_SKIP (0.1f * U.widget_unit)
30#define CHANNEL_STEP (CHANNEL_HEIGHT + CHANNEL_SKIP)
31
32#define CHANNEL_PAD 4
33
34/* extra padding for lengths (to go under scrollers) */
35#define EXTRA_SCROLL_PAD 100.0f
36
37#define STRIP_HEIGHT_HALF (0.25f * UI_UNIT_Y)
38
39/* internal exports only */
40
41/* clip_buttons.cc */
42
44
45/* clip_dopesheet_draw.cc */
46
47void clip_draw_dopesheet_main(SpaceClip *sc, ARegion *region, Scene *scene);
48void clip_draw_dopesheet_channels(const bContext *C, ARegion *region);
49
50/* clip_dopesheet_ops.cc */
51
54
55/* clip_draw.cc */
56
57void clip_draw_main(const bContext *C, SpaceClip *sc, ARegion *region);
58
59/* draw grease pencil */
60
61void clip_draw_grease_pencil(bContext *C, int onlyv2d);
62void clip_draw_cache_and_notes(const bContext *C, SpaceClip *sc, ARegion *region);
63
64/* clip_editor.cc */
65
67
68/* clip_graph_draw.cc */
69
70void clip_draw_graph(SpaceClip *sc, ARegion *region, Scene *scene);
71
72/* clip_graph_ops.cc */
73
75
84
85/* clip_ops.cc */
86
100
101#ifdef WITH_INPUT_NDOF
102void CLIP_OT_view_ndof(wmOperatorType *ot);
103#endif
104
106
108
110
112
113/* clip_utils.cc */
114
120
121using ClipTrackValueCallback = void (*)(void *userdata,
122 MovieTrackingTrack *track,
123 MovieTrackingMarker *marker,
124 eClipCurveValueSource value_source,
125 int scene_framenr,
126 float val);
127
128using ClipTrackValueSegmentStartCallback = void (*)(void *userdata,
129 MovieTrackingTrack *track,
130 eClipCurveValueSource value_source,
131 bool is_point);
132
133using ClipTrackValueSegmentEndCallback = void (*)(void *userdata,
134 eClipCurveValueSource value_source);
135
137
139 MovieTrackingTrack *track,
140 void *userdata,
144
146 bool selected_only,
147 bool include_hidden,
148 void *userdata,
152
154 bool selected_only,
155 bool include_hidden,
156 void *userdata,
157 void (*func)(void *userdata, MovieTrackingMarker *marker));
158
161 MovieClip *clip,
162 MovieTrackingTrack *track,
163 MovieTrackingMarker *marker);
164
166
171 SpaceClip *sc, float x, float y, float *r_offset_x, float *r_offset_y);
172void clip_view_center_to_point(SpaceClip *sc, float x, float y);
173
175 const bContext *C, bool fit, float *r_offset_x, float *r_offset_y, float *r_zoom);
176
182
183void clip_draw_sfra_efra(View2D *v2d, Scene *scene);
184
185/* tracking_ops.cc */
186
187/* Find track which can be slid in a proximity of the given event.
188 * Uses the same distance tolerance rule as the "Slide Marker" operator. */
190
195
200
204
209
211
218
220
223
225
229
233
235
238
241
244
247
250
251/* tracking_select.cc */
252
259
260/* -------------------------------------------------------------------- */
264/* Check whether the marker can is visible within the given context.
265 * The track must be visible, and no restrictions from the clip editor are to be in effect on the
266 * disabled marker visibility (unless the track is active). */
268 const MovieTrackingObject *tracking_object,
269 const MovieTrackingTrack *track,
270 const MovieTrackingMarker *marker)
271{
272 if (track->flag & TRACK_HIDDEN) {
273 return false;
274 }
275
276 if ((marker->flag & MARKER_DISABLED) == 0) {
277 return true;
278 }
279
280 if ((space_clip->flag & SC_HIDE_DISABLED) == 0) {
281 return true;
282 }
283
284 return track == tracking_object->active_track;
285}
286
#define BLI_INLINE
@ SC_HIDE_DISABLED
@ TRACK_HIDDEN
@ MARKER_DISABLED
void CLIP_OT_paste_tracks(wmOperatorType *ot)
void CLIP_OT_create_plane_track(wmOperatorType *ot)
MovieTrackingTrack * tracking_find_slidable_track_in_proximity(bContext *C, const float co[2])
void CLIP_OT_delete_marker(wmOperatorType *ot)
void CLIP_OT_set_origin(wmOperatorType *ot)
void CLIP_OT_view_zoom_in(wmOperatorType *ot)
Definition clip_ops.cc:770
void clip_draw_cache_and_notes(const bContext *C, SpaceClip *sc, ARegion *region)
void clip_graph_tracking_values_iterate_track(SpaceClip *sc, MovieTrackingTrack *track, void *userdata, ClipTrackValueCallback func, ClipTrackValueSegmentStartCallback segment_start, ClipTrackValueSegmentEndCallback segment_end)
void CLIP_OT_stabilize_2d_rotation_add(wmOperatorType *ot)
void CLIP_OT_view_zoom_ratio(wmOperatorType *ot)
Definition clip_ops.cc:879
void CLIP_OT_stabilize_2d_remove(wmOperatorType *ot)
bool clip_graph_value_visible(SpaceClip *sc, eClipCurveValueSource value_source)
Definition clip_utils.cc:41
void CLIP_OT_track_copy_color(wmOperatorType *ot)
void CLIP_OT_dopesheet_view_all(wmOperatorType *ot)
void CLIP_OT_hide_tracks_clear(wmOperatorType *ot)
void CLIP_OT_cursor_set(wmOperatorType *ot)
Definition clip_ops.cc:1805
void CLIP_OT_keyframe_delete(wmOperatorType *ot)
void CLIP_OT_graph_delete_knot(wmOperatorType *ot)
void CLIP_OT_stabilize_2d_rotation_remove(wmOperatorType *ot)
void ED_clip_buttons_register(ARegionType *art)
void clip_draw_dopesheet_channels(const bContext *C, ARegion *region)
void CLIP_OT_select_circle(wmOperatorType *ot)
void CLIP_OT_mode_set(wmOperatorType *ot)
Definition clip_ops.cc:1606
void CLIP_OT_clear_solution(wmOperatorType *ot)
void CLIP_OT_stabilize_2d_select(wmOperatorType *ot)
void CLIP_OT_view_zoom(wmOperatorType *ot)
Definition clip_ops.cc:704
void clip_draw_dopesheet_main(SpaceClip *sc, ARegion *region, Scene *scene)
void CLIP_OT_hide_tracks(wmOperatorType *ot)
void CLIP_OT_track_markers(wmOperatorType *ot)
void CLIP_OT_view_zoom_out(wmOperatorType *ot)
Definition clip_ops.cc:827
void CLIP_OT_stabilize_2d_add(wmOperatorType *ot)
void CLIP_OT_apply_solution_scale(wmOperatorType *ot)
void clip_delete_marker(bContext *C, MovieClip *clip, MovieTrackingTrack *track, MovieTrackingMarker *marker)
void CLIP_OT_set_solver_keyframe(wmOperatorType *ot)
void CLIP_OT_open(wmOperatorType *ot)
Definition clip_ops.cc:300
void CLIP_OT_detect_features(wmOperatorType *ot)
void CLIP_OT_set_scene_frames(wmOperatorType *ot)
Definition clip_ops.cc:1755
void CLIP_OT_change_frame(wmOperatorType *ot)
Definition clip_ops.cc:1149
void CLIP_OT_lock_tracks(wmOperatorType *ot)
void clip_delete_plane_track(bContext *C, MovieClip *clip, MovieTrackingPlaneTrack *plane_track)
void CLIP_OT_average_tracks(wmOperatorType *ot)
void CLIP_OT_dopesheet_select_channel(wmOperatorType *ot)
BLI_INLINE bool ED_space_clip_marker_is_visible(const SpaceClip *space_clip, const MovieTrackingObject *tracking_object, const MovieTrackingTrack *track, const MovieTrackingMarker *marker)
void clip_draw_main(const bContext *C, SpaceClip *sc, ARegion *region)
void CLIP_OT_view_selected(wmOperatorType *ot)
Definition clip_ops.cc:1033
void CLIP_OT_set_solution_scale(wmOperatorType *ot)
void CLIP_OT_set_axis(wmOperatorType *ot)
void clip_view_center_to_point(SpaceClip *sc, float x, float y)
void CLIP_OT_tracking_object_new(wmOperatorType *ot)
void CLIP_OT_keyframe_insert(wmOperatorType *ot)
void CLIP_OT_select_lasso(wmOperatorType *ot)
void CLIP_OT_copy_tracks(wmOperatorType *ot)
void CLIP_OT_graph_center_current_frame(wmOperatorType *ot)
void clip_draw_sfra_efra(View2D *v2d, Scene *scene)
void CLIP_OT_select_all(wmOperatorType *ot)
void CLIP_OT_slide_marker(wmOperatorType *ot)
void CLIP_OT_solve_camera(wmOperatorType *ot)
void CLIP_OT_prefetch(wmOperatorType *ot)
Definition clip_ops.cc:1714
void CLIP_OT_set_scale(wmOperatorType *ot)
void CLIP_OT_stabilize_2d_rotation_select(wmOperatorType *ot)
void CLIP_OT_view_center_cursor(wmOperatorType *ot)
Definition clip_ops.cc:1001
void CLIP_OT_select_box(wmOperatorType *ot)
void CLIP_OT_add_marker_at_click(wmOperatorType *ot)
void CLIP_OT_graph_delete_curve(wmOperatorType *ot)
void CLIP_OT_clean_tracks(wmOperatorType *ot)
void CLIP_OT_join_tracks(wmOperatorType *ot)
void CLIP_OT_rebuild_proxy(wmOperatorType *ot)
Definition clip_ops.cc:1568
void CLIP_OT_lock_selection_toggle(wmOperatorType *ot)
Definition clip_ops.cc:1855
void CLIP_OT_graph_select_all_markers(wmOperatorType *ot)
bool clip_view_calculate_view_selection(const bContext *C, bool fit, float *r_offset_x, float *r_offset_y, float *r_zoom)
void CLIP_OT_slide_plane_marker(wmOperatorType *ot)
void CLIP_OT_refine_markers(wmOperatorType *ot)
bool clip_view_has_locked_selection(const bContext *C)
void clip_graph_tracking_values_iterate(SpaceClip *sc, bool selected_only, bool include_hidden, void *userdata, ClipTrackValueCallback func, ClipTrackValueSegmentStartCallback segment_start, ClipTrackValueSegmentEndCallback segment_end)
void CLIP_OT_select_grouped(wmOperatorType *ot)
void clip_view_offset_for_center_to_point(SpaceClip *sc, float x, float y, float *r_offset_x, float *r_offset_y)
void clip_draw_grease_pencil(bContext *C, int onlyv2d)
void ED_clip_graph_center_current_frame(Scene *scene, ARegion *region)
void CLIP_OT_delete_track(wmOperatorType *ot)
void CLIP_OT_add_marker(wmOperatorType *ot)
void clip_start_prefetch_job(const bContext *C)
void clip_graph_tracking_iterate(SpaceClip *sc, bool selected_only, bool include_hidden, void *userdata, void(*func)(void *userdata, MovieTrackingMarker *marker))
void CLIP_OT_select(wmOperatorType *ot)
eClipCurveValueSource
@ CLIP_VALUE_SOURCE_REPROJECTION_ERROR
@ CLIP_VALUE_SOURCE_SPEED_Y
@ CLIP_VALUE_SOURCE_SPEED_X
void CLIP_OT_graph_select(wmOperatorType *ot)
void clip_delete_track(bContext *C, MovieClip *clip, MovieTrackingTrack *track)
void CLIP_OT_update_image_from_plane_marker(wmOperatorType *ot)
void clip_draw_graph(SpaceClip *sc, ARegion *region, Scene *scene)
void CLIP_OT_view_pan(wmOperatorType *ot)
Definition clip_ops.cc:501
void CLIP_OT_graph_select_box(wmOperatorType *ot)
void(*)(void *userdata, eClipCurveValueSource value_source) ClipTrackValueSegmentEndCallback
void CLIP_OT_view_all(wmOperatorType *ot)
Definition clip_ops.cc:962
void CLIP_OT_tracking_object_remove(wmOperatorType *ot)
void CLIP_OT_disable_markers(wmOperatorType *ot)
void CLIP_OT_set_plane(wmOperatorType *ot)
void CLIP_OT_graph_view_all(wmOperatorType *ot)
void(*)(void *userdata, MovieTrackingTrack *track, eClipCurveValueSource value_source, bool is_point) ClipTrackValueSegmentStartCallback
void(*)(void *userdata, MovieTrackingTrack *track, MovieTrackingMarker *marker, eClipCurveValueSource value_source, int scene_framenr, float val) ClipTrackValueCallback
void CLIP_OT_new_image_from_plane_marker(wmOperatorType *ot)
void CLIP_OT_reload(wmOperatorType *ot)
Definition clip_ops.cc:347
void CLIP_OT_graph_disable_markers(wmOperatorType *ot)
void CLIP_OT_clear_track_path(wmOperatorType *ot)
void CLIP_OT_frame_jump(wmOperatorType *ot)
MovieTrackingTrack * active_track
wmOperatorType * ot
Definition wm_files.cc:4125