Blender V4.3
ED_markers.hh File Reference

Go to the source code of this file.

Functions

Backend API
ListBaseED_context_get_markers (const bContext *C)
 
ListBaseED_animcontext_get_markers (const bAnimContext *ac)
 
int ED_markers_post_apply_transform (ListBase *markers, Scene *scene, int mode, float value, char side)
 
TimeMarkerED_markers_find_nearest_marker (ListBase *markers, float x)
 
int ED_markers_find_nearest_marker_time (ListBase *markers, float x)
 
void ED_markers_get_minmax (ListBase *markers, short sel, float *r_first, float *r_last)
 
void ED_markers_make_cfra_list (ListBase *markers, ListBase *lb, bool only_selected)
 
void ED_markers_deselect_all (ListBase *markers, int action)
 
TimeMarkerED_markers_get_first_selected (ListBase *markers)
 
Operators
void ED_operatortypes_marker ()
 
void ED_keymap_marker (wmKeyConfig *keyconf)
 
void debug_markers_print_list (ListBase *markers)
 

Drawing API

enum  { DRAW_MARKERS_LINES = (1 << 0) , DRAW_MARKERS_LOCAL = (1 << 1) , DRAW_MARKERS_MARGIN = (1 << 2) }
 
void ED_markers_draw (const bContext *C, int flag)
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Flags for drawing markers.

Enumerator
DRAW_MARKERS_LINES 
DRAW_MARKERS_LOCAL 
DRAW_MARKERS_MARGIN 

Definition at line 22 of file ED_markers.hh.

Function Documentation

◆ debug_markers_print_list()

void debug_markers_print_list ( ListBase * markers)

Debugging only: print debugging prints of list of markers.

Definition at line 356 of file anim_markers.cc.

References LISTBASE_FOREACH, markers, and printf.

◆ ED_animcontext_get_markers()

ListBase * ED_animcontext_get_markers ( const bAnimContext * ac)

Public API for getting markers from "animation" context.

Definition at line 93 of file anim_markers.cc.

References bAnimContext::area, context_get_markers(), and bAnimContext::scene.

Referenced by actkeys_select_leftright().

◆ ED_context_get_markers()

◆ ED_keymap_marker()

void ED_keymap_marker ( wmKeyConfig * keyconf)

Called in screen_ops.cc, ED_keymap_screen().

Definition at line 1944 of file anim_markers.cc.

References RGN_TYPE_WINDOW, SPACE_EMPTY, and WM_keymap_ensure().

Referenced by ED_spacetypes_keymap().

◆ ED_markers_deselect_all()

void ED_markers_deselect_all ( ListBase * markers,
int action )

◆ ED_markers_draw()

void ED_markers_draw ( const bContext * C,
int flag )

Draw Scene-Markers in time window.

Set a temporary bit in the marker's flag to indicate that it should be elevated. This bit will be flipped back at the end of this function.

Draw non-elevated markers first. Note that unlike the elevated markers, these marker names will always be clipped by the proceeding marker. This is done because otherwise, the text overlaps with the icon of the marker itself.

Definition at line 565 of file anim_markers.cc.

References BLI_duplicatelist(), BLI_freelistN(), BLI_listbase_is_empty(), BLI_listbase_sort(), RenderData::cfra, CTX_data_scene(), CTX_wm_region(), draw_marker(), draw_markers_background(), ED_context_get_markers(), ListBase::first, flag, TimeMarker::flag, TimeMarker::frame, get_marker_clip_frame_range(), get_marker_region_rect(), GPU_line_width(), GPU_matrix_pop(), GPU_matrix_push(), GPU_matrix_scale_2f(), LISTBASE_FOREACH, marker_is_in_frame_range(), markers, markers_frame_sort(), next, TimeMarker::next, Scene::r, SELECT, SET_FLAG_FROM_TEST, UI_FSTYLE_WIDGET, UI_view2d_fromcontext(), and UI_view2d_scale_get().

Referenced by action_main_region_draw(), draw_timeline_markers(), graph_main_region_draw(), and nla_main_region_draw().

◆ ED_markers_find_nearest_marker()

TimeMarker * ED_markers_find_nearest_marker ( ListBase * markers,
float x )

Get the marker that is closest to this point. XXX: for select, the min_dist should be small.

Definition at line 144 of file anim_markers.cc.

References fabsf, LISTBASE_FOREACH, and markers.

Referenced by ed_marker_camera_bind_exec(), ED_markers_find_nearest_marker_time(), and region_position_is_over_marker().

◆ ED_markers_find_nearest_marker_time()

int ED_markers_find_nearest_marker_time ( ListBase * markers,
float x )

◆ ED_markers_get_first_selected()

◆ ED_markers_get_minmax()

void ED_markers_get_minmax ( ListBase * markers,
short sel,
float * r_first,
float * r_last )

Definition at line 169 of file anim_markers.cc.

References ELEM, float, FLT_MAX, LISTBASE_FOREACH, markers, max, min, and SELECT.

Referenced by markers_selectkeys_between(), and markers_selectkeys_between().

◆ ED_markers_make_cfra_list()

void ED_markers_make_cfra_list ( ListBase * markers,
ListBase * lb,
bool only_selected )

This function makes a list of all the markers. The only_sel argument is used to specify whether only the selected markers are added.

Definition at line 295 of file anim_markers.cc.

References add_marker_to_cfra_elem(), ListBase::first, ListBase::last, LISTBASE_FOREACH, and markers.

Referenced by columnselect_action_keys(), columnselect_graph_keys(), and get_selected_marker_positions().

◆ ED_markers_post_apply_transform()

int ED_markers_post_apply_transform ( ListBase * markers,
Scene * scene,
int mode,
float value,
char side )

Apply some transformation to markers after the fact

Parameters
markersList of markers to affect - this may or may not be the scene markers list, so don't assume anything.
sceneCurrent scene (for getting current frame)
mode(TfmMode) transform mode that this transform is for
valueFrom the transform code, this is t->vec[0] (which is delta transform for grab/extend, and scale factor for scale)
side(B/L/R) for 'extend' functionality, which side of current frame to use

Definition at line 103 of file anim_markers.cc.

References float, LISTBASE_FOREACH, markers, round_fl_to_int(), SELECT, TFM_TIME_EXTEND, TFM_TIME_SCALE, and TFM_TIME_TRANSLATE.

Referenced by special_aftertrans_update__actedit(), and special_aftertrans_update__sequencer().

◆ ED_operatortypes_marker()