Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Eisel <julian@blender.org>2021-07-09 00:20:26 +0300
committerSybren A. Stüvel <sybren@blender.org>2021-07-15 17:12:36 +0300
commit35affaa971cfb2d1829031f49a6ef9fb19ca576f (patch)
treefa5ae8266a520c6c9b9682d87fdd6ba8b544f748 /source/blender/makesdna/DNA_asset_types.h
parent3feb3ce32d7d1fddf745bf30592cf68d906c295f (diff)
Assets: AssetHandle type as temporary design to reference assets
With temporary I mean that this is not intended to be part of the eventual asset system design. For that we are planning to have an `AssetRepresentation` instead, see T87235. Once the `AssetList` is implemented (see T88184), that would be the owner of the asset representations. However for the upcoming asset system, asset browser, asset view and pose library commits we need some kind of asset handle to pass around. That is what this commit introduces. Idea is a handle to wrap the `FileDirEntry` representing the asset, and an API to access its data (currently very small, will be extended in further commits). So the fact that an asset is currently a file internally is abstracted away. However: We have to expose it as file in the Python API, because we can't return the asset-handle directly there, for reasons explained in the code. So the active asset file is exposed as `bpy.context.asset_file_handle`.
Diffstat (limited to 'source/blender/makesdna/DNA_asset_types.h')
-rw-r--r--source/blender/makesdna/DNA_asset_types.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_asset_types.h b/source/blender/makesdna/DNA_asset_types.h
index 5acdc4ee862..9b17bca2ab6 100644
--- a/source/blender/makesdna/DNA_asset_types.h
+++ b/source/blender/makesdna/DNA_asset_types.h
@@ -97,6 +97,17 @@ typedef struct AssetLibraryReference {
int custom_library_index;
} AssetLibraryReference;
+/**
+ * Not part of the core design, we should try to get rid of it. Only needed to wrap FileDirEntry
+ * into a type with PropertyGroup as base, so we can have an RNA collection of #AssetHandle's to
+ * pass to the UI.
+ */
+#
+#
+typedef struct AssetHandle {
+ struct FileDirEntry *file_data;
+} AssetHandle;
+
#ifdef __cplusplus
}
#endif