Blender V4.3
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_math_base.h"
#include "BLI_rect.h"
#include "BLI_string.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 390 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()

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

Definition at line 53 of file clip_draw.cc.

References GPU_PRIM_LINES, immBegin(), immEnd(), immRecti(), immVertex2i(), pos, and UI_SCALE_FAC.

Referenced by draw_movieclip_cache().

◆ draw_marker_areas()

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

◆ draw_marker_outline()

◆ draw_marker_slide_square()

static 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 889 of file clip_draw.cc.

References immRectf(), and pos.

Referenced by draw_marker_slide_zones(), and draw_plane_marker_ex().

◆ draw_marker_slide_triangle()

static 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 905 of file clip_draw.cc.

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

Referenced by draw_marker_slide_zones().

◆ draw_marker_slide_zones()

◆ draw_marker_texts()

◆ draw_movieclip_buffer()

◆ draw_movieclip_cache()

◆ draw_movieclip_muted()

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

◆ draw_movieclip_notes()

static void draw_movieclip_notes ( SpaceClip * sc,
ARegion * region )
static

◆ draw_plane_marker()

static 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 1406 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()

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

Definition at line 1396 of file clip_draw.cc.

References draw_plane_marker_ex().

Referenced by draw_plane_track().

◆ draw_plane_track()

static 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()

static 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()

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

Definition at line 474 of file clip_draw.cc.

References GPU_PRIM_LINE_STRIP, immBegin(), immEnd(), and immVertex2fv().

Referenced by draw_track_path().

◆ draw_track_path_points()

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

Definition at line 443 of file clip_draw.cc.

References GPU_PRIM_POINTS, immBegin(), immEnd(), and immVertex2fv().

Referenced by draw_track_path().

◆ draw_tracking_tracks()

static 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()

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

◆ generic_track_get_markersnr()

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

Definition at line 69 of file clip_draw.cc.

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

Referenced by draw_movieclip_cache().

◆ generic_track_is_marker_enabled()

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

◆ generic_track_is_marker_keyframed()

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

◆ get_shortest_pattern_side()

static float get_shortest_pattern_side ( const MovieTrackingMarker * marker)
static

◆ getArrowEndPoint()

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

Definition at line 1126 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()

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

Definition at line 1148 of file clip_draw.cc.

Referenced by draw_plane_marker_image().

◆ marker_to_path_point()

static void marker_to_path_point ( SpaceClip * sc,
const MovieTrackingTrack * track,
const MovieTrackingMarker * marker,
TrackPathPoint * point )
static

◆ plane_track_colors()

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

Definition at line 1119 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()

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

◆ track_colors()

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

◆ track_to_path_segment()