|
Blender V4.3
|
#include <cstdlib>#include "MEM_guardedalloc.h"#include "DNA_userdef_types.h"#include "BLI_utildefines.h"#include "BKE_blender_copybuffer.hh"#include "BKE_blendfile_link_append.hh"#include "BKE_context.hh"#include "BKE_layer.hh"#include "BKE_lib_id.hh"#include "DEG_depsgraph_build.hh"#include "BLO_readfile.hh"#include "BLO_writefile.hh"#include "IMB_colormanagement.hh"Go to the source code of this file.
Functions | |
Paste API based on 'partial' blend-files. | |
| static void | copybuffer_append (BlendfileLinkAppendContext *lapp_context, Main *bmain, ReportList *reports) |
| bool | BKE_copybuffer_read (Main *bmain_dst, const char *libname, ReportList *reports, const uint64_t id_types_mask) |
| int | BKE_copybuffer_paste (bContext *C, const char *libname, const int flag, ReportList *reports, const uint64_t id_types_mask) |
Used for copy/paste operator, (using a temporary file).
Definition in file blender_copybuffer.cc.
| 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.
| libname | Full path to the .blend file used as copy/paste buffer. |
| flag | A combination of eBLOLibLinkFlags and #eFileSel_Params_Flag to control link/append behavior. |
| id_types_mask | Only directly link IDs of those types from the given .blend file buffer. |
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().
| 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.
| libname | Full path to the .blend file used as copy/paste buffer. |
| id_types_mask | Only directly link IDs of those types from the given .blend file buffer. |
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().
|
static |
Definition at line 37 of file blender_copybuffer.cc.
References BKE_blendfile_append(), BKE_blendfile_link(), BKE_blendfile_link_append_context_finalize(), BKE_blendfile_link_append_context_init_done(), BKE_blendfile_link_append_instantiate_loose(), BKE_main_id_tag_all(), BKE_main_lib_objects_recalc_all(), DEG_relations_tag_update(), ID_TAG_PRE_EXISTING, and IMB_colormanagement_check_file_config().
Referenced by BKE_copybuffer_paste(), and BKE_copybuffer_read().