1104
1105
t->options |= CTX_EDGE;
1108
t->remove_on_cancel = false;
1110
if (op && (prop = RNA_struct_find_property(op->ptr, "remove_on_cancel")) && RNA_property_is_set(op->ptr, prop)) {
1111
if (RNA_property_boolean_get(op->ptr, prop)) {
1112
t->remove_on_cancel = true;
1108
1116
/* Assign the space type, some exceptions for running in different mode */
1109
1117
if (sa == NULL) {
1512
1520
if (t->spacetype == SPACE_IMAGE) {
1513
1521
SpaceImage *sima = (SpaceImage *)t->sa->spacedata.first;
1514
/* only space supported right now but may change */
1515
1522
if (t->options & CTX_MASK) {
1516
1523
ED_space_image_get_aspect(sima, &aspx, &aspy);
1521
1528
cursor = sima->cursor;
1530
else if (t->spacetype == SPACE_CLIP) {
1531
SpaceClip *space_clip = (SpaceClip *) t->sa->spacedata.first;
1532
if (t->options & CTX_MOVIECLIP) {
1533
ED_space_clip_get_aspect_dimension_aware(space_clip, &aspx, &aspy);
1536
ED_space_clip_get_aspect(space_clip, &aspx, &aspy);
1538
cursor = space_clip->cursor;
1525
1542
if (t->options & CTX_MASK) {
1527
1544
float frame_size[2];
1528
SpaceImage *sima = (SpaceImage *)t->sa->spacedata.first;
1529
ED_space_image_get_size_fl(sima, frame_size);
1531
BKE_mask_coord_from_frame(co, cursor, frame_size);
1533
ED_space_image_get_aspect(sima, &aspx, &aspy);
1546
if (t->spacetype == SPACE_IMAGE) {
1547
SpaceImage *sima = (SpaceImage *)t->sa->spacedata.first;
1548
ED_space_image_get_size_fl(sima, frame_size);
1549
BKE_mask_coord_from_frame(co, cursor, frame_size);
1550
ED_space_image_get_aspect(sima, &aspx, &aspy);
1552
else if (t->spacetype == SPACE_CLIP) {
1553
SpaceClip *space_clip = (SpaceClip *) t->sa->spacedata.first;
1554
ED_space_clip_get_size_fl(space_clip, frame_size);
1555
BKE_mask_coord_from_frame(co, cursor, frame_size);
1556
ED_space_clip_get_aspect(space_clip, &aspx, &aspy);
1559
BLI_assert(!"Shall not happen");
1535
1562
t->center[0] = co[0] * aspx;
1536
1563
t->center[1] = co[1] * aspy;
1609
1636
calculateCenterMedian(t);
1611
1638
case V3D_CURSOR:
1612
if (t->spacetype == SPACE_IMAGE)
1639
if (ELEM(t->spacetype, SPACE_IMAGE, SPACE_CLIP))
1613
1640
calculateCenterCursor2D(t);
1614
1641
else if (t->spacetype == SPACE_IPO)
1615
1642
calculateCenterCursorGraph2D(t);