Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGermano <germano.costa@ig.com.br>2018-01-23 06:00:16 +0300
committerGermano <germano.costa@ig.com.br>2018-01-23 06:00:16 +0300
commit3a712632f50875368eaccc7eaead573b732c8175 (patch)
tree5bce0a5c91b54e10288061fc1d2a8fafb0a1906c /source/blender/editors
parent1c98fbf9826b6a3909df5428831cfa426d1178e7 (diff)
parent85ca39ec4bd180420828a794bca49d5008dd5a7b (diff)
Merge branch 'master' into blender2.8
# Conflicts: # source/blender/editors/screen/screen_ops.c
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/screen/screen_ops.c99
1 files changed, 48 insertions, 51 deletions
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index fcfee8dfb2c..e1480dbe967 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -1783,54 +1783,9 @@ static int area_split_modal(bContext *C, wmOperator *op, const wmEvent *event)
/* execute the events */
switch (event->type) {
case MOUSEMOVE:
- {
- const int dir = RNA_property_enum_get(op->ptr, prop_dir);
-
- sd->delta = (dir == 'v') ? event->x - sd->origval : event->y - sd->origval;
-
- if (sd->previewmode == 0) {
- if (sd->do_snap) {
- const int snap_loc = area_snap_calc_location(
- CTX_wm_screen(C), sd->delta, sd->origval, dir, sd->bigger, sd->smaller);
- sd->delta = snap_loc - sd->origval;
- }
- area_move_apply_do(C, sd->delta, sd->origval, dir, sd->bigger, sd->smaller, false);
- }
- else {
- if (sd->sarea) {
- ED_area_tag_redraw(sd->sarea);
- }
- /* area context not set */
- sd->sarea = BKE_screen_find_area_xy(CTX_wm_screen(C), SPACE_TYPE_ANY, event->x, event->y);
-
- if (sd->sarea) {
- ScrArea *sa = sd->sarea;
- if (dir == 'v') {
- sd->origsize = sa->winx;
- sd->origmin = sa->totrct.xmin;
- }
- else {
- sd->origsize = sa->winy;
- sd->origmin = sa->totrct.ymin;
- }
-
- if (sd->do_snap) {
- sa->v1->editflag = sa->v2->editflag = sa->v3->editflag = sa->v4->editflag = 1;
-
- const int snap_loc = area_snap_calc_location(
- CTX_wm_screen(C), sd->delta, sd->origval, dir, sd->origmin + sd->origsize, -sd->origmin);
-
- sa->v1->editflag = sa->v2->editflag = sa->v3->editflag = sa->v4->editflag = 0;
- sd->delta = snap_loc - sd->origval;
- }
-
- update_factor = true;
- }
-
- CTX_wm_screen(C)->do_draw = true;
- }
+ update_factor = true;
break;
- }
+
case LEFTMOUSE:
if (sd->previewmode) {
area_split_apply(C, op);
@@ -1875,12 +1830,54 @@ static int area_split_modal(bContext *C, wmOperator *op, const wmEvent *event)
}
if (update_factor) {
- float fac = (float)(sd->delta + sd->origval - sd->origmin) / sd->origsize;
- RNA_float_set(op->ptr, "factor", fac);
+ const int dir = RNA_property_enum_get(op->ptr, prop_dir);
+
+ sd->delta = (dir == 'v') ? event->x - sd->origval : event->y - sd->origval;
+
+ if (sd->previewmode == 0) {
+ if (sd->do_snap) {
+ const int snap_loc = area_snap_calc_location(
+ CTX_wm_screen(C), sd->delta, sd->origval, dir, sd->bigger, sd->smaller);
+ sd->delta = snap_loc - sd->origval;
+ }
+ area_move_apply_do(C, sd->delta, sd->origval, dir, sd->bigger, sd->smaller, false);
+ }
+ else {
+ if (sd->sarea) {
+ ED_area_tag_redraw(sd->sarea);
+ }
+ /* area context not set */
+ sd->sarea = BKE_screen_find_area_xy(CTX_wm_screen(C), SPACE_TYPE_ANY, event->x, event->y);
+
+ if (sd->sarea) {
+ ScrArea *sa = sd->sarea;
+ if (dir == 'v') {
+ sd->origsize = sa->winx;
+ sd->origmin = sa->totrct.xmin;
+ }
+ else {
+ sd->origsize = sa->winy;
+ sd->origmin = sa->totrct.ymin;
+ }
- if (sd->sarea) {
- ED_area_tag_redraw(sd->sarea);
+ if (sd->do_snap) {
+ sa->v1->editflag = sa->v2->editflag = sa->v3->editflag = sa->v4->editflag = 1;
+
+ const int snap_loc = area_snap_calc_location(
+ CTX_wm_screen(C), sd->delta, sd->origval, dir, sd->origmin + sd->origsize, -sd->origmin);
+
+ sa->v1->editflag = sa->v2->editflag = sa->v3->editflag = sa->v4->editflag = 0;
+ sd->delta = snap_loc - sd->origval;
+ }
+
+ ED_area_tag_redraw(sd->sarea);
+ }
+
+ CTX_wm_screen(C)->do_draw = true;
}
+
+ float fac = (float)(sd->delta + sd->origval - sd->origmin) / sd->origsize;
+ RNA_float_set(op->ptr, "factor", fac);
}
return OPERATOR_RUNNING_MODAL;