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