23#include "RNA_prototypes.hh"
48 id->asset_data->local_type_info = type_info;
49 type_info->on_mark_asset_fn(
id, id->
asset_data);
82 if (type_info->on_clear_asset_fn) {
83 type_info->on_clear_asset_fn(
id, id->
asset_data);
105 id->asset_data->local_type_info->pre_save_fn(
id, id->
asset_data);
AssetMetaData * BKE_asset_metadata_copy(const AssetMetaData *source)
AssetMetaData * BKE_asset_metadata_create()
void BKE_asset_metadata_free(AssetMetaData **asset_data)
PointerRNA CTX_data_pointer_get_type_silent(const bContext *C, const char *member, StructRNA *type)
wmWindowManager * CTX_wm_manager(const bContext *C)
const IDTypeInfo * BKE_idtype_get_info_from_id(const ID *id)
void id_fake_user_set(ID *id)
void id_fake_user_clear(ID *id)
bool BKE_id_can_be_asset(const ID *id)
#define FOREACH_MAIN_ID_END
#define FOREACH_MAIN_ID_BEGIN(_bmain, _id)
PreviewImage * BKE_previewimg_id_get(const ID *id)
void BKE_previewimg_clear(PreviewImage *prv)
ID and Library types, which are fundamental for SDNA.
bool ED_preview_id_is_supported(const ID *id, const char **r_disabled_hint=nullptr)
void ED_preview_kill_jobs_for_id(wmWindowManager *wm, const ID *id)
void UI_icon_render_id(const bContext *C, Scene *scene, ID *id, enum eIconSizes size, bool use_job)
void storage_tag_main_data_dirty()
bool copy_to_id(const AssetMetaData *asset_data, ID *destination)
bool can_mark_single_from_context(const bContext *C)
void generate_preview(const bContext *C, ID *id)
void pre_save_assets(Main *bmain)
bool id_type_is_supported(const ID *id)
AssetTypeInfo * asset_type_info
struct AssetMetaData * asset_data