10#define DNA_DEPRECATED_ALLOW
51#define USE_OUTLINER_DRAW_CLAMPS_SCROLL_HACK
93#ifdef USE_OUTLINER_DRAW_CLAMPS_SCROLL_HACK
94 const rctf v2d_cur_prev = v2d->
cur;
100#ifdef USE_OUTLINER_DRAW_CLAMPS_SCROLL_HACK
328 msg_sub_value_region_tag_redraw.
owner = region;
329 msg_sub_value_region_tag_redraw.
user_data = region;
422 MEM_delete(space_outliner->
runtime);
430 if (space_outliner->
runtime ==
nullptr) {
431 space_outliner->
runtime = MEM_new<SpaceOutliner_Runtime>(
"SpaceOutliner_Runtime");
447 space_outliner_new->
runtime = MEM_new<SpaceOutliner_Runtime>(
"SpaceOutliner_runtime dup",
466 bool changed =
false;
467 bool unassigned =
false;
526 else if (!is_readonly) {
527 tselem->id =
nullptr;
565 *new_elem = elems[
i];
572 space_outliner->
runtime =
nullptr;
588 tselem->
id =
nullptr;
632 ts_flat.totelem = elems;
663 std::unique_ptr<SpaceType> st = std::make_unique<SpaceType>();
ScrArea * CTX_wm_area(const bContext *C)
LibraryForeachIDCallbackFlag
@ IDWALK_CB_WRITEFILE_IGNORE
@ IDWALK_CB_EMBEDDED_NOT_OWNING
#define BKE_LIB_FOREACHID_PROCESS_ID(data_, id_, cb_flag_)
LibraryForeachIDFlag BKE_lib_query_foreachid_process_flags_get(const LibraryForeachIDData *data)
@ IDWALK_NO_ORIG_POINTERS_ACCESS
@ ID_REMAP_RESULT_SOURCE_REMAPPED
@ ID_REMAP_RESULT_SOURCE_UNASSIGNED
@ ID_REMAP_RESULT_SOURCE_NOT_MAPPABLE
@ ID_REMAP_RESULT_SOURCE_UNAVAILABLE
void BKE_spacetype_register(std::unique_ptr< SpaceType > st)
ARegion * BKE_area_region_new()
ARegion * BKE_area_find_region_type(const ScrArea *area, int region_type)
BLI_INLINE void BLI_listbase_clear(ListBase *lb)
void BLI_addtail(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_addhead(ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void * BLI_mempool_alloc(BLI_mempool *pool) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_RETURNS_NONNULL ATTR_NONNULL(1)
void BLI_mempool_iternew(BLI_mempool *pool, BLI_mempool_iter *iter) ATTR_NONNULL()
void * BLI_mempool_iterstep(BLI_mempool_iter *iter) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void void * BLI_mempool_as_arrayN(BLI_mempool *pool, const char *allocstr) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1
BLI_mempool * BLI_mempool_create(unsigned int esize, unsigned int elem_num, unsigned int pchunk, unsigned int flag) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT ATTR_RETURNS_NONNULL
int BLI_mempool_len(const BLI_mempool *pool) ATTR_NONNULL(1)
void BLI_mempool_destroy(BLI_mempool *pool) ATTR_NONNULL(1)
bool BLI_rctf_compare(const struct rctf *rect_a, const struct rctf *rect_b, float limit)
#define STRNCPY_UTF8(dst, src)
#define POINTER_OFFSET(v, ofs)
void * BLO_read_get_new_data_address_no_us(BlendDataReader *reader, const void *old_address, size_t expected_size)
#define BLO_write_struct_array_at_address(writer, struct_name, array_size, address, data_ptr)
#define BLO_write_struct(writer, struct_name, data_ptr)
#define BLO_write_struct_at_address(writer, struct_name, address, data_ptr)
#define TSE_IS_REAL_ID(_tse)
@ RGN_FLAG_INDICATE_OVERFLOW
@ SO_FILTER_NO_VIEW_LAYERS
@ V2D_SCROLL_HORIZONTAL_HIDE
@ V2D_SCROLL_VERTICAL_HIDE
#define WM_OUTLINER_SYNC_SELECT_FROM_ALL
void ED_area_tag_redraw(ScrArea *area)
void ED_region_header(const bContext *C, ARegion *region)
void ED_region_header_init(ARegion *region)
void ED_region_tag_redraw_no_rebuild(ARegion *region)
void ED_region_tag_redraw(ARegion *region)
void ED_region_do_msg_notify_tag_redraw(bContext *C, wmMsgSubscribeKey *msg_key, wmMsgSubscribeValue *msg_val)
void ED_region_draw_overflow_indication(const ScrArea *area, ARegion *region, rcti *mask=nullptr)
void ED_spacetype_outliner()
Read Guarded memory(de)allocation.
void UI_ThemeClearColor(int colorid)
void UI_view2d_scrollers_draw(View2D *v2d, const rcti *mask_custom)
void UI_view2d_view_restore(const bContext *C)
void UI_view2d_region_reinit(View2D *v2d, short type, int winx, int winy)
#define ND_RENDER_OPTIONS
#define ND_LIB_OVERRIDE_CHANGED
#define ND_BONE_COLLECTION
#define NS_LAYER_COLLECTION
#define ND_SPACE_OUTLINER
BMesh const char void * data
IDRemapperApplyResult apply(ID **r_id_ptr, IDRemapperApplyOptions options, ID *id_self=nullptr) const
void * MEM_callocN(size_t len, const char *str)
void * MEM_dupallocN(const void *vmemh)
size_t(* MEM_allocN_len)(const void *vmemh)
void MEM_freeN(void *vmemh)
static void outliner_header_region_free(ARegion *)
static void outliner_init(wmWindowManager *, ScrArea *area)
static void outliner_foreach_id(SpaceLink *space_link, LibraryForeachIDData *data)
static void outliner_main_region_draw(const bContext *C, ARegion *region)
static void outliner_space_blend_write(BlendWriter *writer, SpaceLink *sl)
bool outliner_flag_set(const SpaceOutliner &space_outliner, const short flag, const short set)
bool outliner_requires_rebuild_on_select_or_active_change(const SpaceOutliner *space_outliner)
static void write_space_outliner(BlendWriter *writer, const SpaceOutliner *space_outliner)
void outliner_free_tree(ListBase *tree)
static SpaceLink * outliner_duplicate(SpaceLink *sl)
static void outliner_space_blend_read_after_liblink(BlendLibReader *, ID *, SpaceLink *sl)
static void outliner_header_region_listener(const wmRegionListenerParams *params)
static void outliner_space_blend_read_data(BlendDataReader *reader, SpaceLink *sl)
static void outliner_header_region_init(wmWindowManager *, ARegion *region)
int outliner_main_region_context(const bContext *C, const char *member, bContextDataResult *result)
static void outliner_free(SpaceLink *sl)
static void outliner_main_region_message_subscribe(const wmRegionMessageSubscribeParams *params)
static void outliner_main_region_listener(const wmRegionListenerParams *params)
static SpaceLink * outliner_create(const ScrArea *, const Scene *)
void outliner_operatortypes()
void outliner_keymap(wmKeyConfig *keyconf)
static void outliner_id_remap(ScrArea *area, SpaceLink *slink, const blender::bke::id::IDRemapper &mappings)
static void outliner_main_region_init(wmWindowManager *wm, ARegion *region)
static void outliner_deactivate(ScrArea *area)
static void outliner_header_region_draw(const bContext *C, ARegion *region)
static void outliner_main_region_free(ARegion *)
void draw_outliner(const bContext *C, bool do_rebuild)
void outliner_dropboxes()
void(* message_subscribe)(const wmRegionMessageSubscribeParams *params)
void(* listener)(const wmRegionListenerParams *params)
bContextDataCallback context
void(* draw)(const bContext *C, ARegion *region)
void(* init)(wmWindowManager *wm, ARegion *region)
ARegionRuntimeHandle * runtime
SpaceOutliner_Runtime * runtime
struct BLI_mempool * treestore
std::unique_ptr< treehash::TreeHash > tree_hash
SpaceOutliner_Runtime()=default
std::unique_ptr< AbstractTreeDisplay > tree_display
Establish and manage Outliner trees for different display modes.
ListBase * WM_dropboxmap_find(const char *idname, int spaceid, int regionid)
wmEventHandler_Dropbox * WM_event_add_dropbox_handler(ListBase *handlers, ListBase *dropboxes)
wmEventHandler_Keymap * WM_event_add_keymap_handler_v2d_mask(ListBase *handlers, wmKeyMap *keymap)
wmKeyMap * WM_keymap_ensure(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
#define WM_msg_subscribe_rna_anon_prop(mbus, type_, prop_, value)