diff options
author | Campbell Barton <ideasman42@gmail.com> | 2018-09-13 00:49:55 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2018-09-13 00:50:45 +0300 |
commit | 2a14807f397c138473fb7ad880f49de154da59c5 (patch) | |
tree | ff46488c392ada00c6d1488f2b3ef864a672e201 /source/blender/makesrna/intern/rna_material.c | |
parent | df289785b3ce2fa9d45550346e410a66b664f8a5 (diff) | |
parent | 6873f47edea909061389b3d9037f8cdfed9b9231 (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender/makesrna/intern/rna_material.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_material.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c index 75064ce1855..ee0c9e392c4 100644 --- a/source/blender/makesrna/intern/rna_material.c +++ b/source/blender/makesrna/intern/rna_material.c @@ -281,6 +281,33 @@ void rna_mtex_texture_slots_clear(ID *self_id, struct bContext *C, ReportList *r WM_event_add_notifier(C, NC_TEXTURE, CTX_data_scene(C)); } +static void rna_TexPaintSlot_uv_layer_get(PointerRNA *ptr, char *value) +{ + TexPaintSlot *data = (TexPaintSlot *)(ptr->data); + + if (data->uvname != NULL) { + BLI_strncpy_utf8(value, data->uvname, 64); + } + else { + value[0] = '\0'; + } +} + +static int rna_TexPaintSlot_uv_layer_length(PointerRNA *ptr) +{ + TexPaintSlot *data = (TexPaintSlot *)(ptr->data); + return data->uvname == NULL ? 0 : strlen(data->uvname); +} + +static void rna_TexPaintSlot_uv_layer_set(PointerRNA *ptr, const char *value) +{ + TexPaintSlot *data = (TexPaintSlot *)(ptr->data); + + if (data->uvname != NULL) { + BLI_strncpy_utf8(data->uvname, value, 64); + } +} + static bool rna_is_grease_pencil_get(PointerRNA *ptr) { Material *ma = (Material *)ptr->data; @@ -832,6 +859,8 @@ static void rna_def_tex_slot(BlenderRNA *brna) prop = RNA_def_property(srna, "uv_layer", PROP_STRING, PROP_NONE); RNA_def_property_string_maxlength(prop, 64); /* else it uses the pointer size! */ RNA_def_property_string_sdna(prop, NULL, "uvname"); + RNA_def_property_string_funcs(prop, "rna_TexPaintSlot_uv_layer_get", "rna_TexPaintSlot_uv_layer_length", + "rna_TexPaintSlot_uv_layer_set"); RNA_def_property_ui_text(prop, "UV Map", "Name of UV map"); RNA_def_property_update(prop, NC_GEOM | ND_DATA, "rna_Material_update"); |