diff options
Diffstat (limited to 'source/blender/editors/sculpt_paint/paint_ops.c')
-rw-r--r-- | source/blender/editors/sculpt_paint/paint_ops.c | 61 |
1 files changed, 32 insertions, 29 deletions
diff --git a/source/blender/editors/sculpt_paint/paint_ops.c b/source/blender/editors/sculpt_paint/paint_ops.c index 0f2b02ed3ab..b78c60e7964 100644 --- a/source/blender/editors/sculpt_paint/paint_ops.c +++ b/source/blender/editors/sculpt_paint/paint_ops.c @@ -90,13 +90,13 @@ static eGPBrush_Presets gpencil_get_brush_preset_from_tool(bToolRef *tool, if (STREQ(tool->runtime->data_block, "DRAW")) { return GP_BRUSH_PRESET_PENCIL; } - else if (STREQ(tool->runtime->data_block, "FILL")) { + if (STREQ(tool->runtime->data_block, "FILL")) { return GP_BRUSH_PRESET_FILL_AREA; } - else if (STREQ(tool->runtime->data_block, "ERASE")) { + if (STREQ(tool->runtime->data_block, "ERASE")) { return GP_BRUSH_PRESET_ERASER_SOFT; } - else if (STREQ(tool->runtime->data_block, "TINT")) { + if (STREQ(tool->runtime->data_block, "TINT")) { return GP_BRUSH_PRESET_TINT; } break; @@ -105,28 +105,28 @@ static eGPBrush_Presets gpencil_get_brush_preset_from_tool(bToolRef *tool, if (STREQ(tool->runtime->data_block, "SMOOTH")) { return GP_BRUSH_PRESET_SMOOTH_STROKE; } - else if (STREQ(tool->runtime->data_block, "STRENGTH")) { + if (STREQ(tool->runtime->data_block, "STRENGTH")) { return GP_BRUSH_PRESET_STRENGTH_STROKE; } - else if (STREQ(tool->runtime->data_block, "THICKNESS")) { + if (STREQ(tool->runtime->data_block, "THICKNESS")) { return GP_BRUSH_PRESET_THICKNESS_STROKE; } - else if (STREQ(tool->runtime->data_block, "GRAB")) { + if (STREQ(tool->runtime->data_block, "GRAB")) { return GP_BRUSH_PRESET_GRAB_STROKE; } - else if (STREQ(tool->runtime->data_block, "PUSH")) { + if (STREQ(tool->runtime->data_block, "PUSH")) { return GP_BRUSH_PRESET_PUSH_STROKE; } - else if (STREQ(tool->runtime->data_block, "TWIST")) { + if (STREQ(tool->runtime->data_block, "TWIST")) { return GP_BRUSH_PRESET_TWIST_STROKE; } - else if (STREQ(tool->runtime->data_block, "PINCH")) { + if (STREQ(tool->runtime->data_block, "PINCH")) { return GP_BRUSH_PRESET_PINCH_STROKE; } - else if (STREQ(tool->runtime->data_block, "RANDOMIZE")) { + if (STREQ(tool->runtime->data_block, "RANDOMIZE")) { return GP_BRUSH_PRESET_RANDOMIZE_STROKE; } - else if (STREQ(tool->runtime->data_block, "CLONE")) { + if (STREQ(tool->runtime->data_block, "CLONE")) { return GP_BRUSH_PRESET_CLONE_STROKE; } break; @@ -138,23 +138,22 @@ static eGPBrush_Presets gpencil_get_brush_preset_from_tool(bToolRef *tool, if (STREQ(tool->runtime->data_block, "DRAW")) { return GP_BRUSH_PRESET_VERTEX_DRAW; } - else if (STREQ(tool->runtime->data_block, "BLUR")) { + if (STREQ(tool->runtime->data_block, "BLUR")) { return GP_BRUSH_PRESET_VERTEX_BLUR; } - else if (STREQ(tool->runtime->data_block, "AVERAGE")) { + if (STREQ(tool->runtime->data_block, "AVERAGE")) { return GP_BRUSH_PRESET_VERTEX_AVERAGE; } - else if (STREQ(tool->runtime->data_block, "SMEAR")) { + if (STREQ(tool->runtime->data_block, "SMEAR")) { return GP_BRUSH_PRESET_VERTEX_SMEAR; } - else if (STREQ(tool->runtime->data_block, "REPLACE")) { + if (STREQ(tool->runtime->data_block, "REPLACE")) { return GP_BRUSH_PRESET_VERTEX_REPLACE; } break; } default: return GP_BRUSH_PRESET_UNKNOWN; - break; } return GP_BRUSH_PRESET_UNKNOWN; } @@ -362,7 +361,6 @@ static int palette_color_add_exec(bContext *C, wmOperator *UNUSED(op)) { Scene *scene = CTX_data_scene(C); Paint *paint = BKE_paint_get_active_from_context(C); - Brush *brush = paint->brush; ePaintMode mode = BKE_paintmode_get_active_from_context(C); Palette *palette = paint->palette; PaletteColor *color; @@ -370,17 +368,20 @@ static int palette_color_add_exec(bContext *C, wmOperator *UNUSED(op)) color = BKE_palette_color_add(palette); palette->active_color = BLI_listbase_count(&palette->colors) - 1; - if (ELEM(mode, - PAINT_MODE_TEXTURE_3D, - PAINT_MODE_TEXTURE_2D, - PAINT_MODE_VERTEX, - PAINT_MODE_SCULPT)) { - copy_v3_v3(color->rgb, BKE_brush_color_get(scene, brush)); - color->value = 0.0; - } - else if (mode == PAINT_MODE_WEIGHT) { - zero_v3(color->rgb); - color->value = brush->weight; + if (paint->brush) { + const Brush *brush = paint->brush; + if (ELEM(mode, + PAINT_MODE_TEXTURE_3D, + PAINT_MODE_TEXTURE_2D, + PAINT_MODE_VERTEX, + PAINT_MODE_SCULPT)) { + copy_v3_v3(color->rgb, BKE_brush_color_get(scene, brush)); + color->value = 0.0; + } + else if (mode == PAINT_MODE_WEIGHT) { + zero_v3(color->rgb); + color->value = brush->weight; + } } return OPERATOR_FINISHED; @@ -1455,6 +1456,7 @@ void ED_operatortypes_paint(void) /* vertex selection */ WM_operatortype_append(PAINT_OT_vert_select_all); WM_operatortype_append(PAINT_OT_vert_select_ungrouped); + WM_operatortype_append(PAINT_OT_vert_select_hide); /* vertex */ WM_operatortype_append(PAINT_OT_vertex_paint_toggle); @@ -1473,7 +1475,8 @@ void ED_operatortypes_paint(void) WM_operatortype_append(PAINT_OT_face_select_linked_pick); WM_operatortype_append(PAINT_OT_face_select_all); WM_operatortype_append(PAINT_OT_face_select_hide); - WM_operatortype_append(PAINT_OT_face_select_reveal); + + WM_operatortype_append(PAINT_OT_face_vert_reveal); /* partial visibility */ WM_operatortype_append(PAINT_OT_hide_show); |