Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | View2DEdgePanData |
Typedefs | |
typedef struct View2DScrollers | View2DScrollers |
typedef struct View2DEdgePanData | View2DEdgePanData |
Enumerations | |
enum | eView2D_CommonViewTypes { V2D_COMMONVIEW_CUSTOM = -1 , V2D_COMMONVIEW_STANDARD , V2D_COMMONVIEW_LIST , V2D_COMMONVIEW_STACK , V2D_COMMONVIEW_HEADER , V2D_COMMONVIEW_PANELS_UI } |
Generic 2D view with should allow drawing grids, panning, zooming, scrolling, .. etc.
Definition in file UI_view2d.h.
#define IN_2D_HORIZ_SCROLL | ( | v2d, | |
co | |||
) | (BLI_rcti_isect_pt_v(&v2d->hor, co)) |
Definition at line 89 of file UI_view2d.h.
#define IN_2D_HORIZ_SCROLL_RECT | ( | v2d, | |
rct | |||
) | (BLI_rcti_isect(&v2d->hor, rct, NULL)) |
Definition at line 92 of file UI_view2d.h.
#define IN_2D_VERT_SCROLL | ( | v2d, | |
co | |||
) | (BLI_rcti_isect_pt_v(&v2d->vert, co)) |
Definition at line 88 of file UI_view2d.h.
#define IN_2D_VERT_SCROLL_RECT | ( | v2d, | |
rct | |||
) | (BLI_rcti_isect(&v2d->vert, rct, NULL)) |
Definition at line 91 of file UI_view2d.h.
#define UI_MARKER_MARGIN_Y (42 * UI_DPI_FAC) |
Definition at line 449 of file UI_view2d.h.
#define UI_TIME_SCRUB_MARGIN_Y (23 * UI_DPI_FAC) |
Definition at line 450 of file UI_view2d.h.
#define V2D_IS_CLIPPED 12000 |
Definition at line 25 of file UI_view2d.h.
#define V2D_LOCK_COPY 1 |
Definition at line 82 of file UI_view2d.h.
#define V2D_LOCK_SET 0 |
Definition at line 80 of file UI_view2d.h.
#define V2D_SCROLL_HANDLE_HEIGHT (0.6f * U.widget_unit) |
Scroll bars with 'handles' used for scale (zoom).
Definition at line 68 of file UI_view2d.h.
#define V2D_SCROLL_HANDLE_SIZE_HOTSPOT (0.6f * U.widget_unit) |
Scroll bar with 'handles' hot-spot radius for cursor proximity.
Definition at line 72 of file UI_view2d.h.
#define V2D_SCROLL_HANDLE_WIDTH (0.6f * U.widget_unit) |
Definition at line 69 of file UI_view2d.h.
#define V2D_SCROLL_HEIGHT ((0.45f * U.widget_unit) + (2.0f * U.pixelsize)) |
Scroll bar area.
Definition at line 54 of file UI_view2d.h.
Definition at line 65 of file UI_view2d.h.
Definition at line 64 of file UI_view2d.h.
#define V2D_SCROLL_MIN_ALPHA (0.4f) |
Definition at line 58 of file UI_view2d.h.
#define V2D_SCROLL_MIN_WIDTH ((5.0f * U.dpi_fac) + (2.0f * U.pixelsize)) |
Definition at line 61 of file UI_view2d.h.
#define V2D_SCROLL_THUMB_SIZE_MIN (30.0 * UI_DPI_FAC) |
Don't allow scroll thumb to show below this size (so it's never too small to click on).
Definition at line 75 of file UI_view2d.h.
#define V2D_SCROLL_WIDTH ((0.45f * U.widget_unit) + (2.0f * U.pixelsize)) |
Definition at line 55 of file UI_view2d.h.
typedef struct View2DEdgePanData View2DEdgePanData |
Custom-data for view panning operators.
typedef struct View2DScrollers View2DScrollers |
Definition at line 1 of file UI_view2d.h.
Enumerator | |
---|---|
V2D_COMMONVIEW_CUSTOM | |
V2D_COMMONVIEW_STANDARD | |
V2D_COMMONVIEW_LIST | |
V2D_COMMONVIEW_STACK | |
V2D_COMMONVIEW_HEADER | |
V2D_COMMONVIEW_PANELS_UI |
Definition at line 32 of file UI_view2d.h.
void ED_keymap_view2d | ( | struct wmKeyConfig * | keyconf | ) |
Definition at line 2277 of file view2d_ops.cc.
References WM_keymap_ensure().
Referenced by ED_spacetypes_keymap().
Definition at line 2250 of file view2d_ops.cc.
References VIEW2D_OT_edge_pan(), VIEW2D_OT_pan(), VIEW2D_OT_reset(), VIEW2D_OT_scroll_down(), VIEW2D_OT_scroll_left(), VIEW2D_OT_scroll_right(), VIEW2D_OT_scroll_up(), VIEW2D_OT_scroller_activate(), VIEW2D_OT_smoothview(), VIEW2D_OT_zoom(), VIEW2D_OT_zoom_border(), VIEW2D_OT_zoom_in(), VIEW2D_OT_zoom_out(), and WM_operatortype_append().
Referenced by ED_spacetypes_init().
Definition at line 846 of file view2d.cc.
References blender::compositor::area(), ELEM, SPACE_ACTION, SPACE_CLIP, SPACE_GRAPH, SPACE_NLA, and SPACE_SEQ.
Referenced by UI_view2d_sync().
Simple functions for consistent center offset access. Used by node editor to shift view center for each individual node tree.
Definition at line 1936 of file view2d.cc.
References BLI_rctf_cent_x(), BLI_rctf_cent_y(), and View2D::cur.
Referenced by actkeys_viewall(), nlaedit_viewall(), and blender::ed::space_node::node_draw_space().
Definition at line 1946 of file view2d.cc.
References BLI_rctf_recenter(), View2D::cur, UI_view2d_curRect_validate(), x, and y.
Referenced by actkeys_viewall(), nlaedit_viewall(), blender::ed::space_node::node_area_listener(), and blender::ed::space_node::snode_setup_v2d().
Perform all required updates after v2d->cur
as been modified. This includes like validation view validation (UI_view2d_curRect_validate).
Current intent is to use it from user code, such as view navigation and zoom operations.
Referenced by edge_pan_apply_delta(), reset_exec(), scroller_activate_apply(), sequencer_view_all_preview_exec(), sequencer_view_zoom_ratio_exec(), UI_but_ensure_in_view(), UI_view2d_edge_pan_cancel(), UI_view2d_smooth_view(), view2d_smoothview_invoke(), view_pan_apply_ex(), view_zoomdrag_apply(), and view_zoomstep_apply_ex().
Restore 'cur' rect to standard orientation (i.e. optimal maximum view of tot). This does not take into account if zooming the view on an axis will improve the view (if allowed).
Definition at line 914 of file view2d.cc.
References View2D::align, BLI_rcti_size_x(), BLI_rcti_size_y(), View2D::cur, float(), height, View2D::mask, V2D_ALIGN_NO_NEG_X, V2D_ALIGN_NO_NEG_Y, V2D_ALIGN_NO_POS_X, V2D_ALIGN_NO_POS_Y, width, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Definition at line 828 of file view2d.cc.
References ui_view2d_curRect_validate_resize().
Referenced by file_ensure_inside_viewbounds(), region_scale_toggle_hidden(), sequencer_draw_preview(), UI_view2d_center_set(), UI_view2d_curRect_changed(), and UI_view2d_offset().
void UI_view2d_dot_grid_draw | ( | const struct View2D * | v2d, |
int | grid_color_id, | ||
float | min_step, | ||
int | grid_subdivisions | ||
) |
Draw a multi-level grid of dots, with a dynamic number of levels based on the fading.
grid_color_id | The theme color used for the points. Faded dynamically based on zoom. |
min_step | The base size of the grid. At different zoom levels, the visible grid may have a larger step size. |
grid_subdivisions | The maximum number of sub-levels drawn at once. |
Referenced by blender::ed::space_node::node_draw_space().
void UI_view2d_draw_lines_x__discrete_frames_or_seconds | ( | const struct View2D * | v2d, |
const struct Scene * | scene, | ||
bool | display_seconds, | ||
bool | display_minor_lines | ||
) |
Referenced by action_main_region_draw(), dopesheet_region_draw(), draw_timeline_seq(), and nla_main_region_draw().
void UI_view2d_draw_lines_x__discrete_time | ( | const struct View2D * | v2d, |
const struct Scene * | scene, | ||
bool | display_minor_lines | ||
) |
void UI_view2d_draw_lines_x__discrete_values | ( | const struct View2D * | v2d, |
bool | display_minor_lines | ||
) |
void UI_view2d_draw_lines_x__frames_or_seconds | ( | const struct View2D * | v2d, |
const struct Scene * | scene, | ||
bool | display_seconds | ||
) |
Referenced by graph_main_region_draw().
Referenced by clip_draw_graph().
Referenced by clip_draw_graph(), and graph_main_region_draw().
void UI_view2d_draw_scale_x__discrete_frames_or_seconds | ( | const struct ARegion * | region, |
const struct View2D * | v2d, | ||
const struct rcti * | rect, | ||
const struct Scene * | scene, | ||
bool | display_seconds, | ||
int | colorid | ||
) |
Definition at line 571 of file view2d_draw.cc.
References scene, UI_view2d_draw_scale_x__discrete_time(), and UI_view2d_draw_scale_x__discrete_values().
Referenced by ED_time_scrub_draw().
void UI_view2d_draw_scale_x__frames_or_seconds | ( | const struct ARegion * | region, |
const struct View2D * | v2d, | ||
const struct rcti * | rect, | ||
const struct Scene * | scene, | ||
bool | display_seconds, | ||
int | colorid | ||
) |
Definition at line 586 of file view2d_draw.cc.
References scene, UI_view2d_draw_scale_x__discrete_time(), and UI_view2d_draw_scale_x__values().
Referenced by ED_time_scrub_draw().
void UI_view2d_draw_scale_y__block | ( | const struct ARegion * | region, |
const struct View2D * | v2d, | ||
const struct rcti * | rect, | ||
int | colorid | ||
) |
void UI_view2d_draw_scale_y__values | ( | const struct ARegion * | region, |
const struct View2D * | v2d, | ||
const struct rcti * | rect, | ||
int | colorid | ||
) |
Scale indicator text drawing.
Referenced by graph_main_region_draw_overlay(), and graph_region_draw().
void UI_view2d_edge_pan_apply | ( | struct bContext * | C, |
struct View2DEdgePanData * | vpd, | ||
const int | xy[2] | ||
) |
Apply transform to view (i.e. adjust 'cur' rect).
Referenced by flushTransNodes(), and view2d_edge_pan_loc_compensate().
void void UI_view2d_edge_pan_apply_event | ( | struct bContext * | C, |
struct View2DEdgePanData * | vpd, | ||
const struct wmEvent * | event | ||
) |
Apply transform to view using mouse events.
Referenced by blender::ed::space_node::node_link_modal(), and view_edge_pan_modal().
void UI_view2d_edge_pan_cancel | ( | struct bContext * | C, |
struct View2DEdgePanData * | vpd | ||
) |
Definition at line 283 of file view2d_edge_pan.cc.
References View2DEdgePanData::area, C, CTX_wm_window(), View2D::cur, ED_region_tag_redraw_no_rebuild(), View2DEdgePanData::initial_rect, View2DEdgePanData::region, View2DEdgePanData::screen, UI_view2d_curRect_changed(), UI_view2d_sync(), View2DEdgePanData::v2d, V2D_LOCK_COPY, and WM_event_add_mousemove().
Referenced by flushTransNodes(), blender::ed::space_node::node_link_cancel(), and view2d_edge_pan_loc_compensate().
void UI_view2d_edge_pan_init | ( | struct bContext * | C, |
struct View2DEdgePanData * | vpd, | ||
float | inside_pad, | ||
float | outside_pad, | ||
float | speed_ramp, | ||
float | max_speed, | ||
float | delay, | ||
float | zoom_influence | ||
) |
Definition at line 52 of file view2d_edge_pan.cc.
References View2DEdgePanData::area, BLI_assert, BLI_rctf_init(), BLI_rctf_size_x(), BLI_rctf_size_y(), BLI_rcti_size_x(), BLI_rcti_size_y(), C, CTX_wm_area(), CTX_wm_region(), CTX_wm_screen(), View2D::cur, View2DEdgePanData::delay, View2DEdgePanData::enabled, View2DEdgePanData::facx, View2DEdgePanData::facy, float(), View2DEdgePanData::inside_pad, View2DEdgePanData::limit, View2DEdgePanData::max_speed, View2DEdgePanData::outside_pad, View2DEdgePanData::region, View2DEdgePanData::screen, View2DEdgePanData::speed_ramp, UI_view2d_edge_pan_poll(), UI_view2d_edge_pan_reset(), View2DEdgePanData::v2d, ARegion::v2d, ARegion::winrct, and View2DEdgePanData::zoom_influence.
Referenced by createTransNodeData(), createTransSeqData(), and UI_view2d_edge_pan_operator_init().
void UI_view2d_edge_pan_operator_init | ( | struct bContext * | C, |
struct View2DEdgePanData * | vpd, | ||
struct wmOperator * | op | ||
) |
Initialize panning data with operator settings.
Definition at line 382 of file view2d_edge_pan.cc.
References C, wmOperator::ptr, RNA_float_get(), and UI_view2d_edge_pan_init().
Referenced by blender::ed::space_node::node_link_invoke(), and view_edge_pan_invoke().
void UI_view2d_edge_pan_operator_properties | ( | struct wmOperatorType * | ot | ) |
Definition at line 304 of file view2d_edge_pan.cc.
References ot, and UI_view2d_edge_pan_operator_properties_ex().
Referenced by VIEW2D_OT_edge_pan().
void UI_view2d_edge_pan_operator_properties_ex | ( | struct wmOperatorType * | ot, |
float | inside_pad, | ||
float | outside_pad, | ||
float | speed_ramp, | ||
float | max_speed, | ||
float | delay, | ||
float | zoom_influence | ||
) |
Definition at line 316 of file view2d_edge_pan.cc.
References ot, RNA_def_float(), and wmOperatorType::srna.
Referenced by blender::ed::space_node::NODE_OT_link(), and UI_view2d_edge_pan_operator_properties().
Definition at line 32 of file view2d_edge_pan.cc.
References C, CTX_wm_region(), View2D::keepofs, ARegion::v2d, V2D_LOCKOFS_X, and V2D_LOCKOFS_Y.
Referenced by UI_view2d_edge_pan_init(), and VIEW2D_OT_edge_pan().
void UI_view2d_edge_pan_reset | ( | struct View2DEdgePanData * | vpd | ) |
Definition at line 97 of file view2d_edge_pan.cc.
References View2D::cur, View2DEdgePanData::edge_pan_last_time, View2DEdgePanData::edge_pan_start_time_x, View2DEdgePanData::edge_pan_start_time_y, View2DEdgePanData::initial_rect, PIL_check_seconds_timer(), View2DEdgePanData::region, and ARegion::v2d.
Referenced by UI_view2d_edge_pan_init().
void UI_view2d_edge_pan_set_limits | ( | struct View2DEdgePanData * | vpd, |
float | xmin, | ||
float | xmax, | ||
float | ymin, | ||
float | ymax | ||
) |
Set area which can be panned
Definition at line 91 of file view2d_edge_pan.cc.
References BLI_rctf_init(), and View2DEdgePanData::limit.
Referenced by createTransSeqData().
View2D data by default resides in region, so get from region stored in context.
Referenced by ed_marker_box_select_exec(), ed_marker_move_modal(), ed_marker_select(), ED_markers_draw(), seq_select_seq_from_preview(), sequencer_box_select_exec(), sequencer_select_exec(), sequencer_select_linked_pick_invoke(), sequencer_slip_invoke(), sequencer_slip_modal(), sequencer_split_invoke(), sequencer_view_all_preview_exec(), sequencer_view_selected_exec(), sequencer_view_zoom_ratio_exec(), and view_ghost_border_exec().
Same as above, but it returns region-window. Utility for pull-downs or buttons.
float UI_view2d_grid_resolution_x__frames_or_seconds | ( | const struct View2D * | v2d, |
const struct Scene * | scene, | ||
bool | display_seconds | ||
) |
Definition at line 450 of file view2d_draw.cc.
References scene, view2d_major_step_x__continuous(), and view2d_major_step_x__time().
Referenced by snap_increment_apply().
Definition at line 460 of file view2d_draw.cc.
References view2d_major_step_y__continuous().
Referenced by snap_increment_apply().
void UI_view2d_listview_view_to_cell | ( | float | columnwidth, |
float | rowheight, | ||
float | startx, | ||
float | starty, | ||
float | viewx, | ||
float | viewy, | ||
int * | r_column, | ||
int * | r_row | ||
) |
Get the 'cell' (row, column) that the given 2D-view coordinates (i.e. in 'tot' rect space) lie in.
columnwidth,rowheight | size of each 'cell' |
startx,starty | coordinates (in 'tot' rect space) that the list starts from. This should be (0,0) for most views. However, for those where the starting row was offsetted (like for Animation Editor channel lists, to make the first entry more visible), these will be the min-coordinates of the first item. |
viewx,viewy | 2D-coordinates (in 2D-view / 'tot' rect space) to get the cell for |
r_column,r_row | The 'coordinates' of the relevant 'cell'. |
Definition at line 1619 of file view2d.cc.
References floorf.
Referenced by actkeys_find_list_element_at_position(), animchannels_channel_get(), animchannels_mouseclick_invoke(), nlachannels_mouseclick_invoke(), and nlaedit_strip_at_region_position().
Referenced by ED_region_panels_draw().
char UI_view2d_mouse_in_scrollers_ex | ( | const struct ARegion * | region, |
const struct View2D * | v2d, | ||
const int | xy[2], | ||
int * | r_scroll | ||
) |
Check if mouse is within scrollers
xy | Mouse coordinates in screen (not region) space. |
r_scroll | Return argument for the mapped view2d scroll flag. |
Referenced by area_actionzone_refresh_xy().
void UI_view2d_multi_grid_draw | ( | const struct View2D * | v2d, |
int | colorid, | ||
float | step, | ||
int | level_size, | ||
int | totlevels | ||
) |
Draw a multi-level grid in given 2d-region.
Simple pan function (0.0, 0.0) bottom left (0.5, 0.5) center (1.0, 1.0) top right.
Definition at line 1954 of file view2d.cc.
References BLI_rctf_size_x(), BLI_rctf_size_y(), View2D::cur, View2D::tot, UI_view2d_curRect_validate(), rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by ui_handle_panel_header(), and ui_handler_panel_region().
char char char char UI_view2d_rect_in_scrollers | ( | const struct ARegion * | region, |
const struct View2D * | v2d, | ||
const struct rcti * | rect | ||
) |
Referenced by ui_region_contains_rect_px().
char char char UI_view2d_rect_in_scrollers_ex | ( | const struct ARegion * | region, |
const struct View2D * | v2d, | ||
const struct rcti * | rect, | ||
int * | r_scroll | ||
) |
Refresh and validation (of view rects).
Initialize all relevant View2D data (including view rects if first time) and/or refresh mask sizes after view resize.
Definition at line 217 of file view2d.cc.
References View2D::align, View2D::alpha_hor, View2D::alpha_vert, View2D::cur, View2D::flag, float(), View2D::keepofs, View2D::keeptot, View2D::keepzoom, View2D::max, View2D::maxzoom, View2D::min, View2D::minzoom, uiStyle::panelzoom, View2D::scroll, View2D::tot, type, UI_style_get(), ui_view2d_curRect_validate_resize(), UI_view2d_totRect_set_resize(), V2D_ALIGN_NO_NEG_X, V2D_ALIGN_NO_NEG_Y, V2D_ALIGN_NO_POS_Y, V2D_COMMONVIEW_HEADER, V2D_COMMONVIEW_LIST, V2D_COMMONVIEW_PANELS_UI, V2D_COMMONVIEW_STACK, V2D_COMMONVIEW_STANDARD, V2D_IS_INIT, V2D_KEEPASPECT, V2D_KEEPTOT_BOUNDS, V2D_KEEPTOT_STRICT, V2D_KEEPZOOM, V2D_LIMITZOOM, V2D_LOCKOFS_Y, V2D_LOCKZOOM_X, V2D_LOCKZOOM_Y, V2D_SCROLL_HORIZONTAL_HIDE, V2D_SCROLL_VERTICAL_HIDE, view2d_masks(), View2D::winx, View2D::winy, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by action_channel_region_init(), action_main_region_init(), clip_channels_region_init(), clip_preview_region_init(), console_main_region_init(), ED_region_header_init(), ED_region_panels_init(), file_main_region_draw(), file_main_region_init(), graph_channel_region_init(), graph_main_region_init(), hud_region_layout(), info_main_region_init(), nla_channel_region_init(), nla_main_region_init(), blender::ed::space_node::node_main_region_init(), outliner_main_region_init(), script_main_region_init(), sequencer_channel_region_init(), sequencer_main_region_init(), sequencer_preview_region_init(), spreadsheet_main_region_init(), text_main_region_init(), and topbar_main_region_init().
void UI_view2d_region_to_view | ( | const struct View2D * | v2d, |
float | x, | ||
float | y, | ||
float * | r_view_x, | ||
float * | r_view_y | ||
) |
Convert from screen/region space to 2d-View space
x,y | coordinates to convert |
r_view_x,r_view_y | resultant coordinates |
Referenced by actkeys_find_list_element_at_position(), blender::ed::space_node::add_reroute_exec(), animchannels_channel_get(), animchannels_mouseclick_invoke(), annotation_stroke_convertcoords(), applyTimeSlide(), applyTimeTranslate(), box_select_action(), box_select_anim_channels(), box_select_nla_strips(), blender::ed::space_node::cut_links_exec(), dopesheet_select_channel_invoke(), ED_mask_mouse_pos(), ED_outliner_give_base_under_cursor(), ED_space_image_color_sample(), ED_space_image_get_position(), file_attribute_column_type_find_isect(), file_box_select_find_last_selected(), file_highlight_set(), find_nearest_seq(), frame_from_event(), gpencil_brush_twist_apply(), grab_clone_modal(), graphkeys_click_insert_invoke(), graphview_cursor_setprops(), image_sample_apply(), image_sample_line_exec(), image_view_zoom_in_invoke(), image_view_zoom_init(), image_view_zoom_invoke(), image_view_zoom_out_invoke(), blender::ed::space_node::is_event_over_node_or_socket(), mouse_frame_side(), blender::ed::space_node::mute_links_exec(), nlachannels_mouseclick_invoke(), nlaedit_strip_at_region_position(), blender::ed::space_node::node_add_collection_invoke(), blender::ed::space_node::node_add_file_invoke(), blender::ed::space_node::node_add_group_invoke(), blender::ed::space_node::node_add_object_invoke(), blender::ed::space_node::node_circleselect_exec(), blender::ed::space_node::node_cursor(), blender::ed::space_node::node_draw_space(), blender::ed::space_node::node_find_frame_to_attach(), blender::ed::space_node::node_link_invoke(), blender::ed::space_node::node_link_modal(), blender::ed::space_node::node_mouse_select(), blender::ed::space_node::node_resize_invoke(), blender::ed::space_node::node_resize_modal(), outliner_box_select_invoke(), outliner_drop_find(), outliner_drop_insert_find(), outliner_highlight_update(), outliner_id_delete_invoke(), outliner_id_remap_invoke(), outliner_item_do_activate_from_cursor(), outliner_item_drag_drop_invoke(), outliner_item_openclose_invoke(), outliner_item_openclose_modal(), outliner_item_rename_find_hovered(), outliner_lib_reload_invoke(), outliner_lib_relocate_invoke(), outliner_operation(), paint_2d_stroke(), paint_2d_transform_mouse(), paintcurve_cursor_invoke(), select_invoke(), seq_select_seq_from_preview(), sequencer_sample_apply(), sequencer_set_2d_cursor_invoke(), sequencer_slip_invoke(), sequencer_slip_modal(), sequencer_split_invoke(), snapNode(), stitch_select(), transform_convert_frame_side_dir_get(), update_overlay_strip_position_data(), uv_circle_select_exec(), uv_rip_invoke(), uv_sculpt_stroke_apply(), uv_sculpt_stroke_init(), uv_select_edge_ring_invoke(), uv_select_invoke(), uv_select_linked_internal(), uv_select_loop_invoke(), uv_set_2d_cursor_invoke(), uv_shortest_path_pick_invoke(), view_zoomdrag_invoke(), view_zoomin_invoke(), and view_zoomout_invoke().
void UI_view2d_region_to_view_rctf | ( | const struct View2D * | v2d, |
const struct rctf * | rect_src, | ||
struct rctf * | rect_dst | ||
) |
Referenced by box_select_graph_exec(), blender::ed::space_node::do_lasso_select_node(), ed_marker_box_select_exec(), find_file_mouse_rect(), image_view_zoom_border_exec(), initialize_box_select_coords(), blender::ed::space_node::node_box_select_exec(), outliner_box_select_exec(), region_select_action_keys(), render_border_exec(), sequencer_box_select_exec(), ui_but_rect_to_view(), uv_box_select_exec(), view_borderzoom_exec(), and view_ghost_border_exec().
Definition at line 1655 of file view2d.cc.
References BLI_rctf_size_x(), BLI_rcti_size_x(), View2D::cur, View2D::mask, x, rcti::xmin, and rctf::xmin.
Referenced by actkeys_find_key_in_list_element(), actkeys_select_leftright_invoke(), draw_horizontal_scale_indicators(), ed_marker_select(), ED_region_overlap_isect_x(), ED_region_overlap_isect_x_with_margin(), frame_from_event(), graphkeys_select_leftright_invoke(), nlaedit_select_leftright_invoke(), nlaedit_strip_at_region_position(), previewrange_define_exec(), region_position_is_over_marker(), seq_snap_threshold_get_frame_distance(), sequencer_select_side_of_frame(), and UI_view2d_region_to_view().
Definition at line 1660 of file view2d.cc.
References BLI_rctf_size_y(), BLI_rcti_size_y(), View2D::cur, View2D::mask, y, rcti::ymin, and rctf::ymin.
Referenced by draw_cache_view(), draw_cache_view_iter_fn(), draw_vertical_scale_indicators(), ED_region_overlap_isect_y(), ED_region_overlap_isect_y_with_margin(), outliner_item_drag_element_find(), sequencer_rename_channel_invoke(), and UI_view2d_region_to_view().
Calculate the scale per-axis of the drawing-area
Is used to inverse correct drawing of icons, etc. that need to follow view but not be affected by scale
r_x,r_y | scale on each axis |
Referenced by draw_fcurve_samples(), draw_tracks_motion_and_error_curves(), drawPropCircle(), ED_markers_draw(), ED_mask_pixelspace_factor(), ED_uvedit_nearest_uv_multi(), blender::ed::space_node::node_draw_basis(), blender::ed::space_node::node_draw_hidden(), and blender::ed::space_node::node_draw_sockets().
Same as UI_view2d_scale_get() - 1.0f / x, y
.
Referenced by ED_image_draw_cursor().
Referenced by draw_vertical_scale_indicators(), and seq_select_seq_from_preview().
void UI_view2d_scroller_size_get | ( | const struct View2D * | v2d, |
bool | mapped, | ||
float * | r_x, | ||
float * | r_y | ||
) |
Get scrollbar sizes of the current 2D view. The size will be zero if the view has its scrollbars disabled.
mapped | whether to use view2d_scroll_mapped which changes flags |
Referenced by hud_region_add().
void UI_view2d_scrollers_calc | ( | struct View2D * | v2d, |
const struct rcti * | mask_custom, | ||
struct View2DScrollers * | r_scrollers | ||
) |
Calculate relevant scroller properties.
Referenced by scroller_activate_init().
Referenced by action_main_region_draw_overlay(), console_main_region_draw(), dopesheet_region_draw(), blender::ed::spreadsheet::draw_spreadsheet_in_region(), draw_timeline_seq_display(), file_main_region_draw(), graph_channel_region_draw(), graph_main_region_draw_overlay(), graph_region_draw(), info_main_region_draw(), nla_channel_region_draw(), nla_main_region_draw_overlay(), blender::ed::space_node::node_draw_space(), and outliner_main_region_draw().
void UI_view2d_scrollers_draw_ex | ( | struct View2D * | v2d, |
const struct rcti * | mask_custom, | ||
bool | use_full_hide | ||
) |
Draw scroll-bars in the given 2D-region.
Referenced by ED_region_panels_draw().
void UI_view2d_smooth_view | ( | const struct bContext * | C, |
struct ARegion * | region, | ||
const struct rctf * | cur, | ||
int | smooth_viewtx | ||
) |
Will start timer if appropriate. the arguments are the desired situation.
Referenced by ANIM_center_frame(), graphkeys_viewall(), sequencer_view_all_exec(), sequencer_view_selected_exec(), and blender::ed::space_node::space_node_view_flag().
void UI_view2d_sync | ( | struct bScreen * | screen, |
struct ScrArea * | area, | ||
struct View2D * | v2dcur, | ||
int | flag | ||
) |
Called by menus to activate it, or by view2d operators to make sure 'related' views stay in synchrony.
Definition at line 851 of file view2d.cc.
References blender::compositor::area(), bScreen::areabase, View2D::cur, ED_region_tag_redraw_no_rebuild(), View2D::flag, LISTBASE_FOREACH, UI_view2d_area_supports_sync(), V2D_LOCK_COPY, V2D_VIEWSYNC_AREA_VERTICAL, V2D_VIEWSYNC_SCREEN_TIME, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by actkeys_viewall(), clip_draw_dopesheet_channels(), draw_channel_names(), draw_nla_channel_list(), edge_pan_apply_delta(), nlaedit_viewall(), reset_exec(), scroller_activate_apply(), sequencer_view_all_preview_exec(), UI_view2d_edge_pan_cancel(), UI_view2d_smooth_view(), view2d_smoothview_invoke(), view_pan_apply_ex(), view_zoomdrag_apply(), and view_zoomstep_apply_ex().
char char char char void UI_view2d_text_cache_add | ( | struct View2D * | v2d, |
float | x, | ||
float | y, | ||
const char * | str, | ||
size_t | str_len, | ||
const unsigned char | col[4] | ||
) |
Cached text drawing in v2d, to allow pixel-aligned draw as post process.
Definition at line 2068 of file view2d.cc.
References BLI_assert, BLI_LINKS_PREPEND, BLI_memarena_alloc(), BLI_memarena_new(), View2DString::col, col, g_v2d_strings, g_v2d_strings_arena, MEM_SIZE_OPTIMAL, View2DString::mval, View2DString::pack, View2DString::rect, str, View2DString::str, UI_view2d_view_to_region_clip(), x, and y.
Referenced by draw_seq_handle(), and nla_draw_strip_frames_text().
void UI_view2d_text_cache_add_rectf | ( | struct View2D * | v2d, |
const struct rctf * | rect_view, | ||
const char * | str, | ||
size_t | str_len, | ||
const unsigned char | col[4] | ||
) |
No clip (yet).
Referenced by draw_seq_in_view(), draw_seq_text_overlay(), and nla_draw_strip_text().
Definition at line 2128 of file view2d.cc.
References BLF_clipping(), BLF_CLIPPING, BLF_color3ubv(), BLF_default(), BLF_disable(), BLF_draw_default(), BLF_DRAW_STR_DUMMY_MAX, BLF_enable(), BLF_height(), BLF_set_default(), BLI_memarena_free(), BLI_rcti_size_y(), ceil(), View2DString::col, g_v2d_strings, g_v2d_strings_arena, View2DString::next, View2DString::pack, View2DString::rect, View2DString::str, View2DString::ub, wmOrtho2_region_pixelspace(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.
Referenced by draw_seq_in_view(), draw_timeline_seq(), and nla_main_region_draw().
Definition at line 1022 of file view2d.cc.
References height, UI_view2d_totRect_set_resize(), and width.
Referenced by console_textview_update_rect(), ED_region_header_layout(), ED_region_panels_layout_ex(), file_calc_previews(), info_textview_update_rect(), outliner_update_viewable_area(), sequencer_draw_preview(), and blender::ed::spreadsheet::update_view2d_tot_rect().
Change the size of the maximum viewable area (i.e. 'tot' rect).
Definition at line 963 of file view2d.cc.
References blender::math::abs(), View2D::align, ELEM, float(), G, G_DEBUG, height, View2D::tot, ui_view2d_curRect_validate_resize(), V2D_ALIGN_NO_NEG_X, V2D_ALIGN_NO_NEG_Y, V2D_ALIGN_NO_POS_X, V2D_ALIGN_NO_POS_Y, width, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by UI_view2d_region_reinit(), and UI_view2d_totRect_set().
Set view matrices to use 'cur' rect as viewing frame for View2D drawing.
Referenced by action_channel_region_draw(), action_main_region_draw(), clip_channels_region_draw(), clip_draw_sfra_efra(), console_main_region_draw(), dopesheet_region_draw(), draw_channels(), draw_outliner(), draw_seq_in_view(), draw_timeline_seq(), draw_timeline_seq_display(), ED_region_header_draw(), ED_region_header_layout(), ED_region_panels_draw(), ED_region_panels_layout_ex(), file_main_region_draw(), graph_channel_region_draw(), graph_main_region_draw(), graph_region_draw(), hud_region_draw(), image_main_region_draw(), info_main_region_draw(), nla_channel_region_draw(), nla_main_region_draw(), blender::ed::space_node::node_draw_space(), script_main_region_draw(), sequencer_draw_preview(), blender::ed::space_node::snode_setup_v2d(), and view2d_draw_lines_internal().
Set view matrices to only use one axis of 'cur' only
xaxis | if non-zero, only use cur x-axis, otherwise use cur-yaxis (mostly this will be used for x). |
Definition at line 1122 of file view2d.cc.
References view2d_map_cur_using_mask(), ARegion::winx, ARegion::winy, wmOrtho2(), rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.
Referenced by action_main_region_draw(), draw_timeline_seq(), graph_main_region_draw(), and nla_main_region_draw().
Restore view matrices after drawing.
Referenced by action_channel_region_draw(), action_main_region_draw(), clip_channels_region_draw(), clip_main_region_draw(), console_main_region_draw(), dopesheet_region_draw(), draw_channels(), draw_timeline_seq(), draw_timeline_seq_display(), ED_region_header_draw(), ED_region_header_layout(), ED_region_panels_draw(), file_main_region_draw(), graph_channel_region_draw(), graph_main_region_draw(), graph_region_draw(), hud_region_layout(), image_main_region_draw(), info_main_region_draw(), nla_channel_region_draw(), nla_main_region_draw(), blender::ed::space_node::node_draw_space(), outliner_main_region_draw(), region_clear_color(), script_main_region_draw(), sequencer_draw_gpencil_overlay(), and sequencer_draw_preview().
void UI_view2d_view_to_region | ( | const struct View2D * | v2d, |
float | x, | ||
float | y, | ||
int * | r_region_x, | ||
int * | r_region_y | ||
) |
Convert from 2d-view space to screen/region space
x,y | Coordinates to convert. |
r_region_x,r_region_y | Resultant coordinates. |
Referenced by draw_movieclip_buffer(), draw_movieclip_muted(), draw_render_info(), draw_stabilization_border(), DRW_draw_cursor_2d_ex(), ED_clip_point_stable_pos(), ED_clip_point_stable_pos__reverse(), ED_image_mouse_pos(), ED_image_point_pos(), ED_image_point_pos__reverse(), ED_mask_draw_region(), ED_region_grid_draw(), image_main_region_draw(), and projectIntViewEx().
bool UI_view2d_view_to_region_clip | ( | const struct View2D * | v2d, |
float | x, | ||
float | y, | ||
int * | r_region_x, | ||
int * | r_region_y | ||
) |
Convert from 2d-View space to screen/region space
x,y | Coordinates to convert. |
r_region_x,r_region_y | Resultant coordinates. |
Referenced by do_lasso_select_mesh_uv_is_point_inside(), blender::ed::space_node::do_lasso_select_node(), gpencil_point_3d_to_xy(), gpencil_point_to_xy(), gpencil_point_to_xy_fl(), mouse_select_knot(), and nearest_fcurve_vert_store().
Referenced by gizmo2d_xform_draw_prepare().
void UI_view2d_view_to_region_rcti | ( | const struct View2D * | v2d, |
const struct rctf * | rect_src, | ||
struct rcti * | rect_dst | ||
) |
Referenced by snapNode(), and ui_searchbox_create_generic_ex().
bool UI_view2d_view_to_region_rcti_clip | ( | const struct View2D * | v2d, |
const struct rctf * | rect_src, | ||
struct rcti * | rect_dst | ||
) |
bool UI_view2d_view_to_region_segment_clip | ( | const View2D * | v2d, |
const float | xy_a[2], | ||
const float | xy_b[2], | ||
int | r_region_a[2], | ||
int | r_region_b[2] | ||
) |
Definition at line 1749 of file view2d.cc.
References BLI_rctf_isect_segment(), BLI_rctf_size_x(), BLI_rctf_size_y(), BLI_rcti_size_x(), BLI_rcti_size_y(), View2D::cur, View2D::mask, V2D_IS_CLIPPED, rctf::xmax, rcti::xmin, rctf::xmin, rctf::ymax, rcti::ymin, and rctf::ymin.
Referenced by do_lasso_select_mesh_uv_is_edge_inside().
Definition at line 1027 of file view2d.cc.
References BLF_cache_clear(), and G.
Referenced by reset_exec(), view2d_smoothview_invoke(), view_zoomdrag_exit(), view_zoomstep_exit(), and wm_file_read_pre().
void VIEW2D_GGT_navigate_impl | ( | struct wmGizmoGroupType * | gzgt, |
const char * | idname | ||
) |
Caller defines the name for gizmo group.
Definition at line 247 of file view2d_gizmo_navigate.cc.
References wmGizmoGroupType::draw_prepare, wmGizmoGroupType::flag, wmGizmoGroupType::idname, wmGizmoGroupType::name, wmGizmoGroupType::poll, wmGizmoGroupType::setup, WIDGETGROUP_navigate_draw_prepare(), WIDGETGROUP_navigate_poll(), WIDGETGROUP_navigate_setup(), WM_GIZMOGROUPTYPE_DRAW_MODAL_ALL, WM_GIZMOGROUPTYPE_PERSISTENT, and WM_GIZMOGROUPTYPE_SCALE.
Referenced by CLIP_GGT_navigate(), IMAGE_GGT_navigate(), and SEQUENCER_GGT_navigate().