|
Blender V4.3
|
#include <cfloat>#include <cmath>#include <cstdio>#include <cstring>#include "BLI_math_vector_types.hh"#include "BLI_utildefines.h"#include "BLI_vector.hh"#include "DNA_anim_types.h"#include "DNA_screen_types.h"#include "DNA_space_types.h"#include "DNA_userdef_types.h"#include "BKE_anim_data.hh"#include "BKE_curve.hh"#include "BKE_fcurve.hh"#include "BKE_nla.hh"#include "GPU_immediate.hh"#include "GPU_matrix.hh"#include "GPU_state.hh"#include "ED_anim_api.hh"#include "graph_intern.hh"#include "UI_interface.hh"#include "UI_resources.hh"#include "UI_view2d.hh"Go to the source code of this file.
Functions | |
FCurve Modifier Drawing | |
| static void | graph_draw_driver_debug (bAnimContext *ac, ID *id, FCurve *fcu) |
| static void | draw_fcurve_modifier_controls_envelope (FModifier *fcm, View2D *v2d, AnimData *adt_nla_remap) |
| static void | set_fcurve_vertex_color (FCurve *fcu, bool sel) |
| static void | draw_cross (float position[2], const float scale[2], uint attr_id) |
| static void | draw_fcurve_selected_keyframe_vertices (FCurve *fcu, bool sel, uint pos, const blender::IndexRange index_range) |
| static void | draw_fcurve_active_vertex (const FCurve *fcu, const View2D *v2d, const uint pos) |
| static void | draw_fcurve_keyframe_vertices (FCurve *fcu, View2D *v2d, const uint pos) |
| static void | draw_fcurve_selected_handle_vertices (FCurve *fcu, View2D *v2d, bool sel, bool sel_handle_only, uint pos) |
| static void | draw_fcurve_active_handle_vertices (const FCurve *fcu, const bool sel_handle_only, const uint pos) |
| static void | draw_fcurve_handle_vertices (FCurve *fcu, View2D *v2d, bool sel_handle_only, uint pos) |
| static void | draw_fcurve_vertices (ARegion *region, FCurve *fcu, bool do_handles, bool sel_handle_only) |
| static bool | draw_fcurve_handles_check (const SpaceGraph *sipo, const FCurve *fcu) |
| static void | draw_fcurve_handles (SpaceGraph *sipo, ARegion *region, const FCurve *fcu) |
| static void | draw_fcurve_samples (ARegion *region, const FCurve *fcu, const float unit_scale) |
| static void | draw_fcurve_curve (bAnimContext *ac, ID *id, const FCurve *fcu_, View2D *v2d, uint pos, const bool use_nla_remap, const bool draw_extrapolation) |
| static void | draw_fcurve_curve_samples (bAnimContext *ac, ID *id, FCurve *fcu, View2D *v2d, const uint shdr_pos, const bool draw_extrapolation) |
| static int | calculate_bezt_draw_resolution (BezTriple *bezt, BezTriple *prevbezt, const blender::float2 pixels_per_unit) |
| static void | add_bezt_vertices (BezTriple *bezt, BezTriple *prevbezt, int resolution, blender::Vector< blender::float2 > &curve_vertices) |
| static void | add_extrapolation_point_left (const FCurve *fcu, const float v2d_xmin, blender::Vector< blender::float2 > &curve_vertices) |
| static void | add_extrapolation_point_right (const FCurve *fcu, const float v2d_xmax, blender::Vector< blender::float2 > &curve_vertices) |
| static blender::float2 | calculate_pixels_per_unit (View2D *v2d, const float unit_scale) |
| static float | calculate_pixel_distance (const rctf &bounds, const blender::float2 pixels_per_unit) |
| static void | expand_key_bounds (const BezTriple *left_key, const BezTriple *right_key, rctf &bounds) |
| static void | draw_fcurve_curve_keys (bAnimContext *ac, ID *id, FCurve *fcu, View2D *v2d, uint pos, const bool draw_extrapolation) |
| static void | draw_fcurve (bAnimContext *ac, SpaceGraph *sipo, ARegion *region, bAnimListElem *ale) |
| void | graph_draw_ghost_curves (bAnimContext *ac, SpaceGraph *sipo, ARegion *region) |
| void | graph_draw_curves (bAnimContext *ac, SpaceGraph *sipo, ARegion *region, short sel) |
Utility Drawing Defines | |
| static float | fcurve_display_alpha (const FCurve *fcu) |
| static blender::IndexRange | get_bounding_bezt_index_range (const FCurve *fcu, const float min, const float max) |
Channel List | |
| void | graph_draw_channel_names (bContext *C, bAnimContext *ac, ARegion *region, const ListBase &anim_data) |
|
static |
Add points on the bezier between prevbezt and bezt to curve_vertices. The amount of points added is based on the given resolution.
Definition at line 851 of file graph_draw.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), BKE_curve_forward_diff_bezier(), BKE_fcurve_correct_bezpart(), MEM_freeN(), MEM_mallocN, min_ii(), BezTriple::vec, and x.
Referenced by draw_fcurve_curve_keys().
|
static |
Definition at line 906 of file graph_draw.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), FCurve::bezt, BEZT_IPO_CONST, BEZT_IPO_LIN, FCurve::extend, FCURVE_EXTRAPOLATE_CONSTANT, BezTriple::ipo, FCurve::totvert, and BezTriple::vec.
Referenced by draw_fcurve_curve_keys().
|
static |
Definition at line 943 of file graph_draw.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), FCurve::bezt, BEZT_IPO_CONST, BEZT_IPO_LIN, FCurve::extend, FCURVE_EXTRAPOLATE_CONSTANT, FCURVE_INT_VALUES, FCurve::flag, BezTriple::ipo, FCurve::totvert, and BezTriple::vec.
Referenced by draw_fcurve_curve_keys().
|
static |
Definition at line 826 of file graph_draw.cc.
References int, max_ffff(), min_ffff(), and BezTriple::vec.
Referenced by draw_fcurve_curve_keys().
|
static |
Definition at line 991 of file graph_draw.cc.
References BLI_rctf_size_x(), BLI_rctf_size_y(), and bounds().
Referenced by draw_fcurve_curve_keys().
|
static |
Definition at line 979 of file graph_draw.cc.
References BLI_rctf_size_x(), BLI_rctf_size_y(), BLI_rcti_size_x(), BLI_rcti_size_y(), View2D::cur, and View2D::mask.
Referenced by draw_fcurve_curve_keys().
Definition at line 191 of file graph_draw.cc.
References attr_id, GPU_matrix_pop(), GPU_matrix_push(), GPU_matrix_scale_2f(), GPU_matrix_translate_2fv(), GPU_PRIM_LINES, immBegin(), immEnd(), and immVertex2f().
Referenced by draw_fcurve_samples().
|
static |
Definition at line 1142 of file graph_draw.cc.
References AGRP_MUTED, ANIM_get_normalization_flags(), ANIM_nla_mapping_apply_fcurve(), ANIM_nla_mapping_get(), ANIM_unit_mapping_get_factor(), ANIMCONT_DRIVERS, FCurve::bezt, BKE_fcurve_are_keyframes_usable(), BKE_fcurve_is_protected(), FCurve::color, bAnimContext::datatype, draw_fcurve_curve(), draw_fcurve_curve_keys(), draw_fcurve_curve_samples(), draw_fcurve_handles(), draw_fcurve_handles_check(), draw_fcurve_modifier_controls_envelope(), draw_fcurve_samples(), draw_fcurve_vertices(), FCURVE_ACTIVE, fcurve_display_alpha(), FCURVE_INT_VALUES, FCURVE_MUTED, FCURVE_SELECTED, find_active_fmodifier(), ListBase::first, bActionGroup::flag, FCurve::flag, SpaceGraph::flag, FMODIFIER_TYPE_ENVELOPE, FCurve::fpt, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_line_smooth(), GPU_line_width(), GPU_line_width_get(), GPU_matrix_pop(), GPU_matrix_push(), GPU_matrix_scale_2f(), GPU_matrix_translate_2f(), GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), graph_draw_driver_debug(), FCurve::grp, bAnimListElem::id, immBindBuiltinProgram(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniform2fv(), immUniformColor3fvAlpha(), immUniformThemeColorShade(), immVertexFormat(), bAnimListElem::key_data, FCurve::modifiers, bAnimContext::scene, SIPO_NO_DRAW_EXTRAPOLATION, SIPO_SELVHANDLESONLY, bAnimContext::sl, TH_HEADER, FCurve::totvert, FModifier::type, UI_SCALE_FAC, USER_ANIM_HIGH_QUALITY_DRAWING, and USER_ANIM_ONLY_SHOW_SELECTED_CURVE_KEYS.
Referenced by graph_draw_curves().
|
static |
Draw the extra handles for the active point.
Definition at line 335 of file graph_draw.cc.
References FCurve::bezt, BEZT_IPO_BEZ, BEZT_ISSEL_ANY, BKE_fcurve_active_keyframe_index(), BezTriple::f1, BezTriple::f3, FCURVE_ACTIVE, FCURVE_ACTIVE_KEYFRAME_NONE, FCurve::flag, GPU_PRIM_POINTS, immBeginAtMost(), immEnd(), immUniform4fv(), immUniformColor3fvAlpha(), immVertex2fv(), BezTriple::ipo, pos, SELECT, TH_VERTEX_ACTIVE, UI_GetThemeColor4fv(), and BezTriple::vec.
Referenced by draw_fcurve_handle_vertices().
|
static |
Draw the extra indicator for the active point.
Definition at line 236 of file graph_draw.cc.
References FCurve::bezt, BKE_fcurve_active_keyframe_index(), BLI_rctf_size_x(), View2D::cur, BezTriple::f2, FCURVE_ACTIVE, FCURVE_ACTIVE_KEYFRAME_NONE, FCurve::flag, GPU_PRIM_POINTS, immBegin(), immEnd(), immUniformThemeColor(), immVertex2fv(), IN_RANGE, pos, SELECT, TH_VERTEX_ACTIVE, BezTriple::vec, rctf::xmax, and rctf::xmin.
Referenced by draw_fcurve_keyframe_vertices().
|
static |
Definition at line 586 of file graph_draw.cc.
References ANIM_get_normalization_flags(), ANIM_unit_mapping_get_factor(), BKE_animdata_from_id(), BKE_fcurve_calc_range(), BKE_nla_tweakedit_remap(), View2D::cur, FCurve::driver, evaluate_fcurve(), GPU_PRIM_LINE_STRIP, immBegin(), immEnd(), immVertex2f(), max_ff(), min_ff(), NLATIME_CONVERT_MAP, NLATIME_CONVERT_UNMAP, pos, bAnimContext::scene, bAnimContext::sl, UI_view2d_scale_get_x(), USER_ANIM_HIGH_QUALITY_DRAWING, rctf::xmax, and rctf::xmin.
Referenced by draw_fcurve().
|
static |
Definition at line 1014 of file graph_draw.cc.
References add_bezt_vertices(), add_extrapolation_point_left(), add_extrapolation_point_right(), ANIM_get_normalization_flags(), ANIM_unit_mapping_get_factor(), FCurve::bezt, BEZT_IPO_BEZ, BEZT_IPO_CONST, BEZT_IPO_LIN, BLI_rctf_cent_x(), BLI_rctf_cent_y(), BLI_rctf_size_x(), BLI_rcti_size_x(), calculate_bezt_draw_resolution(), calculate_pixel_distance(), calculate_pixels_per_unit(), View2D::cur, blender::IndexRange::drop_front(), evaluate_fcurve(), expand_key_bounds(), blender::IndexRange::first(), get_bounding_bezt_index_range(), GPU_matrix_pop(), GPU_matrix_push(), GPU_matrix_scale_2f(), GPU_matrix_translate_2f(), GPU_PRIM_LINE_STRIP, immBegin(), immEnd(), immVertex2fv(), BezTriple::ipo, blender::IndexRange::last(), View2D::mask, pos, bAnimContext::scene, bAnimContext::sl, FCurve::totvert, BezTriple::vec, rctf::xmax, and rctf::xmin.
Referenced by draw_fcurve().
|
static |
Definition at line 725 of file graph_draw.cc.
References ANIM_get_normalization_flags(), ANIM_unit_mapping_get_factor(), b, count, View2D::cur, FCurve::extend, FCURVE_EXTRAPOLATE_CONSTANT, FCURVE_INT_VALUES, FCurve::flag, FCurve::fpt, GPU_matrix_pop(), GPU_matrix_push(), GPU_matrix_scale_2f(), GPU_matrix_translate_2f(), GPU_PRIM_LINE_STRIP, immBegin(), immEnd(), immVertex2fv(), bAnimContext::scene, bAnimContext::sl, FCurve::totvert, v, FPoint::vec, rctf::xmax, and rctf::xmin.
Referenced by draw_fcurve(), and graph_draw_ghost_curves().
|
static |
Definition at line 368 of file graph_draw.cc.
References draw_fcurve_active_handle_vertices(), draw_fcurve_selected_handle_vertices(), GPU_SHADER_2D_POINT_UNIFORM_SIZE_UNIFORM_COLOR_OUTLINE_AA, immBindBuiltinProgram(), immUnbindProgram(), immUniform1f(), pos, TH_HANDLE_VERTEX_SIZE, UI_GetThemeValuef(), and UI_SCALE_FAC.
Referenced by draw_fcurve_vertices().
|
static |
Definition at line 440 of file graph_draw.cc.
References FCurve::bezt, BEZT_IPO_BEZ, BEZT_ISSEL_ANY, col, BezTriple::f1, BezTriple::f2, BezTriple::f3, fcurve_display_alpha(), SpaceGraph::flag, get_bounding_bezt_index_range(), GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_COMP_U8, GPU_FETCH_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_line_smooth(), GPU_PRIM_LINES, GPU_SHADER_3D_FLAT_COLOR, GPU_vertformat_attr_add(), BezTriple::h1, BezTriple::h2, immAttr4ubv(), immBeginAtMost(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immVertex2fv(), immVertexFormat(), BezTriple::ipo, pos, SELECT, SIPO_SELVHANDLESONLY, TH_HANDLE_FREE, TH_HANDLE_SEL_FREE, FCurve::totvert, UI_GetThemeColor3ubv(), USER_ANIM_HIGH_QUALITY_DRAWING, and BezTriple::vec.
Referenced by draw_fcurve().
|
static |
Definition at line 418 of file graph_draw.cc.
References AGRP_PROTECTED, FCURVE_INT_VALUES, FCURVE_PROTECTED, bActionGroup::flag, FCurve::flag, SpaceGraph::flag, FCurve::grp, and SIPO_NOHANDLES.
Referenced by draw_fcurve().
Definition at line 260 of file graph_draw.cc.
References View2D::cur, draw_fcurve_active_vertex(), draw_fcurve_selected_keyframe_vertices(), FCURVE_PROTECTED, FCurve::flag, get_bounding_bezt_index_range(), GPU_SHADER_2D_POINT_UNIFORM_SIZE_UNIFORM_COLOR_AA, immBindBuiltinProgram(), immUnbindProgram(), immUniform1f(), pos, TH_VERTEX_SIZE, UI_GetThemeValuef(), UI_SCALE_FAC, rctf::xmax, and rctf::xmin.
Referenced by draw_fcurve_vertices().
|
static |
| adt_nla_remap | Send nullptr if no NLA remapping necessary. |
Definition at line 85 of file graph_draw.cc.
References BKE_nla_tweakedit_remap(), BLI_rctf_size_x(), View2D::cur, FMod_Envelope::data, FModifier::data, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_line_width(), GPU_point_size(), GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immBegin(), immBeginAtMost(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniformColor3f(), immVertex2f(), immVertexFormat(), IN_RANGE, FCM_EnvelopeData::max, FMod_Envelope::max, FMod_Envelope::midval, FCM_EnvelopeData::min, FMod_Envelope::min, NLATIME_CONVERT_MAP, FCM_EnvelopeData::time, FMod_Envelope::totvert, UI_SCALE_FAC, rctf::xmax, and rctf::xmin.
Referenced by draw_fcurve().
|
static |
Definition at line 541 of file graph_draw.cc.
References draw_cross(), FCURVE_SELECTED, FCurve::flag, FCurve::fpt, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_line_smooth(), GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), immBindBuiltinProgram(), immUnbindProgram(), immUniformThemeColor(), immVertexFormat(), pos, TH_TEXT, TH_TEXT_HI, TH_VERTEX_SIZE, FCurve::totvert, UI_GetThemeValuef(), UI_view2d_scale_get(), USER_ANIM_HIGH_QUALITY_DRAWING, and FPoint::vec.
Referenced by draw_fcurve().
|
static |
Definition at line 282 of file graph_draw.cc.
References FCurve::bezt, BEZT_IPO_BEZ, BEZT_ISSEL_ANY, View2D::cur, BezTriple::f1, BezTriple::f3, get_bounding_bezt_index_range(), GPU_PRIM_POINTS, immBeginAtMost(), immEnd(), immUniform4f(), immUniformColor3fvAlpha(), immVertex2fv(), BezTriple::ipo, pos, SELECT, TH_HANDLE_VERTEX, TH_HANDLE_VERTEX_SELECT, FCurve::totvert, UI_GetThemeColor3fv(), BezTriple::vec, rctf::xmax, and rctf::xmin.
Referenced by draw_fcurve_handle_vertices().
|
static |
Definition at line 210 of file graph_draw.cc.
References FCurve::bezt, BezTriple::f2, GPU_PRIM_POINTS, immBeginAtMost(), immEnd(), immVertex2fv(), pos, SELECT, set_fcurve_vertex_color(), FCurve::totvert, and BezTriple::vec.
Referenced by draw_fcurve_keyframe_vertices().
|
static |
Definition at line 384 of file graph_draw.cc.
References draw_fcurve_handle_vertices(), draw_fcurve_keyframe_vertices(), GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_program_point_size(), GPU_vertformat_attr_add(), immVertexFormat(), and pos.
Referenced by draw_fcurve().
|
static |
Definition at line 997 of file graph_draw.cc.
References BEZT_IPO_BEZ, bounds(), BezTriple::ipo, max_ff(), max_ffff(), min_ff(), min_ffff(), and BezTriple::vec.
Referenced by draw_fcurve_curve_keys().
Definition at line 50 of file graph_draw.cc.
References FCURVE_SELECTED, and FCurve::flag.
Referenced by draw_fcurve(), draw_fcurve_handles(), and set_fcurve_vertex_color().
|
static |
Get the first and last index to the bezt array that are just outside min and max.
Definition at line 56 of file graph_draw.cc.
References FCurve::bezt, BKE_fcurve_bezt_binarysearch_index(), clamp_i(), min, and FCurve::totvert.
Referenced by draw_fcurve_curve_keys(), draw_fcurve_handles(), draw_fcurve_keyframe_vertices(), and draw_fcurve_selected_handle_vertices().
| void graph_draw_channel_names | ( | bContext * | C, |
| bAnimContext * | ac, | ||
| ARegion * | region, | ||
| const ListBase & | anim_data ) |
Left hand part.
Definition at line 1521 of file graph_draw.cc.
References ANIM_channel_draw(), ANIM_channel_draw_widgets(), ANIM_UI_get_channel_height(), ANIM_UI_get_channel_step(), ANIM_UI_get_first_channel_top(), BLI_rctf_init(), View2D::cur, ListBase::first, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, IN_RANGE, bAnimListElem::next, UI_block_begin(), UI_block_draw(), UI_block_end(), UI_EMBOSS, V2D_SCROLL_WIDTH, rctf::xmax, rctf::ymax, and rctf::ymin.
Referenced by graph_channel_region_draw().
| void graph_draw_curves | ( | bAnimContext * | ac, |
| SpaceGraph * | sipo, | ||
| ARegion * | region, | ||
| short | sel ) |
This is called twice from space_graph.cc, graph_main_region_draw() Unselected then selected F-Curves are drawn so that they do not occlude each other.
Definition at line 1480 of file graph_draw.cc.
References ANIM_animdata_filter(), ANIM_animdata_freelist(), ANIMFILTER_CURVE_VISIBLE, ANIMFILTER_DATA_VISIBLE, ANIMFILTER_FCURVESONLY, ANIMFILTER_SEL, ANIMFILTER_UNSEL, bAnimContext::data, bAnimContext::datatype, draw_fcurve(), FCURVE_ACTIVE, filter(), FCurve::flag, and LISTBASE_FOREACH.
Referenced by graph_main_region_draw().
|
static |
Definition at line 1318 of file graph_draw.cc.
References ANIM_get_normalization_flags(), ANIM_unit_mapping_get_factor(), BLI_listbase_is_empty(), FCurve::color, View2D::cur, ChannelDriver::curval, FCurve::curval, FCurve::driver, DRIVER_FLAG_INVALID, ChannelDriver::flag, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_line_width(), GPU_point_size(), GPU_PRIM_LINES, GPU_PRIM_POINTS, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniformColor3f(), immUniformColor3fv(), immVertex2f(), immVertex2fv(), immVertexFormat(), FCurve::modifiers, bAnimContext::region, bAnimContext::scene, bAnimContext::sl, FCurve::totvert, UI_SCALE_FAC, ARegion::v2d, x, rctf::xmax, rctf::xmin, y, and rctf::ymax.
Referenced by draw_fcurve().
| void graph_draw_ghost_curves | ( | bAnimContext * | ac, |
| SpaceGraph * | sipo, | ||
| ARegion * | region ) |
Draw the 'ghost' F-Curves (i.e. snapshots of the curve)
Definition at line 1432 of file graph_draw.cc.
References draw_fcurve_curve_samples(), SpaceGraph_Runtime::ghost_curves, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_line_smooth(), GPU_line_width(), GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immBindBuiltinProgram(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniformColor3fvAlpha(), immVertexFormat(), LISTBASE_FOREACH, SpaceGraph::runtime, UI_SCALE_FAC, and USER_ANIM_HIGH_QUALITY_DRAWING.
Referenced by graph_main_region_draw().
|
static |
Definition at line 161 of file graph_draw.cc.
References CLAMP, color, diff(), fcurve_display_alpha(), FCURVE_PROTECTED, FCurve::flag, immUniformColor4fv(), TH_HEADER, TH_VERTEX, TH_VERTEX_SELECT, UI_GetThemeColor3fv(), and UI_GetThemeColorShade4fv().
Referenced by draw_fcurve_selected_keyframe_vertices().