Merged changes in the trunk up to revision 47977.
[blender.git] / source / blender / makesrna / intern / rna_color.c
index ecdfe1505c8a7259443a7ccf2f2fd29db383f6c3..1596e4573abd226d4f2b9d65660e9c501f9491da 100644 (file)
@@ -47,6 +47,7 @@
 #include "BKE_depsgraph.h"
 #include "BKE_node.h"
 #include "BKE_texture.h"
+#include "BKE_linestyle.h"
 
 #include "WM_api.h"
 #include "WM_types.h"
@@ -150,6 +151,14 @@ static char *rna_ColorRamp_path(PointerRNA *ptr)
                                        return BLI_strdup("specular_ramp");
                        }
                        break;
+
+                       case ID_LS:
+                       {
+                               char *path = FRS_path_from_ID_to_color_ramp((FreestyleLineStyle *)id, (ColorBand *)ptr->data);
+                               if (path)
+                                       return path;
+                       }
+                               break;
                }
        }
        
@@ -219,6 +228,20 @@ static char *rna_ColorRampElement_path(PointerRNA *ptr)
                        }
                        break;
                                
+                       case ID_LS:
+                       {
+                               ListBase listbase;
+                               LinkData *link;
+
+                               FRS_list_modifier_color_ramps((FreestyleLineStyle *)id, &listbase);
+                               for (link = (LinkData *)listbase.first; link; link = link->next) {
+                                       RNA_pointer_create(id, &RNA_ColorRamp, link->data, &ramp_ptr);
+                                       COLRAMP_GETPATH;
+                               }
+                               BLI_freelistN(&listbase);
+                       }
+                               break;
+
                        default: /* everything else should have a "color_ramp" property */
                        {
                                /* create pointer to the ID block, and try to resolve "color_ramp" pointer */
@@ -270,6 +293,13 @@ static void rna_ColorRamp_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *
                                WM_main_add_notifier(NC_TEXTURE, tex);
                        }
                        break;
+                       case ID_LS:
+                       {
+                               FreestyleLineStyle *linestyle= ptr->id.data;
+
+                               WM_main_add_notifier(NC_LINESTYLE, linestyle);
+                       }
+                               break;
                        default:
                                break;
                }