Blender V4.3
outliner_draw.cc File Reference
#include "DNA_armature_types.h"
#include "DNA_collection_types.h"
#include "DNA_constraint_types.h"
#include "DNA_gpencil_legacy_types.h"
#include "DNA_gpencil_modifier_types.h"
#include "DNA_light_types.h"
#include "DNA_lightprobe_types.h"
#include "DNA_object_force_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "DNA_text_types.h"
#include "BLI_blenlib.h"
#include "BLI_string_utils.hh"
#include "BLI_utildefines.h"
#include "BLT_translation.hh"
#include "BKE_armature.hh"
#include "BKE_context.hh"
#include "BKE_curve.hh"
#include "BKE_deform.hh"
#include "BKE_gpencil_legacy.h"
#include "BKE_grease_pencil.hh"
#include "BKE_idtype.hh"
#include "BKE_layer.hh"
#include "BKE_lib_id.hh"
#include "BKE_lib_override.hh"
#include "BKE_library.hh"
#include "BKE_main.hh"
#include "BKE_main_namemap.hh"
#include "BKE_modifier.hh"
#include "BKE_node.hh"
#include "BKE_object.hh"
#include "BKE_particle.h"
#include "BKE_report.hh"
#include "ANIM_bone_collections.hh"
#include "DEG_depsgraph.hh"
#include "DEG_depsgraph_build.hh"
#include "ED_armature.hh"
#include "ED_fileselect.hh"
#include "ED_id_management.hh"
#include "ED_outliner.hh"
#include "ED_screen.hh"
#include "ED_undo.hh"
#include "WM_api.hh"
#include "WM_message.hh"
#include "WM_types.hh"
#include "GPU_immediate.hh"
#include "GPU_state.hh"
#include "UI_interface.hh"
#include "UI_interface_icons.hh"
#include "UI_resources.hh"
#include "UI_view2d.hh"
#include "RNA_access.hh"
#include "outliner_intern.hh"
#include "tree/tree_element.hh"
#include "tree/tree_element_grease_pencil_node.hh"
#include "tree/tree_element_id.hh"
#include "tree/tree_element_overrides.hh"
#include "tree/tree_element_rna.hh"
#include "tree/tree_element_seq.hh"
#include "tree/tree_iterator.hh"

Go to the source code of this file.

Classes

struct  blender::ed::outliner::RestrictProperties
 
struct  blender::ed::outliner::RestrictPropertiesActive
 
struct  blender::ed::outliner::MergedIconRow
 

Namespaces

namespace  blender
 
namespace  blender::ed
 
namespace  blender::ed::outliner
 

Functions

int ED_outliner_icon_from_id (const ID &id)
 
Tree Size Functions
static void blender::ed::outliner::outliner_tree_dimensions_impl (SpaceOutliner *space_outliner, ListBase *lb, int *width, int *height)
 
void blender::ed::outliner::outliner_tree_dimensions (SpaceOutliner *space_outliner, int *r_width, int *r_height)
 
static bool blender::ed::outliner::is_object_data_in_editmode (const ID *id, const Object *obact)
 
Button Callbacks
static void blender::ed::outliner::restrictbutton_recursive_ebone (bArmature *arm, EditBone *ebone_parent, int flag, bool set_flag)
 
static void blender::ed::outliner::restrictbutton_recursive_bone (Bone *bone_parent, int flag, bool set_flag)
 
static void blender::ed::outliner::restrictbutton_r_lay_fn (bContext *C, void *poin, void *)
 
static void blender::ed::outliner::restrictbutton_bone_visibility_fn (bContext *C, void *poin, void *)
 
static void blender::ed::outliner::restrictbutton_bone_select_fn (bContext *C, void *poin, void *poin2)
 
static void blender::ed::outliner::restrictbutton_ebone_select_fn (bContext *C, void *poin, void *poin2)
 
static void blender::ed::outliner::restrictbutton_ebone_visibility_fn (bContext *C, void *poin, void *poin2)
 
static void blender::ed::outliner::restrictbutton_gp_layer_flag_fn (bContext *C, void *poin, void *)
 
static void blender::ed::outliner::restrictbutton_id_user_toggle (bContext *, void *poin, void *)
 
static void blender::ed::outliner::outliner_object_set_flag_recursive_fn (bContext *C, Base *base, Object *ob, const char *propname)
 
static void blender::ed::outliner::outliner__object_set_flag_recursive_fn (bContext *C, void *poin, void *poin2)
 
static void blender::ed::outliner::outliner__base_set_flag_recursive_fn (bContext *C, void *poin, void *poin2)
 
static void blender::ed::outliner::outliner_layer_or_collection_pointer_create (Scene *scene, LayerCollection *layer_collection, Collection *collection, PointerRNA *ptr)
 
static void blender::ed::outliner::outliner_base_or_object_pointer_create (Scene *scene, ViewLayer *view_layer, Collection *collection, Object *ob, PointerRNA *ptr)
 
static void blender::ed::outliner::outliner_collection_set_flag_recursive (Scene *scene, ViewLayer *view_layer, LayerCollection *layer_collection, Collection *collection, PropertyRNA *layer_or_collection_prop, PropertyRNA *base_or_object_prop, const bool value)
 
static bool blender::ed::outliner::outliner_collection_is_isolated (Scene *scene, const LayerCollection *layer_collection_cmp, const Collection *collection_cmp, const bool value_cmp, const PropertyRNA *layer_or_collection_prop, LayerCollection *layer_collection, Collection *collection)
 
void blender::ed::outliner::outliner_collection_isolate_flag (Scene *scene, ViewLayer *view_layer, LayerCollection *layer_collection, Collection *collection, PropertyRNA *layer_or_collection_prop, const char *propname, const bool value)
 
static void blender::ed::outliner::outliner_collection_set_flag_recursive_fn (bContext *C, LayerCollection *layer_collection, Collection *collection, const char *propname)
 
static void blender::ed::outliner::view_layer__layer_collection_set_flag_recursive_fn (bContext *C, void *poin, void *poin2)
 
static void blender::ed::outliner::view_layer__collection_set_flag_recursive_fn (bContext *C, void *poin, void *poin2)
 
static void blender::ed::outliner::scenes__collection_set_flag_recursive_fn (bContext *C, void *poin, void *poin2)
 
static void blender::ed::outliner::namebutton_fn (bContext *C, void *tsep, char *oldname)
 
static void blender::ed::outliner::outliner_restrict_properties_enable_collection_set (PointerRNA *collection_ptr, RestrictProperties *props, RestrictPropertiesActive *props_active)
 
static void blender::ed::outliner::outliner_restrict_properties_enable_layer_collection_set (PointerRNA *layer_collection_ptr, PointerRNA *collection_ptr, RestrictProperties *props, RestrictPropertiesActive *props_active)
 
static bool blender::ed::outliner::outliner_restrict_properties_collection_set (Scene *scene, TreeElement *te, PointerRNA *collection_ptr, PointerRNA *layer_collection_ptr, RestrictProperties *props, RestrictPropertiesActive *props_active)
 
static void blender::ed::outliner::outliner_draw_restrictbuts (uiBlock *block, Scene *scene, ViewLayer *view_layer, ARegion *region, SpaceOutliner *space_outliner, ListBase *lb, RestrictPropertiesActive props_active_parent)
 
static void blender::ed::outliner::outliner_draw_userbuts (uiBlock *block, const ARegion *region, const SpaceOutliner *space_outliner)
 
static void blender::ed::outliner::outliner_draw_overrides_rna_buts (uiBlock *block, const ARegion *region, const SpaceOutliner *space_outliner, const ListBase *lb, const int x)
 
static bool blender::ed::outliner::outliner_but_identity_cmp_context_id_fn (const uiBut *a, const uiBut *b)
 
static void blender::ed::outliner::outliner_draw_overrides_restrictbuts (Main *bmain, uiBlock *block, const ARegion *region, const SpaceOutliner *space_outliner, const ListBase *lb, const int x)
 
static void blender::ed::outliner::outliner_draw_separator (ARegion *region, const int x)
 
static void blender::ed::outliner::outliner_draw_rnabuts (uiBlock *block, ARegion *region, SpaceOutliner *space_outliner, int sizex)
 
static void blender::ed::outliner::outliner_buttons (const bContext *C, uiBlock *block, ARegion *region, const float restrict_column_width, TreeElement *te)
 
static void blender::ed::outliner::outliner_mode_toggle_fn (bContext *C, void *tselem_poin, void *)
 
static void blender::ed::outliner::outliner_draw_mode_column_toggle (uiBlock *block, TreeViewContext *tvc, TreeElement *te, const bool lock_object_modes)
 
static void blender::ed::outliner::outliner_draw_mode_column (uiBlock *block, TreeViewContext *tvc, SpaceOutliner *space_outliner)
 
static StringRefNull blender::ed::outliner::outliner_draw_get_warning_tree_element_subtree (const TreeElement *parent_te)
 
static StringRefNull blender::ed::outliner::outliner_draw_get_warning_tree_element (const SpaceOutliner &space_outliner, const TreeElement *te)
 
static void blender::ed::outliner::outliner_draw_warning_tree_element (uiBlock *block, const SpaceOutliner *space_outliner, StringRefNull warning_msg, const bool use_mode_column, const int te_ys)
 
static void blender::ed::outliner::outliner_draw_warning_column (uiBlock *block, const SpaceOutliner *space_outliner, const bool use_mode_column)
 
Normal Drawing
static BIFIconID blender::ed::outliner::tree_element_get_icon_from_id (const ID *id)
 
TreeElementIcon blender::ed::outliner::tree_element_get_icon (TreeStoreElem *tselem, TreeElement *te)
 
static bool blender::ed::outliner::tselem_draw_icon (uiBlock *block, int xmax, float x, float y, TreeStoreElem *tselem, TreeElement *te, float alpha, const bool is_clickable, const int num_elements)
 
static void blender::ed::outliner::outliner_icon_background_colors (float icon_color[4], float icon_border[4])
 
static void blender::ed::outliner::outliner_draw_active_indicator (const float minx, const float miny, const float maxx, const float maxy, const float icon_color[4], const float icon_border[4])
 
static void blender::ed::outliner::outliner_draw_iconrow_doit (uiBlock *block, TreeElement *te, int xmax, int *offsx, int ys, float alpha_fac, const eOLDrawState active, const int num_elements)
 
int blender::ed::outliner::tree_element_id_type_to_index (TreeElement *te)
 
static void blender::ed::outliner::outliner_draw_iconrow (bContext *C, uiBlock *block, const uiFontStyle *fstyle, const TreeViewContext *tvc, SpaceOutliner *space_outliner, ListBase *lb, int level, int xmax, int *offsx, int ys, float alpha_fac, bool in_bone_hierarchy, const bool is_grease_pencil_node_hierarchy, MergedIconRow *merged)
 
static void blender::ed::outliner::outliner_set_subtree_coords (const TreeElement *te)
 
static bool blender::ed::outliner::element_should_draw_faded (const TreeViewContext *tvc, const TreeElement *te, const TreeStoreElem *tselem)
 
static void blender::ed::outliner::outliner_draw_tree_element (bContext *C, uiBlock *block, const uiFontStyle *fstyle, const TreeViewContext *tvc, ARegion *region, SpaceOutliner *space_outliner, TreeElement *te, bool draw_grayed_out, int startx, int *starty, const float restrict_column_width, TreeElement **te_edit)
 
static bool blender::ed::outliner::subtree_contains_object (ListBase *lb)
 
static void blender::ed::outliner::outliner_draw_hierarchy_line (const uint pos, const int x, const int y1, const int y2, const bool draw_dashed)
 
static void blender::ed::outliner::outliner_draw_hierarchy_lines_recursive (uint pos, SpaceOutliner *space_outliner, ListBase *lb, const TreeViewContext *tvc, int startx, const uchar col[4], bool draw_grayed_out, int *starty)
 
static void blender::ed::outliner::outliner_draw_hierarchy_lines (SpaceOutliner *space_outliner, ListBase *lb, const TreeViewContext *tvc, int startx, int *starty)
 
static void blender::ed::outliner::outliner_draw_struct_marks (ARegion *region, SpaceOutliner *space_outliner, ListBase *lb, int *starty)
 
static void blender::ed::outliner::outliner_draw_highlights (uint pos, const ARegion *region, const SpaceOutliner *space_outliner, const float col_selection[4], const float col_active[4], const float col_highlight[4], const float col_searchmatch[4], int start_x, int *io_start_y)
 
static void blender::ed::outliner::outliner_draw_highlights (ARegion *region, SpaceOutliner *space_outliner, int startx, int *starty)
 
static void blender::ed::outliner::outliner_draw_tree (bContext *C, uiBlock *block, const TreeViewContext *tvc, ARegion *region, SpaceOutliner *space_outliner, const float right_column_width, const bool use_mode_column, const bool use_warning_column, TreeElement **te_edit)
 
static void blender::ed::outliner::outliner_back (ARegion *region)
 
static int blender::ed::outliner::outliner_data_api_buttons_start_x (int max_tree_width)
 
static int blender::ed::outliner::outliner_width (SpaceOutliner *space_outliner, int max_tree_width, float right_column_width)
 
static void blender::ed::outliner::outliner_update_viewable_area (ARegion *region, SpaceOutliner *space_outliner, int tree_width, int tree_height, float right_column_width)
 
Main Entry-point

Draw contents of Outliner editor.

void blender::ed::outliner::draw_outliner (const bContext *C, bool do_rebuild)
 

Function Documentation

◆ ED_outliner_icon_from_id()

int ED_outliner_icon_from_id ( const ID & id)