Merge pull request #1255 from tsoding/1253

(#1253) Let subtract tool cut out a window inside of a platform
master
Alexey Kutepov 2020-02-09 02:19:58 +07:00 committed by GitHub
commit c20e7c4c62
1 changed files with 10 additions and 8 deletions

View File

@ -354,11 +354,15 @@ static int rect_layer_event_idle(RectLayer *layer,
Color *colors = (Color*)layer->colors.data;
if (layer->selection >= 0 &&
layer->selection == rect_at_position &&
(layer->resize_mask = calc_resize_mask(
vec((float) event->button.x, (float)event->button.y),
camera_rect(camera, rects[layer->selection])))) {
if (layer->subtract_enabled) {
layer->state = RECT_LAYER_SUBTRACT;
layer->create_begin = position;
layer->create_end = position;
} else if (layer->selection >= 0 &&
layer->selection == rect_at_position &&
(layer->resize_mask = calc_resize_mask(
vec((float) event->button.x, (float)event->button.y),
camera_rect(camera, rects[layer->selection])))) {
layer->state = RECT_LAYER_RESIZE;
dynarray_copy_to(&layer->rects, &layer->inter_rect, (size_t) layer->selection);
} else if (rect_at_position >= 0) {
@ -376,9 +380,7 @@ static int rect_layer_event_idle(RectLayer *layer,
layer->selection = rect_at_position;
if (layer->selection < 0) {
layer->state = layer->subtract_enabled
? RECT_LAYER_SUBTRACT
: RECT_LAYER_CREATE;
layer->state = RECT_LAYER_CREATE;
layer->create_begin = position;
layer->create_end = position;
}