[Bf-blender-cvs] [ebf98b4c056] greasepencil-experimental: Revert "GP: Draw: Speedline guides"
Charlie Jolly
noreply at git.blender.org
Fri Jan 4 10:47:58 CET 2019
Commit: ebf98b4c05665ccc7f9f39bfb89b3ed73561e26b
Author: Charlie Jolly
Date: Wed Jan 2 17:57:07 2019 +0000
Branches: greasepencil-experimental
https://developer.blender.org/rBebf98b4c05665ccc7f9f39bfb89b3ed73561e26b
Revert "GP: Draw: Speedline guides"
This reverts commit e83bfeab810dafb6b4963e2ce46b697cbee0701c.
===================================================================
M release/scripts/presets/keyconfig/keymap_data/blender_default.py
M release/scripts/startup/bl_ui/space_view3d.py
M source/blender/editors/gpencil/gpencil_paint.c
M source/blender/makesdna/DNA_scene_types.h
M source/blender/makesrna/intern/rna_sculpt_paint.c
===================================================================
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index e3955959a8d..3912afa8f89 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -3039,24 +3039,7 @@ def km_grease_pencil_stroke_paint_draw_brush(params):
# Erase
("gpencil.draw", {"type": 'LEFTMOUSE', "value": 'PRESS', "ctrl": True},
{"properties": [("mode", 'ERASER'), ("wait_for_input", False)]}),
- # Constrain Guides Speedlines
- # Freehand
- ("gpencil.draw", {"type": 'J', "value": 'PRESS'}, None),
- ("gpencil.draw", {"type": 'J', "value": 'PRESS', "alt": True}, None),
- ("gpencil.draw", {"type": 'J', "value": 'PRESS', "shift": True}, None),
- ("gpencil.draw", {"type": 'K', "value": 'PRESS'}, None),
- ("gpencil.draw", {"type": 'K', "value": 'PRESS', "alt": True}, None),
- ("gpencil.draw", {"type": 'K', "value": 'PRESS', "shift": True}, None),
- ("gpencil.draw", {"type": 'L', "value": 'PRESS'}, None),
- ("gpencil.draw", {"type": 'L', "value": 'PRESS', "alt": True}, None),
- ("gpencil.draw", {"type": 'L', "value": 'PRESS', "ctrl": True}, None),
- ("gpencil.draw", {"type": 'V', "value": 'PRESS'}, None),
- # Mirror or flip
- ("gpencil.draw", {"type": 'M', "value": 'PRESS'}, None),
- # Mode
- ("gpencil.draw", {"type": 'C', "value": 'PRESS'}, None),
- # Set reference point
- ("gpencil.draw", {"type": 'C', "value": 'PRESS', "alt": True}, None),
+
# Tablet Mappings for Drawing ------------------ */
# For now, only support direct drawing using the eraser, as most users using a tablet
# may still want to use that as their primary pointing device!
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index a4e0cd4a20e..47863156898 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -245,18 +245,6 @@ class VIEW3D_HT_header(Header):
text=lk_name,
icon=lk_icon,
)
-
- if object_mode in {'PAINT_GPENCIL'}:
- if context.workspace.tools.from_space_view3d_mode(object_mode).name == "Draw":
- settings = tool_settings.gpencil_sculpt
- row = layout.row(align=True)
- row.prop(settings, "use_speed_guide", text="", icon='GRID')
- sub = row.row(align=True)
- sub.enabled = settings.use_speed_guide
- sub.popover(
- panel="VIEW3D_PT_gpencil_guide",
- text="Guides"
- )
layout.separator_spacer()
@@ -5332,30 +5320,7 @@ class VIEW3D_PT_gpencil_lock(Panel):
col = row.column()
col.prop(context.tool_settings.gpencil_sculpt, "lock_axis", expand=True)
-
-class VIEW3D_PT_gpencil_guide(Panel):
- bl_space_type = 'VIEW_3D'
- bl_region_type = 'HEADER'
- bl_label = "Guides"
-
- @staticmethod
- def draw(self, context):
- settings = context.tool_settings.gpencil_sculpt
-
- layout = self.layout
- layout.label(text="Guides")
-
- row = layout.row()
- col = row.column()
- col.prop(settings, "guide_type", expand=True)
-
- row = col.row(align=True)
- row.active = bool(settings.guide_type == "PARALLEL");
- row.prop(settings, "guide_angle")
-
- col.prop(settings, "guide_flip")
-
class VIEW3D_PT_overlay_gpencil_options(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'HEADER'
@@ -5825,7 +5790,6 @@ classes = (
VIEW3D_PT_snapping,
VIEW3D_PT_gpencil_origin,
VIEW3D_PT_gpencil_lock,
- VIEW3D_PT_gpencil_guide,
VIEW3D_PT_transform_orientations,
VIEW3D_PT_overlay_gpencil_options,
VIEW3D_PT_context_properties,
diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index 20e93494fc9..2c071493fb1 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -157,7 +157,6 @@ typedef struct tGPsdata {
float mval[2]; /* current mouse-position */
float mvalo[2]; /* previous recorded mouse-position */
- float mvali[2]; /* initial recorded mouse-position */
float pressure; /* current stylus pressure */
float opressure; /* previous stylus pressure */
@@ -183,7 +182,7 @@ typedef struct tGPsdata {
Brush *brush; /* current drawing brush */
Brush *eraser; /* default eraser brush */
- short straight[2]; /* 1: line horizontal, 2: line vertical, 3: speed lines, other: not defined, second element position */
+ short straight[2]; /* 1: line horizontal, 2: line vertical, other: not defined, second element position */
int lock_axis; /* lock drawing to one axis */
bool disable_fill; /* the stroke is no fill mode */
@@ -2537,21 +2536,10 @@ static void gpencil_draw_apply(bContext *C, wmOperator *op, tGPsdata *p, Depsgra
}
}
-/* Helper to rotate point around origin */
-static void gp_rotate_v2_v2v2fl(float v[2], const float p[2], const float origin[2], const float angle)
-{
- float pt[2];
- float r[2];
- sub_v2_v2v2(pt, p, origin);
- rotate_v2_v2fl(r, pt, angle);
- add_v2_v2v2(v, r, origin);
-}
-
/* handle draw event */
static void gpencil_draw_apply_event(bContext *C, wmOperator *op, const wmEvent *event, Depsgraph *depsgraph, float x, float y)
{
tGPsdata *p = op->customdata;
- ToolSettings *ts = p->scene->toolsettings;
PointerRNA itemptr;
float mousef[2];
int tablet = 0;
@@ -2565,14 +2553,7 @@ static void gpencil_draw_apply_event(bContext *C, wmOperator *op, const wmEvent
p->shift = event->shift;
/* verify key status for straight lines */
-
- if (ts->gp_sculpt.use_speed_guide) {
- if (p->straight[0] == 0) {
- p->straight[0] = 3;
- p->straight[1] = ts->gp_sculpt.guide_type;
- }
- }
- else if ((event->alt > 0) && (RNA_boolean_get(op->ptr, "disable_straight") == false)) {
+ if ((event->alt > 0) && (RNA_boolean_get(op->ptr, "disable_straight") == false)) {
if (p->straight[0] == 0) {
int dx = (int)fabsf(p->mval[0] - p->mvalo[0]);
int dy = (int)fabsf(p->mval[1] - p->mvalo[1]);
@@ -2641,12 +2622,12 @@ static void gpencil_draw_apply_event(bContext *C, wmOperator *op, const wmEvent
if (p->flags & GP_PAINTFLAG_FIRSTRUN) {
p->flags &= ~GP_PAINTFLAG_FIRSTRUN;
- copy_v2_v2(p->mvalo, p->mval);
+ p->mvalo[0] = p->mval[0];
+ p->mvalo[1] = p->mval[1];
p->opressure = p->pressure;
p->inittime = p->ocurtime = p->curtime;
p->straight[0] = 0;
p->straight[1] = 0;
- copy_v2_v2(p->mvali, p->mval); /* save initial mouse */
/* special exception here for too high pressure values on first touch in
* windows for some tablets, then we just skip first touch...
@@ -2657,40 +2638,7 @@ static void gpencil_draw_apply_event(bContext *C, wmOperator *op, const wmEvent
/* check if alt key is pressed and limit to straight lines */
if ((p->paintmode != GP_PAINTMODE_ERASER) && (p->straight[0] != 0)) {
- if (p->straight[0] == 3) {
- /* speed_guide */
- int spdmode = p->straight[1];
- bool flip = ts->gp_sculpt.guide_flip;
- if (spdmode == 0) {
- /* speed_guide - use single origin point */
- float origin[2];
- RNA_float_get_array(op->ptr, "guide_origin", origin);
- if (!flip) {
- /* speed_guide - constrain to rings (distance from origin) */
- float distance;
- distance = len_v2v2(p->mvali, origin);
- dist_ensure_v2_v2fl(p->mval, origin, distance);
- }
- else {
- /* speed_guide - constrain in lines (direction from origin) */
- closest_to_line_v2(p->mval, p->mval, p->mvali, origin);
- }
- }
- else if (spdmode == 1) {
- /* speed_guide - use angle of direction */
- float point[2];
- float unit[2];
- float angle;
- copy_v2_v2(unit, p->mvali);
- unit[0] += 1.0f; /* start from horizontal */
- angle = ts->gp_sculpt.guide_angle;
- if (flip)
- angle += M_PI_2; /* rotate 90 degrees */
- gp_rotate_v2_v2v2fl(point, unit, p->mvali, angle);
- closest_to_line_v2(p->mval, p->mval, p->mvali, point);
- }
- }
- else if (p->straight[0] == 1) {
+ if (p->straight[0] == 1) {
/* horizontal */
p->mval[1] = p->straight[1]; /* replace y */
}
@@ -2795,74 +2743,6 @@ static int gpencil_draw_exec(bContext *C, wmOperator *op)
/* ------------------------------- */
-static void gpencil_guide_event_handling(bContext *C, wmOperator *op, const wmEvent *event, tGPsdata *p)
-{
- ToolSettings *ts = p->scene->toolsettings;
- if ((event->type == VKEY) && (event->val == KM_PRESS)) {
- /* Freehand mode, turn off speed guide */
- ts->gp_sculpt.use_speed_guide = false;
- }
- else if ((event->type == MKEY) && (event->val == KM_PRESS)) {
- /* Flip direction */
- copy_v2_v2(p->mvali, p->mval);
- ts->gp_sculpt.guide_flip ^= 1;
- }
- else if ((event->type == LKEY) && (event->val == KM_PRESS)) {
- /* Line guides */
- ts->gp_sculpt.use_speed_guide = true;
- copy_v2_v2(p->mvali, p->mval);
- if (event->ctrl) {
- ts->gp_sculpt.guide_angle = 0.0f;
- ts->gp_sculpt.guide_type = GP_GUIDE_PARALLEL;
- ts->gp_sculpt.guide_flip = 0;
- }
- else if (event->alt) {
- ts->gp_sculpt.guide_type = GP_GUIDE_PARALLEL;
- ts->gp_sculpt.guide_angle = RNA_float_get(op->ptr, "guide_last_angle");
- ts->gp_sculpt.guide_flip = 0;
- }
- else if (ts->gp_sculpt.guide_type == 1) {
- ts->gp_sculpt.guide_flip ^= 1;
- }
- else {
- ts->gp_sculpt.guide_type = GP_GUIDE_PARALLEL;
- ts->gp_sculpt.guide_flip = 0;
- }
-
- }
- else if ((event->type == CKEY) && (event->val == KM_PRESS)) {
- /* Point guide */
- ts->gp_sculpt.use_speed_guide = true;
- copy_v2_v2(p->mvali, p->mval);
- if (event->alt) {
- float origin[2];
- copy_v2fl_v2i(origin, event->mval);
- RNA_float_set_array(op->ptr, "guide_origin", origin);
- ts->gp_sculpt.guide_type = GP_GUIDE_CIRCULAR;
- ts->gp_sculpt.guide_flip = 0;
- }
- else if (ts->gp_sculpt.guide_ty
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list