|
Blender V5.0
|
#include <interface_intern.hh>
Public Member Functions | |
| void | remove_but (const uiBut *but) |
| uiBut * | first_but () const |
| uiBut * | last_but () const |
| int | but_index (const uiBut *but) const |
| uiBut * | next_but (const uiBut *but) const |
| uiBut * | prev_but (const uiBut *but) const |
Definition at line 588 of file interface_intern.hh.
| int uiBlock::but_index | ( | const uiBut * | but | ) | const |
Definition at line 274 of file interface.cc.
References BLI_assert, and buttons.
Referenced by next_but(), prev_but(), remove_but(), ui_but_anim_decorate_find_attached_button(), ui_but_change_type(), ui_but_find_select_in_enum(), ui_but_next(), ui_but_next_non_separator(), ui_but_prev(), ui_textedit_next_but(), and ui_textedit_prev_but().
|
nodiscard |
Definition at line 304 of file interface.cc.
References buttons.
Referenced by ui_block_bounds_calc(), and UI_block_is_empty_ex().
|
nodiscard |
Definition at line 309 of file interface.cc.
References buttons.
Referenced by UI_block_can_add_separator(), and UI_popup_block_template_confirm_op().
Definition at line 286 of file interface.cc.
References but_index(), and buttons.
Referenced by draw_emboss(), UI_block_is_empty_ex(), and ui_do_but_TOG().
Definition at line 292 of file interface.cc.
References but_index(), and buttons.
Referenced by ui_def_but_rna__menu(), and ui_do_but_TOG().
| void uiBlock::remove_but | ( | const uiBut * | but | ) |
Definition at line 298 of file interface.cc.
References but_index(), and buttons.
Referenced by UI_but_active_only_ex().
| char uiBlock::_pad[5] |
Definition at line 658 of file interface_intern.hh.
| bool uiBlock::active |
To keep blocks while drawing and free them afterwards.
Definition at line 665 of file interface_intern.hh.
Referenced by blender::ui::block_layout_resolve(), panel_remove_invisible_layouts_recursive(), UI_block_begin(), UI_block_end_ex(), and UI_block_region_set().
| uiBlockAlertLevel uiBlock::alert_level = uiBlockAlertLevel::None |
Definition at line 619 of file interface_intern.hh.
Referenced by ui_draw_dialog_alert(), ui_draw_menu_back(), and uiItemsAlertBox().
| short uiBlock::alignnr |
Definition at line 646 of file interface_intern.hh.
Referenced by UI_block_align_begin(), and ui_def_but().
| float uiBlock::aspect |
Definition at line 617 of file interface_intern.hh.
Referenced by panel_draw_aligned_backdrop(), panel_draw_border(), UI_block_draw(), ui_def_but_rna__menu(), ui_do_but_COLORBAND(), ui_do_button(), ui_draw_aligned_panel(), ui_draw_but(), ui_draw_but_CURVE(), ui_draw_but_CURVEPROFILE(), ui_draw_but_HSVCIRCLE(), ui_draw_but_HSVCUBE(), ui_draw_layout_panels_backdrop(), ui_draw_menu_back(), ui_draw_popover_back(), ui_popup_block_position(), ui_popup_block_refresh(), ui_search_menu_create_tooltip(), ui_searchbox_create_generic_ex(), ui_text_clip_middle(), ui_text_clip_middle_protect_right(), ui_text_icon_width_ex(), ui_textedit_set_cursor_pos(), ui_update_window_matrix(), widget_draw_icon(), widget_draw_node_link_socket(), widget_draw_submenu_tria(), and widget_draw_text_icon().
| bool uiBlock::auto_open |
Definition at line 657 of file interface_intern.hh.
Referenced by button_activate_init(), button_activate_state(), UI_block_begin(), and UI_block_update_from_old().
| double uiBlock::auto_open_last |
Definition at line 659 of file interface_intern.hh.
Referenced by button_activate_init(), ui_block_open_end(), and UI_block_update_from_old().
Custom extra event handling.
Definition at line 640 of file interface_intern.hh.
Referenced by ui_block_func_COLOR(), and ui_handle_menu_event().
| int uiBlock::bounds |
for doing delayed
Definition at line 676 of file interface_intern.hh.
Referenced by ui_block_bounds_calc(), ui_block_bounds_calc_popup(), ui_block_bounds_calc_text(), UI_block_bounds_set_centered(), UI_block_bounds_set_menu(), UI_block_bounds_set_normal(), UI_block_bounds_set_popup(), UI_block_bounds_set_text(), and ui_block_func_PIE().
| int uiBlock::bounds_offset[2] |
Offset to use when calculating bounds (in pixels).
Definition at line 674 of file interface_intern.hh.
Referenced by ui_block_bounds_calc_popup(), UI_block_bounds_set_menu(), UI_block_bounds_set_popup(), ui_block_func_PIE(), ui_block_func_POPOVER(), and ui_draw_popover_back().
| eBlockBoundsCalc uiBlock::bounds_type |
for doing delayed
Definition at line 672 of file interface_intern.hh.
Referenced by UI_block_bounds_set_centered(), UI_block_bounds_set_explicit(), UI_block_bounds_set_menu(), UI_block_bounds_set_normal(), UI_block_bounds_set_popup(), UI_block_bounds_set_text(), UI_block_end_ex(), ui_block_func_PIE(), ui_popup_block_create(), and ui_popup_block_refresh().
| ListBase uiBlock::butstore |
Used for UI_butstore_* runtime function.
Definition at line 596 of file interface_intern.hh.
Referenced by UI_block_update_from_old(), ui_but_update_from_old_block(), UI_butstore_clear(), UI_butstore_create(), UI_butstore_free(), UI_butstore_is_registered(), UI_butstore_register_update(), and UI_butstore_update().
| blender::Vector<uiButtonGroup> uiBlock::button_groups |
Definition at line 598 of file interface_intern.hh.
Referenced by block_search_filter_tag_buttons(), panel_remove_invisible_layouts_recursive(), ui_block_new_button_group(), ui_button_group_add_but(), ui_button_group_replace_but_ptr(), and UI_panel_header_buttons_end().
| blender::Vector<std::unique_ptr<uiBut> > uiBlock::buttons |
Definition at line 591 of file interface_intern.hh.
Referenced by but_index(), button_activate_exit(), colorband_buttons_layout(), blender::ui::find_first_view_item_but(), blender::ui::find_item_from_rename_button(), first_but(), last_but(), menu_items_from_ui_create(), next_but(), panel_remove_invisible_layouts_recursive(), prev_but(), remove_but(), blender::ui::template_asset_shelf_popover(), template_operator_property_buts_draw_single(), template_texture_user_menu(), ui_apply_but_ROW(), ui_block_active_but_get(), UI_block_active_only_flagged_buttons(), ui_block_align_calc(), UI_block_begin(), ui_block_bounds_calc(), ui_block_bounds_calc_text(), UI_block_draw(), UI_block_end_ex(), UI_block_free(), ui_block_func_POPOVER(), ui_block_func_POPUP(), UI_block_has_active_default_button(), ui_block_interaction_begin(), ui_block_message_subscribe(), ui_block_pie_dir_activate(), UI_block_translate(), UI_block_update_from_old(), ui_block_view_find_matching_view_item_but_in_old_block(), ui_but_anim_decorate_find_attached_button(), ui_but_change_type(), ui_but_drag_multi_edit_get(), ui_but_find_new(), ui_but_find_old(), ui_but_find_select_in_enum(), ui_but_first(), ui_but_last(), ui_but_next(), ui_but_next_non_separator(), ui_but_prev(), ui_but_update_from_old_block(), ui_colorpicker_hide_reveal(), ui_colorpicker_wheel_cb(), ui_def_but(), ui_handle_menu_event(), ui_item_enum_expand_tabs(), ui_layer_but_cb(), ui_menu_block_set_keyaccels(), ui_menu_block_set_keymaps(), ui_menu_scroll_apply_offset_y(), ui_multibut_restore(), ui_multibut_states_apply(), ui_multibut_states_create(), ui_multibut_states_tag(), blender::ed::space_node::ui_node_menu_column(), ui_offset_panel_block(), ui_pie_handler(), ui_popup_block_clip(), ui_popup_block_position(), ui_popup_block_refresh(), ui_popup_block_scrolltest(), UI_popup_block_template_confirm_op(), ui_popup_context_menu_for_panel(), ui_popup_menu_memory__internal(), blender::ed::space_node::ui_template_node_link_menu(), ui_textedit_next_but(), ui_textedit_prev_but(), ui_update_color_picker_buts_rgba(), ui_update_flexible_spacing(), uiTemplateKeymapItemProperties(), uiTemplateStatusInfo(), and ViewLink::views_bounds_calc().
| ColorPickerData uiBlock::color_pickers |
Definition at line 697 of file interface_intern.hh.
Referenced by ui_block_colorpicker_create(), UI_block_free(), and UI_block_update_from_old().
| short uiBlock::content_hints |
Hints about the buttons of this block. Used to avoid iterating over buttons to find out if some criteria is met by any. Instead, check this criteria when adding the button and set a flag here if it's met.
Definition at line 650 of file interface_intern.hh.
Referenced by ui_but_submenu_enable(), ui_popup_block_position(), and widget_draw_text_icon().
| blender::Vector<std::unique_ptr<bContextStore> > uiBlock::contexts |
Definition at line 603 of file interface_intern.hh.
Referenced by UI_but_context_int_set(), UI_but_context_ptr_set(), and ui_def_but_rna().
| uiLayout* uiBlock::curlayout |
Definition at line 601 of file interface_intern.hh.
Referenced by blender::ui::block_layout(), blender::ui::block_layout_resolve(), blender::ui::block_layout_set_current(), blender::ui::TreeViewLayoutBuilder::current_layout(), ui_def_but(), ui_item_enum_expand_elem_exec(), ui_item_enum_expand_exec(), and ui_layout_add_padding_button().
| uiBlockInteraction_CallbackData uiBlock::custom_interaction_callbacks |
Custom interaction data.
Definition at line 637 of file interface_intern.hh.
Referenced by button_activate_exit(), ui_apply_but(), ui_apply_but_func(), ui_block_interaction_begin(), ui_block_interaction_begin_ensure(), and UI_block_interaction_set().
| char uiBlock::direction |
Definition at line 652 of file interface_intern.hh.
Referenced by UI_block_direction_set(), ui_block_func_COLOR(), ui_block_func_POPOVER(), ui_block_func_POPUP(), ui_draw_menu_back(), ui_draw_popover_back(), ui_handle_menu_event(), ui_popup_block_position(), and ui_popup_block_refresh().
| char uiBlock::display_device[64] |
Display device name used to display this block, used by color widgets to transform colors from/to scene linear.
Definition at line 706 of file interface_intern.hh.
Referenced by UI_block_begin(), and ui_block_cm_display_get().
Custom extra draw function for custom blocks.
Definition at line 643 of file interface_intern.hh.
Referenced by UI_but_func_drawextra_set(), and widget_draw_extra_mask().
| ListBase uiBlock::dynamic_listeners |
Definition at line 610 of file interface_intern.hh.
Referenced by ui_block_add_dynamic_listener(), UI_block_free(), and UI_block_listen().
| blender::ui::EmbossType uiBlock::emboss |
Copied to uiBut.emboss
Definition at line 656 of file interface_intern.hh.
Referenced by UI_block_begin(), UI_block_emboss_get(), UI_block_emboss_set(), ui_def_but(), and ui_item_array().
| bool uiBlock::endblock |
True when UI_block_end has been called.
Definition at line 669 of file interface_intern.hh.
Referenced by UI_block_active_only_flagged_buttons(), UI_block_draw(), UI_block_end_ex(), and ui_popup_block_refresh().
| void* uiBlock::evil_C |
XXX hack for dynamic operator enums
Definition at line 691 of file interface_intern.hh.
Referenced by blender::ui::AbstractViewItem::add_rename_button(), menu_items_from_ui_create_item_from_button(), ui_apply_but_undo(), UI_block_begin(), ui_but_anim_expression_create(), ui_but_anim_expression_set(), UI_but_func_menu_search(), ui_but_get_fcurve(), ui_but_menu_step(), ui_but_search_refresh(), ui_but_string_get_dynamic(), ui_but_string_get_ex(), ui_but_string_set(), ui_but_update_ex(), ui_def_but_icon(), ui_def_but_rna(), ui_def_but_rna__menu(), ui_get_but_scale_unit(), ui_item_enum_expand_exec(), ui_item_rna_size(), ui_item_with_label(), ui_layout_introspect_button(), ui_numedit_but_NUM(), ui_numedit_but_SLI(), and uiTemplateIconView().
| int uiBlock::flag |
Definition at line 645 of file interface_intern.hh.
Referenced by button_activate_exit(), button_activate_state(), template_operator_property_buts_draw_single(), UI_block_align_begin(), UI_block_align_end(), UI_block_begin(), ui_block_bounds_calc_popup(), UI_block_draw(), UI_block_end_ex(), UI_block_flag_disable(), UI_block_flag_enable(), ui_block_func_COLOR(), ui_block_func_POPUP(), ui_block_is_menu(), ui_block_is_pie_menu(), ui_block_is_popover(), UI_block_is_search_only(), ui_block_pie_dir_activate(), UI_block_set_search_only(), UI_but_func_search_set(), ui_but_update_ex(), ui_def_but(), ui_draw_but(), ui_draw_clip_tri(), ui_draw_menu_back(), ui_handle_button_event(), ui_handle_menu_event(), ui_handle_menu_return_submenu(), ui_handle_menus_recursive(), ui_item_menu_hold(), ui_menu_block_set_keymaps(), ui_menu_scroll_step(), ui_menu_scroll_test(), ui_menu_scroll_to_but(), ui_mouse_motion_towards_check(), UI_pie_menu_begin(), ui_popup_block_clip(), ui_popup_block_refresh(), ui_popup_block_scrolltest(), UI_popup_block_template_confirm(), UI_popup_block_template_confirm_is_supported(), ui_popup_handler(), ui_popup_menu_create_block(), ui_region_winrct_get_no_margin(), ui_searchbox_create_generic_ex(), ui_searchbox_region_layout_fn(), ui_textedit_begin(), ui_tooltip_data_from_tool(), uiItem_simple(), and widget_draw_text_icon().
| uiButHandleFunc uiBlock::func |
Definition at line 624 of file interface_intern.hh.
Referenced by UI_block_func_set(), ui_def_but(), and ui_item_enum_expand_elem_exec().
| void* uiBlock::func_arg1 |
Definition at line 625 of file interface_intern.hh.
Referenced by UI_block_func_set(), and ui_def_but().
| void* uiBlock::func_arg2 |
Definition at line 626 of file interface_intern.hh.
Referenced by UI_block_func_set(), UI_block_funcN_set(), and ui_def_but().
| void* uiBlock::func_argN |
Definition at line 629 of file interface_intern.hh.
Referenced by UI_block_free(), UI_block_funcN_set(), and ui_def_but().
| uiButArgNCopy uiBlock::func_argN_copy_fn |
Definition at line 631 of file interface_intern.hh.
Referenced by UI_block_funcN_set(), and ui_def_but().
| uiButArgNFree uiBlock::func_argN_free_fn |
Definition at line 630 of file interface_intern.hh.
Referenced by UI_block_free(), UI_block_funcN_set(), and ui_def_but().
| uiButHandleNFunc uiBlock::funcN |
Definition at line 628 of file interface_intern.hh.
Referenced by UI_block_funcN_set(), and ui_def_but().
| uiPopupBlockHandle* uiBlock::handle |
Definition at line 683 of file interface_intern.hh.
Referenced by button_activate_exit(), button_activate_state(), popover_keymap_fn(), popup_block_template_close_cb(), ui_afterfunc_check(), ui_apply_but_func(), ui_block_bounds_calc_post_centered(), UI_block_end_ex(), ui_block_func_POPOVER(), ui_block_func_POPUP(), ui_block_open_begin(), UI_block_region_set(), ui_but_event_property_operator_string(), ui_colorpicker_hex_rna_cb(), ui_colorpicker_hsv_linear_slider_update_cb(), ui_colorpicker_hsv_perceptual_slider_update_cb(), ui_colorpicker_rgb_perceptual_slider_update_cb(), ui_colorpicker_rgba_update_cb(), ui_colorpicker_wheel_cb(), ui_def_but_rna__menu(), ui_do_but_BUT(), ui_handle_button_event(), ui_menu_scroll_apply_offset_y(), ui_paneltype_draw_impl(), UI_popover_begin(), UI_popover_panel_invoke(), UI_popup_block_close(), ui_popup_block_create(), ui_popup_block_position(), ui_popup_block_refresh(), ui_popup_close_cb(), UI_popup_menu_begin_ex(), UI_popup_menu_end_or_cancel(), and UI_popup_menu_retval_set().
| uiBlockHandleFunc uiBlock::handle_func |
Definition at line 633 of file interface_intern.hh.
Referenced by ui_afterfunc_check(), ui_apply_but_func(), UI_block_func_handle_set(), and UI_context_active_but_prop_handle().
| void* uiBlock::handle_func_arg |
Definition at line 634 of file interface_intern.hh.
Referenced by ui_apply_but_func(), UI_block_func_handle_set(), and UI_context_active_but_prop_handle().
| bool uiBlock::is_color_gamma_picker |
Block for color picker with gamma baked in.
Definition at line 700 of file interface_intern.hh.
Referenced by ui_block_colorpicker(), ui_block_func_COLOR(), ui_but_is_color_gamma(), ui_colorpicker_hide_reveal(), ui_colorpicker_hsv_perceptual_slider_update_cb(), ui_colorpicker_rgb_perceptual_slider_update_cb(), ui_colorpicker_wheel_cb(), and ui_update_color_picker_buts_rgba().
| ListBase uiBlock::layouts |
Definition at line 600 of file interface_intern.hh.
Referenced by blender::ui::block_layout(), blender::ui::block_layout_free(), blender::ui::block_layout_needs_resolving(), blender::ui::block_layout_resolve(), and UI_block_end_ex().
| bool uiBlock::lock |
Definition at line 663 of file interface_intern.hh.
Referenced by UI_block_lock_clear(), UI_block_lock_set(), and ui_def_but().
| const char* uiBlock::lockstr |
Definition at line 661 of file interface_intern.hh.
Referenced by UI_block_lock_clear(), UI_block_lock_set(), and ui_def_but().
| int uiBlock::minbounds |
Definition at line 676 of file interface_intern.hh.
Referenced by ui_block_bounds_calc(), ui_block_bounds_calc_text(), ui_block_func_PIE(), ui_block_func_POPOVER(), and ui_block_func_POPUP().
| std::string uiBlock::name |
Definition at line 612 of file interface_intern.hh.
Referenced by menu_items_from_ui_create(), UI_block_begin(), UI_block_region_set(), ui_menu_block_set_keymaps(), and UI_popup_block_name_exists().
| uiBlock* uiBlock::next |
Definition at line 589 of file interface_intern.hh.
| uiBlock* uiBlock::oldblock |
Definition at line 593 of file interface_intern.hh.
Referenced by template_operator_property_buts_draw_single(), UI_block_begin(), UI_block_region_set(), UI_block_update_from_old(), ui_block_view_find_matching_in_old_block_impl(), ui_block_view_find_matching_view_item_but_in_old_block(), UI_but_active_only_ex(), ui_but_update_from_old_block(), UI_butstore_update(), ui_popup_block_refresh(), and blender::ui::AbstractView::update_from_old().
| Panel* uiBlock::panel |
Definition at line 592 of file interface_intern.hh.
Referenced by block_search_panel_label_matches(), draw_constraint_header(), UI_block_apply_search_filter(), ui_block_bounds_calc(), UI_block_draw(), UI_block_end_ex(), UI_block_region_set(), ui_block_to_region_fl(), ui_draw_aligned_panel(), ui_handle_layout_panel_header(), ui_handle_panel_header(), ui_menu_scroll_apply_offset_y(), ui_offset_panel_block(), UI_panel_begin(), UI_panel_label_offset(), ui_popup_block_position(), ui_popup_block_refresh(), UI_popup_dummy_panel_set(), ui_searchbox_region_layout_fn(), ui_window_to_block_fl(), and uiTemplateOperatorRedoProperties().
| PieMenuData uiBlock::pie_data |
Definition at line 708 of file interface_intern.hh.
Referenced by ui_block_bounds_calc_centered_pie(), ui_block_calc_pie_segment(), ui_block_func_PIE(), ui_but_isect_pie_seg(), ui_draw_pie_center(), ui_handle_menus_recursive(), ui_pie_handler(), UI_pie_menu_begin(), ui_pie_menu_level_create(), ui_popup_block_refresh(), ui_popup_handler(), and widget_menu_pie_itembut().
| uiBlock * uiBlock::prev |
Definition at line 589 of file interface_intern.hh.
| uint uiBlock::puphash |
Unique hash used to implement popup menu memory.
Definition at line 622 of file interface_intern.hh.
Referenced by UI_pie_menu_begin(), ui_popup_menu_create_block(), and ui_popup_menu_memory__internal().
| rctf uiBlock::rect |
Definition at line 616 of file interface_intern.hh.
Referenced by draw_emboss(), ui_block_bounds_calc(), ui_block_bounds_calc_centered(), ui_block_bounds_calc_popup(), ui_block_bounds_calc_post_centered(), UI_block_bounds_set_explicit(), UI_block_end_ex(), UI_block_translate(), UI_blocklist_min_y_get(), ui_but_to_pixelrect(), ui_draw_layout_panels_backdrop(), ui_handle_menu_event(), ui_handle_menus_recursive(), ui_handle_panel_header(), ui_layout_panel_header_under_mouse(), ui_menu_block_set_keyaccels(), ui_menu_block_set_keymaps(), ui_menu_scroll_apply_offset_y(), ui_menu_scroll_step(), ui_menu_scroll_test(), ui_menu_scroll_to_but(), ui_mouse_motion_towards_check(), ui_numedit_but_TRACKPREVIEW(), ui_offset_panel_block(), ui_panel_mouse_state_get(), ui_popup_block_clip(), ui_popup_block_position(), ui_popup_block_refresh(), ui_popup_block_scrolltest(), ui_region_winrct_get_no_margin(), and ui_searchbox_region_layout_fn().
| ListBase uiBlock::saferct |
uiSafetyRct list
Definition at line 681 of file interface_intern.hh.
Referenced by UI_block_free(), ui_handle_menu_event(), ui_popup_block_position(), and ui_popup_block_refresh().
| rctf uiBlock::safety |
Pull-downs, to detect outside, can differ per case how it is created.
Definition at line 679 of file interface_intern.hh.
Referenced by ui_block_bounds_calc(), ui_popup_block_position(), and ui_popup_block_refresh().
| char uiBlock::theme_style |
UI_BLOCK_THEME_STYLE_*
Definition at line 654 of file interface_intern.hh.
Referenced by UI_block_theme_style_set(), and ui_draw_but().
| bool uiBlock::tooltipdisabled |
To avoid tool-tip after click.
Definition at line 667 of file interface_intern.hh.
Referenced by button_activate_exit(), button_tooltip_timer_reset(), UI_block_update_from_old(), and ui_popup_block_create().
| wmOperator* uiBlock::ui_operator |
use so presets can find the operator, across menus and from nested popups which fail for operator context.
Definition at line 687 of file interface_intern.hh.
Referenced by ui_block_free_active_operator(), and UI_block_set_active_operator().
| bool uiBlock::ui_operator_free |
Definition at line 688 of file interface_intern.hh.
Referenced by ui_block_free_active_operator(), and UI_block_set_active_operator().
| const UnitSettings* uiBlock::unit |
unit system, used a lot for numeric buttons so include here rather than fetching through the scene every time.
Definition at line 695 of file interface_intern.hh.
Referenced by format_unit_value(), UI_block_begin(), UI_block_free(), ui_but_convert_to_unit_alt_name(), ui_but_is_unit(), ui_but_is_unit_radians(), ui_get_but_scale_unit(), ui_get_but_step_unit(), ui_get_but_string_unit(), ui_number_from_string_units_with_but(), and ui_numedit_apply_snapf().
| ListBase uiBlock::views |
A block can store "views" on data-sets. Currently tree-views (#AbstractTreeView) only. Others are imaginable, e.g. table-views, grid-views, etc. These are stored here to support state that is persistent over redraws (e.g. collapsed tree-view items).
Definition at line 608 of file interface_intern.hh.
Referenced by ui_block_add_view_impl(), ui_block_free_views(), ui_block_view_find_idname(), ui_block_view_find_matching_in_old_block_impl(), ui_block_view_persistent_state_restore(), ui_block_views_draw_overlays(), ui_block_views_end(), ui_block_views_listen(), and ViewLink::views_bounds_calc().
| float uiBlock::winmat[4][4] |
Definition at line 614 of file interface_intern.hh.
Referenced by ui_block_to_region_fl(), ui_popup_block_refresh(), ui_search_menu_create_tooltip(), ui_update_window_matrix(), and ui_window_to_block_fl().