GPencil UI: Color swatches for both Stroke and Fill colors are now shown
[blender.git] / source / blender / makesrna / intern / rna_gpencil.c
index 96d02016336661c2938a6c893b1f80704c8158ac..6b61b37ce5ce67d217a543c3a9b7c382754e2a2e 100644 (file)
@@ -104,6 +104,24 @@ static void rna_GPencilLayer_line_width_range(PointerRNA *ptr, int *min, int *ma
        }
 }
 
+static int rna_GPencilLayer_is_stroke_visible_get(PointerRNA *ptr)
+{
+       /* see drawgpencil.c -> gp_draw_data_layers() for more details
+        * about this limit for showing/not showing
+        */
+       bGPDlayer *gpl = (bGPDlayer *)ptr->data;
+       return (gpl->color[3] > 0.001f);
+}
+
+static int rna_GPencilLayer_is_fill_visible_get(PointerRNA *ptr)
+{
+       /* see drawgpencil.c -> gp_draw_data_layers() for more details
+        * about this limit for showing/not showing
+        */
+       bGPDlayer *gpl = (bGPDlayer *)ptr->data;
+       return (gpl->fill[3] > 0.001f);
+}
+
 static PointerRNA rna_GPencil_active_layer_get(PointerRNA *ptr)
 {
        bGPdata *gpd = ptr->id.data;
@@ -764,6 +782,17 @@ static void rna_def_gpencil_layer(BlenderRNA *brna)
        RNA_def_property_update(prop, NC_GPENCIL | ND_DATA, "rna_GPencil_update");
        
        
+       /* Read-only state props (for simpler UI code) */
+       prop = RNA_def_property(srna, "is_stroke_visible", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_funcs(prop, "rna_GPencilLayer_is_stroke_visible_get", NULL);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_ui_text(prop, "Is Stroke Visible", "True when opacity of stroke is set high enough to be visible");
+       
+       prop = RNA_def_property(srna, "is_fill_visible", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_funcs(prop, "rna_GPencilLayer_is_fill_visible_get", NULL);
+       RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+       RNA_def_property_ui_text(prop, "Is Fill Visible", "True when opacity of fill is set high enough to be visible");
+       
        /* Layers API */
        func = RNA_def_function(srna, "clear", "rna_GPencil_layer_clear");
        RNA_def_function_ui_description(func, "Remove all the grease pencil layer data");