[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42483] trunk/blender: Fix #29432: Marquee Select Bug
Sergey Sharybin
sergey.vfx at gmail.com
Wed Dec 7 10:55:43 CET 2011
Revision: 42483
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42483
Author: nazgul
Date: 2011-12-07 09:55:37 +0000 (Wed, 07 Dec 2011)
Log Message:
-----------
Fix #29432: Marquee Select Bug
Moved tweak threshold value to user preferences
This threshold might be needed to be tweaked when working with tables, i.e.
to prevent tap+slight movement be treated as tweak event.
Modified Paths:
--------------
trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
trunk/blender/source/blender/editors/interface/resources.c
trunk/blender/source/blender/makesdna/DNA_userdef_types.h
trunk/blender/source/blender/makesrna/intern/rna_userdef.c
trunk/blender/source/blender/windowmanager/intern/wm_gesture.c
Modified: trunk/blender/release/scripts/startup/bl_ui/space_userpref.py
===================================================================
--- trunk/blender/release/scripts/startup/bl_ui/space_userpref.py 2011-12-07 09:24:45 UTC (rev 42482)
+++ trunk/blender/release/scripts/startup/bl_ui/space_userpref.py 2011-12-07 09:55:37 UTC (rev 42483)
@@ -889,6 +889,8 @@
sub.label(text="NDOF Device:")
sub.prop(inputs, "ndof_sensitivity", text="NDOF Sensitivity")
+ col.prop(inputs, "tweak_threshold")
+
row.separator()
def draw(self, context):
Modified: trunk/blender/source/blender/editors/interface/resources.c
===================================================================
--- trunk/blender/source/blender/editors/interface/resources.c 2011-12-07 09:24:45 UTC (rev 42482)
+++ trunk/blender/source/blender/editors/interface/resources.c 2011-12-07 09:55:37 UTC (rev 42483)
@@ -1715,6 +1715,8 @@
U.ndof_flag = NDOF_LOCK_HORIZON |
NDOF_SHOULD_PAN | NDOF_SHOULD_ZOOM | NDOF_SHOULD_ROTATE;
}
+ if (U.tweak_threshold == 0 )
+ U.tweak_threshold= 10;
/* funny name, but it is GE stuff, moves userdef stuff to engine */
// XXX space_set_commmandline_options();
Modified: trunk/blender/source/blender/makesdna/DNA_userdef_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_userdef_types.h 2011-12-07 09:24:45 UTC (rev 42482)
+++ trunk/blender/source/blender/makesdna/DNA_userdef_types.h 2011-12-07 09:55:37 UTC (rev 42483)
@@ -408,8 +408,10 @@
struct ColorBand coba_weight; /* from texture.h */
float sculpt_paint_overlay_col[3];
- int pad3;
+ short tweak_threshold;
+ short pad3;
+
char author[80]; /* author name for file formats supporting it */
} UserDef;
Modified: trunk/blender/source/blender/makesrna/intern/rna_userdef.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_userdef.c 2011-12-07 09:24:45 UTC (rev 42482)
+++ trunk/blender/source/blender/makesrna/intern/rna_userdef.c 2011-12-07 09:55:37 UTC (rev 42483)
@@ -2929,6 +2929,11 @@
RNA_def_property_range(prop, 3, 40);
RNA_def_property_ui_text(prop, "Drag Threshold", "Amount of pixels you have to drag before dragging UI items happens");
+ prop= RNA_def_property(srna, "tweak_threshold", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "tweak_threshold");
+ RNA_def_property_range(prop, 3, 1024);
+ RNA_def_property_ui_text(prop, "Tweak Threshold", "Number of pixels you have to drag before tweak event is triggered");
+
/* 3D mouse settings */
/* global options */
prop= RNA_def_property(srna, "ndof_sensitivity", PROP_FLOAT, PROP_NONE);
Modified: trunk/blender/source/blender/windowmanager/intern/wm_gesture.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_gesture.c 2011-12-07 09:24:45 UTC (rev 42482)
+++ trunk/blender/source/blender/windowmanager/intern/wm_gesture.c 2011-12-07 09:55:37 UTC (rev 42483)
@@ -124,14 +124,13 @@
/* tweak and line gestures */
-#define TWEAK_THRESHOLD 10
int wm_gesture_evaluate(wmGesture *gesture)
{
if(gesture->type==WM_GESTURE_TWEAK) {
rcti *rect= gesture->customdata;
int dx= rect->xmax - rect->xmin;
int dy= rect->ymax - rect->ymin;
- if(ABS(dx)+ABS(dy) > TWEAK_THRESHOLD) {
+ if(ABS(dx)+ABS(dy) > U.tweak_threshold) {
int theta= (int)floor(4.0f*atan2f((float)dy, (float)dx)/(float)M_PI + 0.5f);
int val= EVT_GESTURE_W;
More information about the Bf-blender-cvs
mailing list