Blender V5.0
clip_draw.cc File Reference
#include "DNA_gpencil_legacy_types.h"
#include "DNA_movieclip_types.h"
#include "DNA_scene_types.h"
#include "MEM_guardedalloc.h"
#include "IMB_colormanagement.hh"
#include "IMB_imbuf.hh"
#include "IMB_imbuf_types.hh"
#include "BLI_listbase.h"
#include "BLI_math_base.h"
#include "BLI_math_geom.h"
#include "BLI_rect.h"
#include "BLI_string_utf8.h"
#include "BLI_utildefines.h"
#include "BKE_context.hh"
#include "BKE_image.hh"
#include "BKE_movieclip.h"
#include "BKE_tracking.h"
#include "ED_clip.hh"
#include "ED_gpencil_legacy.hh"
#include "ED_mask.hh"
#include "ED_screen.hh"
#include "ED_util.hh"
#include "BIF_glutil.hh"
#include "GPU_immediate.hh"
#include "GPU_immediate_util.hh"
#include "GPU_matrix.hh"
#include "GPU_state.hh"
#include "WM_types.hh"
#include "UI_resources.hh"
#include "UI_view2d.hh"
#include "BLF_api.hh"
#include "clip_intern.hh"

Go to the source code of this file.

Classes

struct  TrackPathPoint

Macros

#define MAX_STATIC_PATH   64

Enumerations

enum  { PATH_POINT_FLAG_KEYFRAME = (1 << 0) }

Functions

static void draw_keyframe (int frame, int cfra, int sfra, float framelen, int width, uint pos)
static int generic_track_get_markersnr (const MovieTrackingTrack *track, const MovieTrackingPlaneTrack *plane_track)
static int generic_track_get_marker_framenr (const MovieTrackingTrack *track, const MovieTrackingPlaneTrack *plane_track, const int marker_index)
static bool generic_track_is_marker_enabled (const MovieTrackingTrack *track, const MovieTrackingPlaneTrack *plane_track, const int marker_index)
static bool generic_track_is_marker_keyframed (const MovieTrackingTrack *track, const MovieTrackingPlaneTrack *plane_track, const int marker_index)
static void draw_movieclip_cache (SpaceClip *sc, ARegion *region, MovieClip *clip, Scene *scene)
static void draw_movieclip_notes (SpaceClip *sc, ARegion *region)
static void draw_movieclip_muted (ARegion *region, int width, int height, float zoomx, float zoomy)
static void draw_movieclip_buffer (const bContext *C, SpaceClip *sc, ARegion *region, ImBuf *ibuf, int width, int height, float zoomx, float zoomy)
static void draw_stabilization_border (SpaceClip *sc, ARegion *region, int width, int height, float zoomx, float zoomy)
static void marker_to_path_point (SpaceClip *sc, const MovieTrackingTrack *track, const MovieTrackingMarker *marker, TrackPathPoint *point)
static int track_to_path_segment (SpaceClip *sc, MovieTrackingTrack *track, int direction, TrackPathPoint *path)
static void draw_track_path_points (const TrackPathPoint *path, uint position_attribute, const int start_point, const int num_points)
static void draw_track_path_keyframe_points (const TrackPathPoint *path, uint position_attribute, const int start_point, const int num_points)
static void draw_track_path_lines (const TrackPathPoint *path, uint position_attribute, const int start_point, const int num_points)
static void draw_track_path (SpaceClip *sc, MovieClip *, MovieTrackingTrack *track)
static void draw_marker_outline (SpaceClip *sc, const MovieTrackingTrack *track, const MovieTrackingMarker *marker, const float marker_pos[2], int width, int height, uint position)
static void track_colors (const MovieTrackingTrack *track, int act, float r_col[3], float r_scol[3])
static void set_draw_marker_area_color (const MovieTrackingTrack *track, const MovieTrackingMarker *marker, const bool is_track_active, const bool is_area_selected, const float color[3], const float selected_color[3])
static void draw_marker_areas (SpaceClip *sc, const MovieTrackingTrack *track, const MovieTrackingMarker *marker, const float marker_pos[2], int width, int height, int act, int sel, const uint shdr_pos)
static float get_shortest_pattern_side (const MovieTrackingMarker *marker)
static void draw_marker_slide_square (float x, float y, float dx, float dy, int outline, const float px[2], uint pos)
static void draw_marker_slide_triangle (float x, float y, float dx, float dy, int outline, const float px[2], uint pos)
static void draw_marker_slide_zones (SpaceClip *sc, const MovieTrackingTrack *track, const MovieTrackingMarker *marker, const float marker_pos[2], int outline, int sel, int act, int width, int height, uint pos)
static void draw_marker_texts (SpaceClip *sc, const MovieTrackingTrack *track, const MovieTrackingMarker *marker, const float marker_pos[2], int act, int width, int height, float zoomx, float zoomy)
static void plane_track_colors (bool is_active, float r_color[3], float r_selected_color[3])
static void getArrowEndPoint (const int width, const int height, const float zoom, const float start_corner[2], const float end_corner[2], float end_point[2])
static void homogeneous_2d_to_gl_matrix (float matrix[3][3], float gl_matrix[4][4])
static void draw_plane_marker_image (Scene *scene, MovieTrackingPlaneTrack *plane_track, MovieTrackingPlaneMarker *plane_marker)
static void draw_plane_marker_ex (SpaceClip *sc, Scene *scene, MovieTrackingPlaneTrack *plane_track, MovieTrackingPlaneMarker *plane_marker, bool is_active_track, bool draw_outline, int width, int height)
static void draw_plane_marker_outline (SpaceClip *sc, Scene *scene, MovieTrackingPlaneTrack *plane_track, MovieTrackingPlaneMarker *plane_marker, int width, int height)
static void draw_plane_marker (SpaceClip *sc, Scene *scene, MovieTrackingPlaneTrack *plane_track, MovieTrackingPlaneMarker *plane_marker, bool is_active_track, int width, int height)
static void draw_plane_track (SpaceClip *sc, Scene *scene, MovieTrackingPlaneTrack *plane_track, int framenr, bool is_active_track, int width, int height)
static void draw_tracking_tracks (SpaceClip *sc, Scene *scene, ARegion *region, MovieClip *clip, int width, int height, float zoomx, float zoomy)
static void draw_distortion (SpaceClip *sc, ARegion *region, MovieClip *clip, int width, int height, float zoomx, float zoomy)
void clip_draw_main (const bContext *C, SpaceClip *sc, ARegion *region)
void clip_draw_cache_and_notes (const bContext *C, SpaceClip *sc, ARegion *region)
void clip_draw_grease_pencil (bContext *C, int onlyv2d)

Macro Definition Documentation

◆ MAX_STATIC_PATH

#define MAX_STATIC_PATH   64

Referenced by draw_track_path().

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
PATH_POINT_FLAG_KEYFRAME 

Definition at line 395 of file clip_draw.cc.

Function Documentation

◆ clip_draw_cache_and_notes()

void clip_draw_cache_and_notes ( const bContext * C,
SpaceClip * sc,
ARegion * region )

◆ clip_draw_grease_pencil()

◆ clip_draw_main()

◆ draw_distortion()

◆ draw_keyframe()

void draw_keyframe ( int frame,
int cfra,
int sfra,
float framelen,
int width,
uint pos )
static

Definition at line 55 of file clip_draw.cc.

References GPU_PRIM_LINES, immBegin(), immEnd(), immRectf(), immVertex2f(), pos, UI_SCALE_FAC, and x.

Referenced by draw_movieclip_cache().

◆ draw_marker_areas()

void draw_marker_areas ( SpaceClip * sc,
const MovieTrackingTrack * track,
const MovieTrackingMarker * marker,
const float marker_pos[2],
int width,
int height,
int act,
int sel,
const uint shdr_pos )
static

◆ draw_marker_outline()

◆ draw_marker_slide_square()

void draw_marker_slide_square ( float x,
float y,
float dx,
float dy,
int outline,
const float px[2],
uint pos )
static

Definition at line 907 of file clip_draw.cc.

References immRectf(), pos, x, and y.

Referenced by draw_marker_slide_zones(), and draw_plane_marker_ex().

◆ draw_marker_slide_triangle()

void draw_marker_slide_triangle ( float x,
float y,
float dx,
float dy,
int outline,
const float px[2],
uint pos )
static

Definition at line 923 of file clip_draw.cc.

References GPU_PRIM_TRIS, immBegin(), immEnd(), immVertex2f(), pos, x, and y.

Referenced by draw_marker_slide_zones().

◆ draw_marker_slide_zones()

◆ draw_marker_texts()

◆ draw_movieclip_buffer()

◆ draw_movieclip_cache()

◆ draw_movieclip_muted()

void draw_movieclip_muted ( ARegion * region,
int width,
int height,
float zoomx,
float zoomy )
static

◆ draw_movieclip_notes()

◆ draw_plane_marker()

void draw_plane_marker ( SpaceClip * sc,
Scene * scene,
MovieTrackingPlaneTrack * plane_track,
MovieTrackingPlaneMarker * plane_marker,
bool is_active_track,
int width,
int height )
static

Definition at line 1429 of file clip_draw.cc.

References draw_plane_marker_ex().

Referenced by draw_plane_track().

◆ draw_plane_marker_ex()

◆ draw_plane_marker_image()

◆ draw_plane_marker_outline()

void draw_plane_marker_outline ( SpaceClip * sc,
Scene * scene,
MovieTrackingPlaneTrack * plane_track,
MovieTrackingPlaneMarker * plane_marker,
int width,
int height )
static

Definition at line 1419 of file clip_draw.cc.

References draw_plane_marker_ex().

Referenced by draw_plane_track().

◆ draw_plane_track()

void draw_plane_track ( SpaceClip * sc,
Scene * scene,
MovieTrackingPlaneTrack * plane_track,
int framenr,
bool is_active_track,
int width,
int height )
static

◆ draw_stabilization_border()

◆ draw_track_path()

◆ draw_track_path_keyframe_points()

void draw_track_path_keyframe_points ( const TrackPathPoint * path,
uint position_attribute,
const int start_point,
const int num_points )
static

◆ draw_track_path_lines()

void draw_track_path_lines ( const TrackPathPoint * path,
uint position_attribute,
const int start_point,
const int num_points )
static

Definition at line 479 of file clip_draw.cc.

References TrackPathPoint::co, GPU_PRIM_LINE_STRIP, i, immBegin(), immEnd(), and immVertex2fv().

Referenced by draw_track_path().

◆ draw_track_path_points()

void draw_track_path_points ( const TrackPathPoint * path,
uint position_attribute,
const int start_point,
const int num_points )
static

Definition at line 448 of file clip_draw.cc.

References TrackPathPoint::co, GPU_PRIM_POINTS, i, immBegin(), immEnd(), and immVertex2fv().

Referenced by draw_track_path().

◆ draw_tracking_tracks()

void draw_tracking_tracks ( SpaceClip * sc,
Scene * scene,
ARegion * region,
MovieClip * clip,
int width,
int height,
float zoomx,
float zoomy )
static

◆ generic_track_get_marker_framenr()

int generic_track_get_marker_framenr ( const MovieTrackingTrack * track,
const MovieTrackingPlaneTrack * plane_track,
const int marker_index )
static

◆ generic_track_get_markersnr()

int generic_track_get_markersnr ( const MovieTrackingTrack * track,
const MovieTrackingPlaneTrack * plane_track )
static

Definition at line 71 of file clip_draw.cc.

References MovieTrackingPlaneTrack::markersnr, and MovieTrackingTrack::markersnr.

Referenced by draw_movieclip_cache().

◆ generic_track_is_marker_enabled()

bool generic_track_is_marker_enabled ( const MovieTrackingTrack * track,
const MovieTrackingPlaneTrack * plane_track,
const int marker_index )
static

◆ generic_track_is_marker_keyframed()

bool generic_track_is_marker_keyframed ( const MovieTrackingTrack * track,
const MovieTrackingPlaneTrack * plane_track,
const int marker_index )
static

◆ get_shortest_pattern_side()

float get_shortest_pattern_side ( const MovieTrackingMarker * marker)
static

◆ getArrowEndPoint()

void getArrowEndPoint ( const int width,
const int height,
const float zoom,
const float start_corner[2],
const float end_corner[2],
float end_point[2] )
static

Definition at line 1147 of file clip_draw.cc.

References add_v2_v2v2(), min_ff(), mul_v2_fl(), normalize_v2(), and sub_v2_v2v2().

Referenced by draw_plane_marker_ex().

◆ homogeneous_2d_to_gl_matrix()

void homogeneous_2d_to_gl_matrix ( float matrix[3][3],
float gl_matrix[4][4] )
static

Definition at line 1169 of file clip_draw.cc.

Referenced by draw_plane_marker_image().

◆ marker_to_path_point()

◆ plane_track_colors()

void plane_track_colors ( bool is_active,
float r_color[3],
float r_selected_color[3] )
static

Definition at line 1140 of file clip_draw.cc.

References TH_ACT_MARKER, TH_MARKER, TH_SEL_MARKER, and UI_GetThemeColor3fv().

Referenced by draw_plane_marker_ex().

◆ set_draw_marker_area_color()

void set_draw_marker_area_color ( const MovieTrackingTrack * track,
const MovieTrackingMarker * marker,
const bool is_track_active,
const bool is_area_selected,
const float color[3],
const float selected_color[3] )
static

◆ track_colors()

void track_colors ( const MovieTrackingTrack * track,
int act,
float r_col[3],
float r_scol[3] )
static

◆ track_to_path_segment()

int track_to_path_segment ( SpaceClip * sc,
MovieTrackingTrack * track,
int direction,
TrackPathPoint * path )
static