|
Blender V5.0
|
#include "BKE_context.hh"#include "BKE_scene.hh"#include "GPU_immediate.hh"#include "GPU_matrix.hh"#include "GPU_state.hh"#include "ED_time_scrub_ui.hh"#include "WM_api.hh"#include "WM_types.hh"#include "UI_interface.hh"#include "UI_interface_icons.hh"#include "UI_interface_layout.hh"#include "UI_resources.hh"#include "UI_view2d.hh"#include "DNA_scene_types.h"#include "BLI_math_base.h"#include "BLI_rect.h"#include "BLI_string_utf8.h"#include "BLI_timecode.h"#include "RNA_access.hh"#include "RNA_prototypes.hh"Go to the source code of this file.
Functions | |
| void | ED_time_scrub_region_rect_get (const ARegion *region, rcti *r_rect) |
| static int | get_centered_text_y (const rcti *rect) |
| static void | draw_background (const rcti *rect) |
| static void | get_current_time_str (const Scene *scene, bool display_seconds, int frame, char *r_str, uint str_maxncpy) |
| static void | draw_current_frame (const Scene *scene, bool display_seconds, const View2D *v2d, const rcti *scrub_region_rect, int current_frame, bool display_stalk=true) |
| void | ED_time_scrub_draw_current_frame (const ARegion *region, const Scene *scene, bool display_seconds, bool display_stalk) |
| void | ED_time_scrub_draw (const ARegion *region, const Scene *scene, bool display_seconds, bool discrete_frames, const int base) |
| rcti | ED_time_scrub_clamp_scroller_mask (const rcti &scroller_mask) |
| bool | ED_time_scrub_event_in_region (const ARegion *region, const wmEvent *event) |
| bool | ED_time_scrub_event_in_region_poll (const wmWindow *, const ScrArea *, const ARegion *region, const wmEvent *event) |
| void | ED_time_scrub_channel_search_draw (const bContext *C, ARegion *region, bDopeSheet *dopesheet) |
|
static |
Definition at line 50 of file time_scrub_ui.cc.
References GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), immBindBuiltinProgram(), immRectf(), immUnbindProgram(), immUniformThemeColor(), immVertexFormat(), pos, TH_TIME_SCRUB_BACKGROUND, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by DRW_draw_render_loop_offscreen(), ED_time_scrub_draw(), ED_view3d_draw_offscreen(), ED_view3d_draw_offscreen_simple(), and pygpu_offscreen_draw_view3d().
|
static |
Definition at line 79 of file time_scrub_ui.cc.
References BKE_scene_ctime_get(), BLI_rcti_cent_y(), ceil, floor, get_current_time_str(), GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_polygon_smooth(), GPU_PRIM_TRIS, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), immBegin(), immBindBuiltinProgram(), immEnd(), immUnbindProgram(), immUniformColor4fv(), immVertex2f(), immVertexFormat(), uiFontStyle::points, pos, TH_BACK, TH_CFRAME, TH_HEADER_TEXT_HI, U, UI_CNR_ALL, UI_draw_roundbox_4fv_ex(), UI_draw_roundbox_corner_set(), UI_fontstyle_draw_simple(), UI_fontstyle_string_width(), UI_FSTYLE_WIDGET, UI_GetThemeColor4fv(), UI_GetThemeColor4ubv(), UI_GetThemeColorShade4fv(), UI_SCALE_FAC, UI_view2d_view_to_region_x(), rctf::xmax, rctf::xmin, y, rctf::ymax, rcti::ymax, rctf::ymin, and rcti::ymin.
Referenced by ED_time_scrub_draw_current_frame().
| void ED_time_scrub_channel_search_draw | ( | const bContext * | C, |
| ARegion * | region, | ||
| bDopeSheet * | dopesheet ) |
Definition at line 241 of file time_scrub_ui.cc.
References BLI_rcti_size_x(), blender::ui::block_layout(), blender::ui::block_layout_resolve(), blender::ui::block_layout_set_current(), C, CTX_wm_screen(), blender::ui::Emboss, GPU_matrix_pop_projection(), GPU_matrix_push_projection(), GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), blender::ui::Header, immBindBuiltinProgram(), immRectf(), immUnbindProgram(), immUniformThemeColor(), immVertexFormat(), pos, uiLayout::prop(), ptr, RNA_pointer_create_discrete(), uiLayout::scale_y_set(), TH_BACK, UI_block_align_begin(), UI_block_align_end(), UI_block_begin(), UI_block_bounds_set_normal(), UI_BLOCK_CLIP_EVENTS, UI_block_draw(), UI_block_end(), UI_block_flag_enable(), UI_ITEM_NONE, UI_SCALE_FAC, UI_style_get_dpi(), UI_TIME_SCRUB_MARGIN_Y, UI_UNIT_Y, blender::ui::Vertical, ARegion::winx, ARegion::winy, wmOrtho2_region_pixelspace(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by action_channel_region_draw(), graph_channel_region_draw(), and nla_track_region_draw().
Scroll-bars shouldn't overlap the time scrub UI. So this returns a mask adjusted to exclude it, which can be passed to UI_view2d_scrollers_draw().
| scroller_mask | Typically View2D.mask (or something smaller, if further parts have been masked out already). |
Definition at line 219 of file time_scrub_ui.cc.
References UI_TIME_SCRUB_MARGIN_Y, and rcti::ymax.
Referenced by action_main_region_draw_overlay(), blender::ed::vse::draw_timeline_seq_display(), graph_main_region_draw_overlay(), graph_region_draw(), and blender::ed::vse::load_data_init_from_operator().
| void ED_time_scrub_draw | ( | const ARegion * | region, |
| const Scene * | scene, | ||
| bool | display_seconds, | ||
| bool | discrete_frames, | ||
| int | base ) |
Draw the scrub area with numbers inside.
| display_seconds | Defines if the display is in seconds or in frames. |
| base | Defines the base number from which the number distance is calculated. The distance is always a simple fraction or a multiple of that number. |
Definition at line 189 of file time_scrub_ui.cc.
References draw_background(), ED_time_scrub_region_rect_get(), get_centered_text_y(), GPU_matrix_pop_projection(), GPU_matrix_push_projection(), TH_TIME_SCRUB_TEXT, UI_SCALE_FAC, UI_view2d_draw_scale_x__discrete_frames_or_seconds(), UI_view2d_draw_scale_x__frames_or_seconds(), ARegion::v2d, wmOrtho2_region_pixelspace(), and rcti::ymin.
Referenced by action_main_region_draw(), dopesheet_region_draw(), blender::ed::vse::draw_timeline_seq(), graph_main_region_draw(), graph_region_draw(), and nla_main_region_draw().
| void ED_time_scrub_draw_current_frame | ( | const ARegion * | region, |
| const Scene * | scene, | ||
| bool | display_seconds, | ||
| bool | display_stalk ) |
Definition at line 172 of file time_scrub_ui.cc.
References RenderData::cfra, draw_current_frame(), ED_time_scrub_region_rect_get(), GPU_matrix_pop_projection(), GPU_matrix_push_projection(), Scene::r, ARegion::v2d, and wmOrtho2_region_pixelspace().
Referenced by action_main_region_draw_overlay(), dopesheet_region_draw(), blender::ed::vse::draw_timeline_seq_display(), graph_main_region_draw_overlay(), graph_region_draw(), and nla_main_region_draw_overlay().
Definition at line 226 of file time_scrub_ui.cc.
References BLI_rcti_isect_pt_v(), UI_TIME_SCRUB_MARGIN_Y, ARegion::winrct, wmEvent::xy, rcti::ymax, and rcti::ymin.
Referenced by change_frame_seq_preview_begin(), and ED_time_scrub_event_in_region_poll().
| bool ED_time_scrub_event_in_region_poll | ( | const wmWindow * | win, |
| const ScrArea * | area, | ||
| const ARegion * | region, | ||
| const wmEvent * | event ) |
Follow the EventHandlerPoll function signature.
Definition at line 233 of file time_scrub_ui.cc.
References ED_time_scrub_event_in_region().
Referenced by clip_preview_region_init(), and ed_default_handlers().
Definition at line 37 of file time_scrub_ui.cc.
References UI_TIME_SCRUB_MARGIN_Y, ARegion::winx, ARegion::winy, rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by ED_time_scrub_draw(), and ED_time_scrub_draw_current_frame().
|
static |
Definition at line 45 of file time_scrub_ui.cc.
References BLI_rcti_cent_y(), and UI_SCALE_FAC.
Referenced by ED_time_scrub_draw().
|
static |
Definition at line 67 of file time_scrub_ui.cc.
References BLI_snprintf_utf8(), BLI_timecode_string_from_time(), FRA2TIME, and U.
Referenced by draw_current_frame().