[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52074] trunk/blender/source/blender/ editors/mesh/editmesh_tools.c: Bevel: patch from Thomas Beck fixes numeric offset input and adds wheel input for number of segments .
Howard Trickey
howard.trickey at gmail.com
Sat Nov 10 14:59:47 CET 2012
Revision: 52074
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52074
Author: howardt
Date: 2012-11-10 13:59:45 +0000 (Sat, 10 Nov 2012)
Log Message:
-----------
Bevel: patch from Thomas Beck fixes numeric offset input and adds wheel input for number of segments.
Modified Paths:
--------------
trunk/blender/source/blender/editors/mesh/editmesh_tools.c
Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c 2012-11-10 13:53:58 UTC (rev 52073)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c 2012-11-10 13:59:45 UTC (rev 52074)
@@ -4627,19 +4627,16 @@
static char str[] = "Confirm: Enter/LClick, Cancel: (Esc/RMB), offset: %s, segments: %d";
#else
static char str[] = "Confirm: Enter/LClick, Cancel: (Esc/RMB), factor: %s, Use Dist (D): %s: Use Even (E): %s";
+ BevelData *opdata = op->customdata;
#endif
char msg[HEADER_LENGTH];
ScrArea *sa = CTX_wm_area(C);
- BevelData *opdata = op->customdata;
if (sa) {
#ifdef NEW_BEVEL
char offset_str[NUM_STR_REP_LEN];
- if (hasNumInput(&opdata->num_input))
- outputNumInput(&opdata->num_input, offset_str);
- else
- BLI_snprintf(offset_str, NUM_STR_REP_LEN, "%f", RNA_float_get(op->ptr, "offset"));
+ BLI_snprintf(offset_str, NUM_STR_REP_LEN, "%f", RNA_float_get(op->ptr, "offset"));
BLI_snprintf(msg, HEADER_LENGTH, str,
offset_str,
RNA_int_get(op->ptr, "segments")
@@ -4940,9 +4937,21 @@
static int edbm_bevel_modal(bContext *C, wmOperator *op, wmEvent *event)
{
BevelData *opdata = op->customdata;
+ int segments = RNA_int_get(op->ptr, "segments");
if (event->val == KM_PRESS) {
/* Try to handle numeric inputs... */
+#ifdef NEW_BEVEL
+ float value;
+
+ if (handleNumInput(&opdata->num_input, event)) {
+ applyNumInput(&opdata->num_input, &value);
+ RNA_float_set(op->ptr, "offset", value);
+ edbm_bevel_calc(C, op);
+ edbm_bevel_update_header(op, C);
+ return OPERATOR_RUNNING_MODAL;
+ }
+#else
float factor;
if (handleNumInput(&opdata->num_input, event)) {
@@ -4954,6 +4963,7 @@
edbm_bevel_update_header(op, C);
return OPERATOR_RUNNING_MODAL;
}
+#endif
}
switch (event->type) {
@@ -4983,6 +4993,28 @@
edbm_bevel_exit(C, op);
return OPERATOR_FINISHED;
+#ifdef NEW_BEVEL
+ case WHEELUPMOUSE: /* change number of segments */
+ if (event->val == KM_RELEASE)
+ break;
+
+ segments++;
+ RNA_int_set(op->ptr, "segments", segments);
+ edbm_bevel_calc(C, op);
+ edbm_bevel_update_header(op, C);
+ break;
+
+ case WHEELDOWNMOUSE: /* change number of segments */
+ if (event->val == KM_RELEASE)
+ break;
+
+ segments = max_ii(segments - 1, 1);
+ RNA_int_set(op->ptr, "segments", segments);
+ edbm_bevel_calc(C, op);
+ edbm_bevel_update_header(op, C);
+ break;
+
+#else
case EKEY:
if (event->val == KM_PRESS) {
int use_even = RNA_boolean_get(op->ptr, "use_even");
@@ -5007,6 +5039,7 @@
edbm_bevel_update_header(op, C);
}
break;
+#endif
}
return OPERATOR_RUNNING_MODAL;
More information about the Bf-blender-cvs
mailing list