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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-08-12 22:11:22 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-08-12 22:11:22 +0400
commitc265a686d8ef83c4606a8c8846795b5b381a3dff (patch)
tree86b9c220c828244731c187df32b3f5d04ec6a3a8 /source/blender/blenkernel/BKE_modifier.h
parente4bdb6e95a6f2a0365901ed8d1cba698f19d6d39 (diff)
Modifiers: add callback to loop over each texture assigned to a modifier.
Diffstat (limited to 'source/blender/blenkernel/BKE_modifier.h')
-rw-r--r--source/blender/blenkernel/BKE_modifier.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h
index 648e67cad8a..28950e4b2eb 100644
--- a/source/blender/blenkernel/BKE_modifier.h
+++ b/source/blender/blenkernel/BKE_modifier.h
@@ -101,6 +101,7 @@ typedef enum {
typedef void (*ObjectWalkFunc)(void *userData, struct Object *ob, struct Object **obpoin);
typedef void (*IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin);
+typedef void (*TexWalkFunc)(void *userData, struct Object *ob, struct ModifierData *md, const char *propname);
typedef struct ModifierTypeInfo {
/* The user visible name for this modifier */
@@ -284,6 +285,16 @@ typedef struct ModifierTypeInfo {
*/
void (*foreachIDLink)(struct ModifierData *md, struct Object *ob,
IDWalkFunc walk, void *userData);
+
+ /* Should call the given walk function for each texture that the
+ * modifier data stores. This is used for finding all textures in
+ * the context for the UI.
+ *
+ * This function is optional. If it is not present, it will be
+ * assumed the modifier has no textures.
+ */
+ void (*foreachTexLink)(struct ModifierData *md, struct Object *ob,
+ TexWalkFunc walk, void *userData);
} ModifierTypeInfo;
ModifierTypeInfo *modifierType_getInfo (ModifierType type);
@@ -315,6 +326,10 @@ void modifiers_foreachObjectLink(struct Object *ob,
void modifiers_foreachIDLink(struct Object *ob,
IDWalkFunc walk,
void *userData);
+void modifiers_foreachTexLink(struct Object *ob,
+ TexWalkFunc walk,
+ void *userData);
+
struct ModifierData *modifiers_findByType(struct Object *ob, ModifierType type);
struct ModifierData *modifiers_findByName(struct Object *ob, const char *name);
void modifiers_clearErrors(struct Object *ob);