Blender V4.3
BKE_blender_copybuffer.hh File Reference
#include "BLI_sys_types.h"

Go to the source code of this file.

Functions

bool BKE_copybuffer_read (Main *bmain_dst, const char *libname, ReportList *reports, uint64_t id_types_mask)
 
int BKE_copybuffer_paste (bContext *C, const char *libname, int flag, ReportList *reports, uint64_t id_types_mask)
 

Function Documentation

◆ BKE_copybuffer_paste()

int BKE_copybuffer_paste ( bContext * C,
const char * libname,
int flag,
ReportList * reports,
uint64_t id_types_mask )

Paste data-blocks from the given .blend file 'buffer' (i.e. append them).

Similar to BKE_copybuffer_read, but also handles instantiation of collections/objects/etc.

Parameters
libnameFull path to the .blend file used as copy/paste buffer.
flagA combination of eBLOLibLinkFlags and #eFileSel_Params_Flag to control link/append behavior.
Note
Ignores FILE_LINK flag, since it always appends IDs.
Parameters
id_types_maskOnly directly link IDs of those types from the given .blend file buffer.
Returns
Number of IDs directly pasted from the buffer (does not includes indirectly linked ones).

Definition at line 97 of file blender_copybuffer.cc.

References BKE_blendfile_link_append_context_free(), BKE_blendfile_link_append_context_item_idtypes_from_library_add(), BKE_blendfile_link_append_context_library_add(), BKE_blendfile_link_append_context_new(), BKE_view_layer_base_deselect_all(), BLENDFILE_LINK_APPEND_INVALID, BLI_assert, BLO_LIBLINK_APPEND_RECURSIVE, BLO_library_link_params_init_with_context(), copybuffer_append(), CTX_data_main(), CTX_data_scene(), CTX_data_view_layer(), CTX_wm_view3d(), and flag.

Referenced by blender::ed::outliner::outliner_id_paste_exec(), and view3d_pastebuffer_exec().

◆ BKE_copybuffer_read()

bool BKE_copybuffer_read ( Main * bmain_dst,
const char * libname,
ReportList * reports,
uint64_t id_types_mask )

Paste-buffer helper API. For copy, use directly the #PartialWriteContext API. Paste data-blocks from the given .blend file 'buffer' (i.e. append them).

Unlike BKE_copybuffer_paste, it does not perform any instantiation of collections/objects/etc.

Parameters
libnameFull path to the .blend file used as copy/paste buffer.
id_types_maskOnly directly link IDs of those types from the given .blend file buffer.
Returns
true on success, false otherwise.

Definition at line 68 of file blender_copybuffer.cc.

References BKE_blendfile_link_append_context_free(), BKE_blendfile_link_append_context_item_idtypes_from_library_add(), BKE_blendfile_link_append_context_library_add(), BKE_blendfile_link_append_context_new(), BLENDFILE_LINK_APPEND_INVALID, BLO_library_link_params_init(), copybuffer_append(), and flag.

Referenced by paste_material_exec(), and pose_paste_exec().