Commit: 44479daa2f2304e5c4ca432dd5f6070a14f5c415
Author: Antonio Vazquez
Date:   Tue Aug 8 20:29:04 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB44479daa2f2304e5c4ca432dd5f6070a14f5c415

UI: Reorganize Stroke style panel

===================================================================

M       release/scripts/startup/bl_ui/properties_grease_pencil_common.py
M       source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
M       source/blender/draw/engines/gpencil/gpencil_engine.c
M       source/blender/editors/gpencil/drawgpencil.c
M       source/blender/makesdna/DNA_brush_types.h
M       source/blender/makesrna/intern/rna_palette.c

===================================================================

diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py 
b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
index 5077cb43f44..ee440c347b3 100644
--- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
+++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
@@ -1413,22 +1413,22 @@ class GreasePencilPaletteStrokePanel:
         col.enabled = not pcolor.lock
         col.prop(pcolor, "stroke_style", text="")
 
-        row = layout.row()
-        row.enabled = not pcolor.lock and (pcolor.use_texture is False or 
pcolor.use_pattern is True)
-        col = row.column(align=True)
-        col.prop(pcolor, "color", text="")
-        col.prop(pcolor, "alpha", slider=True)
+        if pcolor.stroke_style == 'TEXTURE':
+            row = layout.row()
+            row.enabled = not pcolor.lock
+            col = row.column(align=True)
+            col.template_ID(pcolor, "stroke_image", open="image.open")
+            col.prop(pcolor, "use_pattern", text="Use as Pattern")
 
-        row = layout.row(align=True)
-        row.enabled = not pcolor.lock
-        row.prop(pcolor, "use_texture", text="Texture")
+        if pcolor.stroke_style == 'SOLID' or pcolor.use_pattern is True:
+            row = layout.row()
+            col = row.column(align=True)
+            col.prop(pcolor, "color", text="")
+            col.prop(pcolor, "alpha", slider=True)
 
-        row = layout.row()
+        row = layout.row(align=True)
         row.enabled = not pcolor.lock
-        col = row.column(align=True)
-        col.enabled = pcolor.use_texture
-        col.template_ID(pcolor, "stroke_image", open="image.open")
-        col.prop(pcolor, "use_pattern", text="Use as Pattern")
+        row.prop(pcolor, "use_dot", text="Dots")
 
         # Options
         row = layout.row()
diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c 
b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
index f590084f91c..8a598be0476 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
@@ -341,13 +341,11 @@ DRWShadingGroup 
*DRW_gpencil_shgroup_stroke_create(GPENCIL_e_data *e_data, GPENC
 
                stl->shgroups[id].stroke_style = palcolor->stroke_style;
                stl->shgroups[id].color_type = GPENCIL_COLOR_SOLID;
-               if (palcolor->flag & PAC_COLOR_TEXTURE) {
+               if (palcolor->stroke_style == STROKE_STYLE_TEXTURE) {
+                       stl->shgroups[id].color_type = GPENCIL_COLOR_TEXTURE;
                        if (palcolor->flag & PAC_COLOR_PATTERN) {
                                stl->shgroups[id].color_type = 
GPENCIL_COLOR_PATTERN;
                        }
-                       else {
-                               stl->shgroups[id].color_type = 
GPENCIL_COLOR_TEXTURE;
-                       }
                }
                DRW_shgroup_uniform_int(grp, "color_type", 
&stl->shgroups[id].color_type, 1);
        }
@@ -368,7 +366,7 @@ DRWShadingGroup 
*DRW_gpencil_shgroup_stroke_create(GPENCIL_e_data *e_data, GPENC
        }
 
        /* image texture for pattern */
-       if ((palcolor) && (palcolor->flag & (PAC_COLOR_TEXTURE | 
PAC_COLOR_PATTERN))) {
+       if ((palcolor) && (palcolor->stroke_style == STROKE_STYLE_TEXTURE)) {
                ImBuf *ibuf;
                Image *image = palcolor->sima;
                ImageUser iuser = { NULL };
@@ -421,13 +419,11 @@ DRWShadingGroup 
*DRW_gpencil_shgroup_point_create(GPENCIL_e_data *e_data, GPENCI
 
                stl->shgroups[id].stroke_style = palcolor->stroke_style;
                stl->shgroups[id].color_type = GPENCIL_COLOR_SOLID;
-               if (palcolor->flag & PAC_COLOR_TEXTURE) {
+               if (palcolor->stroke_style == STROKE_STYLE_TEXTURE) {
+                       stl->shgroups[id].color_type = GPENCIL_COLOR_TEXTURE;
                        if (palcolor->flag & PAC_COLOR_PATTERN) {
                                stl->shgroups[id].color_type = 
GPENCIL_COLOR_PATTERN;
                        }
-                       else {
-                               stl->shgroups[id].color_type = 
GPENCIL_COLOR_TEXTURE;
-                       }
                }
                DRW_shgroup_uniform_int(grp, "color_type", 
&stl->shgroups[id].color_type, 1);
 
@@ -449,7 +445,7 @@ DRWShadingGroup 
*DRW_gpencil_shgroup_point_create(GPENCIL_e_data *e_data, GPENCI
        }
 
        /* image texture */
-       if ((palcolor) && (palcolor->flag & (PAC_COLOR_TEXTURE | 
PAC_COLOR_PATTERN))) {
+       if ((palcolor) && (palcolor->stroke_style == STROKE_STYLE_TEXTURE)) {
                ImBuf *ibuf;
                Image *image = palcolor->sima;
                ImageUser iuser = { NULL };
@@ -556,7 +552,7 @@ static void gpencil_add_stroke_shgroup(GpencilBatchCache 
*cache, DRWShadingGroup
        CLAMP_MIN(sthickness, 1);
        if (cache->is_dirty) {
                gpencil_batch_cache_check_free_slots(ob, gpd);
-               if ((gps->totpoints > 1) && (gps->palcolor->stroke_style != 
STROKE_STYLE_VOLUMETRIC)) {
+               if ((gps->totpoints > 1) && ((gps->palcolor->flag & 
PAC_COLOR_DOT) == 0)) {
                        cache->batch_stroke[cache->cache_idx] = 
DRW_gpencil_get_stroke_geom(gpf, gps, sthickness, ink);
                }
                else {
@@ -662,7 +658,7 @@ static void gpencil_draw_strokes(GpencilBatchCache *cache, 
GPENCIL_e_data *e_dat
                }
 #endif
                int id = stl->storage->shgroup_id;
-               if ((gps->totpoints > 1) && (gps->palcolor->stroke_style != 
STROKE_STYLE_VOLUMETRIC)) {
+               if ((gps->totpoints > 1) && ((gps->palcolor->flag & 
PAC_COLOR_DOT) == 0)) {
                        if (gps->totpoints > 2) {
                                stl->shgroups[id].shgrps_fill = 
DRW_gpencil_shgroup_fill_create(e_data, vedata, psl->stroke_pass, 
e_data->gpencil_fill_sh, gpd, gps->palcolor, id);
                        }
@@ -724,7 +720,7 @@ void DRW_gpencil_populate_buffer_strokes(void *vedata, 
ToolSettings *ts, bGPdata
                        /* if only one point, don't need to draw buffer because 
the user has no time to see it */
                        if (gpd->sbuffer_size > 1) {
                                /* use unit matrix because the buffer is in 
screen space and does not need conversion */
-                               if (gpd->bstroke_style != 
STROKE_STYLE_VOLUMETRIC) {
+                               if ((gpd->sflag & PAC_COLOR_DOT) == 0) {
                                        stl->g_data->batch_buffer_stroke = 
DRW_gpencil_get_buffer_stroke_geom(gpd, stl->storage->unit_matrix, lthick);
                                }
                                else {
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c 
b/source/blender/draw/engines/gpencil/gpencil_engine.c
index 9044549a702..811730ea5e0 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -203,16 +203,12 @@ static void GPENCIL_cache_init(void *vedata)
                PaletteColor *palcolor = BKE_palette_color_get_active(palette);
                if (palcolor) {
                        stl->storage->stroke_style = palcolor->stroke_style;
-                       if (palcolor->flag & PAC_COLOR_TEXTURE) {
+                       stl->storage->color_type = GPENCIL_COLOR_SOLID;
+                       if (palcolor->stroke_style == STROKE_STYLE_TEXTURE) {
+                               stl->storage->color_type = 
GPENCIL_COLOR_TEXTURE;
                                if (palcolor->flag & PAC_COLOR_PATTERN) {
                                        stl->storage->color_type = 
GPENCIL_COLOR_PATTERN;
                                }
-                               else {
-                                       stl->storage->color_type = 
GPENCIL_COLOR_TEXTURE;
-                               }
-                       }
-                       else {
-                               stl->storage->color_type = GPENCIL_COLOR_SOLID;
                        }
                }
                else { 
@@ -223,7 +219,7 @@ static void GPENCIL_cache_init(void *vedata)
                psl->drawing_pass = DRW_pass_create("Gpencil Drawing Pass", 
DRW_STATE_WRITE_COLOR | DRW_STATE_BLEND);
                stl->g_data->shgrps_drawing_fill = 
DRW_gpencil_shgroup_drawing_fill_create(psl->drawing_pass, 
e_data.gpencil_drawing_fill_sh);
 
-               if (stl->storage->stroke_style != STROKE_STYLE_VOLUMETRIC) {
+               if ((palcolor) && (palcolor->flag & PAC_COLOR_DOT) == 0) {
                        stl->g_data->shgrps_drawing_stroke = 
DRW_gpencil_shgroup_stroke_create(&e_data, vedata, psl->drawing_pass, 
e_data.gpencil_stroke_sh, NULL, NULL, palcolor, -1);
                }
                else {
diff --git a/source/blender/editors/gpencil/drawgpencil.c 
b/source/blender/editors/gpencil/drawgpencil.c
index 5a0733048c0..64ed6153294 100644
--- a/source/blender/editors/gpencil/drawgpencil.c
+++ b/source/blender/editors/gpencil/drawgpencil.c
@@ -1092,7 +1092,7 @@ static void gp_draw_strokes(
                                        copy_v4_v4(ink, tcolor);
                                }
                        }
-                       if (palcolor->stroke_style & STROKE_STYLE_VOLUMETRIC) {
+                       if (palcolor->flag & PAC_COLOR_DOT) {
                                /* volumetric stroke drawing */
                                gp_draw_stroke_volumetric_3d(gps->points, 
gps->totpoints, sthickness, ink);
                        }
@@ -1156,7 +1156,7 @@ static void gp_draw_strokes(
                                        copy_v4_v4(ink, tcolor);
                                }
                        }
-                       if (palcolor->stroke_style & STROKE_STYLE_VOLUMETRIC) {
+                       if (palcolor->flag & PAC_COLOR_DOT) {
                                /* blob/disk-based "volumetric" drawing */
                                gp_draw_stroke_volumetric_2d(gps->points, 
gps->totpoints, sthickness, dflag, gps->flag,
                                                             offsx, offsy, 
winx, winy, diff_mat, ink);
@@ -1537,7 +1537,7 @@ static void gp_draw_data_layers(
                         * It should also be noted that sbuffer contains 
temporary point types
                         * i.e. tGPspoints NOT bGPDspoints
                         */
-                       if (gpd->bstroke_style & STROKE_STYLE_VOLUMETRIC) {
+                       if (gpd->sflag & PAC_COLOR_DOT) {
                                gp_draw_stroke_volumetric_buffer(gpd->sbuffer, 
gpd->sbuffer_size, lthick,
                                                                 dflag, 
gpd->scolor);
                        }
diff --git a/source/blender/makesdna/DNA_brush_types.h 
b/source/blender/makesdna/DNA_brush_types.h
index 29f42153b27..43ca8a9ef7c 100644
--- a/source/blender/makesdna/DNA_brush_types.h
+++ b/source/blender/makesdna/DNA_brush_types.h
@@ -178,8 +178,8 @@ typedef enum ePaletteColor_Flag {
        PAC_COLOR_TEX_MIX = (1 << 5),
        /* Flip fill colors */
        PAC_COLOR_FLIP_FILL = (1 << 6),
-       /* Stroke use Texture */
-       PAC_COLOR_TEXTURE = (1 << 7),
+       /* Stroke use Dots */
+       PAC_COLOR_DOT = (1 << 7),
        /* Texture is a pattern */
        PAC_COLOR_PATTERN = (1 << 8)
 } ePaletteColor_Flag;
@@ -380,7 +380,7 @@ typedef enum BlurKernelType {
 
 /* Grease Pencil Stroke styles */
 #define STROKE_STYLE_SOLID     0
-#define STROKE_STYLE_VOLUMETRIC        1
+#define STROKE_STYLE_TEXTURE 1
 
 /* Grease Pencil Fill styles */
 #define FILL_STYLE_SOLID       0
diff --git a/source/blender/makesrna/intern/rna_palette.c 
b/source/blender/makesrna/intern/rna_palette.c
index 04544c2db1d..181542d1047 100644
--- a/source/blender/makesrna/intern/rna_palette.c
+++ b/source/blender/makesrna/intern/rna_palette.c
@@ -221,7 +221,7 @@ static void rna_def_palettecolor(BlenderRNA *brna)
        /* stroke styles */
        static EnumPropertyItem stroke_style_items[] = {
                { STROKE_STYLE_SOLID, "SOLID", 0, "Solid", "Draw strokes with 
solid color" },
-               { STROKE_STYLE_VOLUMETRIC, "VOLUMETRIC", 0, "Dot", "Draw 
strokes with dots" },
+               { STROKE_STYLE_TEXTURE, "TEXTURE", 0, "Texture", "Draw strokes 
using texture" },
                { 0, NULL, 0, NULL, NULL }
        };
 

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to