diff options
Diffstat (limited to 'source/blender/editors/asset/ED_asset_list.h')
-rw-r--r-- | source/blender/editors/asset/ED_asset_list.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/blender/editors/asset/ED_asset_list.h b/source/blender/editors/asset/ED_asset_list.h index 61d7729b651..669bb6dbe36 100644 --- a/source/blender/editors/asset/ED_asset_list.h +++ b/source/blender/editors/asset/ED_asset_list.h @@ -31,21 +31,47 @@ struct ID; struct bContext; struct wmNotifier; +/** + * Invoke asset list reading, potentially in a parallel job. Won't wait until the job is done, + * and may return earlier. + */ void ED_assetlist_storage_fetch(const struct AssetLibraryReference *library_reference, const struct bContext *C); void ED_assetlist_ensure_previews_job(const struct AssetLibraryReference *library_reference, struct bContext *C); void ED_assetlist_clear(const struct AssetLibraryReference *library_reference, struct bContext *C); bool ED_assetlist_storage_has_list_for_library(const AssetLibraryReference *library_reference); +/** + * Tag all asset lists in the storage that show main data as needing an update (re-fetch). + * + * This only tags the data. If the asset list is visible on screen, the space is still responsible + * for ensuring the necessary redraw. It can use #ED_assetlist_listen() to check if the asset-list + * needs a redraw for a given notifier. + */ void ED_assetlist_storage_tag_main_data_dirty(void); +/** + * Remapping of ID pointers within the asset lists. Typically called when an ID is deleted to clear + * all references to it (\a id_new is null then). + */ void ED_assetlist_storage_id_remap(struct ID *id_old, struct ID *id_new); +/** + * Can't wait for static deallocation to run. There's nested data allocated with our guarded + * allocator, it will complain about unfreed memory on exit. + */ void ED_assetlist_storage_exit(void); struct ImBuf *ED_assetlist_asset_image_get(const AssetHandle *asset_handle); const char *ED_assetlist_library_path(const struct AssetLibraryReference *library_reference); +/** + * \return True if the region needs a UI redraw. + */ bool ED_assetlist_listen(const struct AssetLibraryReference *library_reference, const struct wmNotifier *notifier); +/** + * \return The number of assets stored in the asset list for \a library_reference, or -1 if there + * is no list fetched for it. + */ int ED_assetlist_size(const struct AssetLibraryReference *library_reference); #ifdef __cplusplus |