.. | .. |
---|
2477 | 2477 | return retval; |
---|
2478 | 2478 | } |
---|
2479 | 2479 | |
---|
2480 | | - void doEditDrag(ClickInfo info) |
---|
| 2480 | + void doEditDrag(ClickInfo info, boolean opposite) |
---|
2481 | 2481 | { |
---|
2482 | 2482 | switch (doSomething) |
---|
2483 | 2483 | { |
---|
2484 | 2484 | case 1: // '\001' |
---|
2485 | 2485 | //super. |
---|
2486 | | - doEditDrag0(info); |
---|
| 2486 | + doEditDrag0(info, opposite); |
---|
2487 | 2487 | break; |
---|
2488 | 2488 | |
---|
2489 | 2489 | case 2: // '\002' |
---|
.. | .. |
---|
2496 | 2496 | { |
---|
2497 | 2497 | //sel.hitSomething = childToDrag.hitSomething; |
---|
2498 | 2498 | //childToDrag.doEditDrag(info); |
---|
2499 | | - sel.doEditDrag(info); |
---|
| 2499 | + sel.doEditDrag(info, opposite); |
---|
2500 | 2500 | } else |
---|
2501 | 2501 | { |
---|
2502 | 2502 | //super. |
---|
2503 | | - doEditDrag0(info); |
---|
| 2503 | + doEditDrag0(info, opposite); |
---|
2504 | 2504 | } |
---|
2505 | 2505 | } |
---|
2506 | 2506 | break; |
---|
.. | .. |
---|
7012 | 7012 | return true; |
---|
7013 | 7013 | } |
---|
7014 | 7014 | |
---|
7015 | | - void doEditDrag0(ClickInfo info) |
---|
| 7015 | + void doEditDrag0(ClickInfo info, boolean opposite) |
---|
7016 | 7016 | { |
---|
7017 | 7017 | if (hitSomething == 0) |
---|
7018 | 7018 | { |
---|
.. | .. |
---|
7039 | 7039 | |
---|
7040 | 7040 | scale *= 0.05f * Globals.theRenderer.RenderCamera().Distance(); |
---|
7041 | 7041 | |
---|
7042 | | - if (modified) |
---|
| 7042 | + if (modified || opposite) |
---|
7043 | 7043 | { |
---|
7044 | 7044 | //assert(false); |
---|
7045 | 7045 | /* |
---|
.. | .. |
---|
7133 | 7133 | |
---|
7134 | 7134 | if (modified) |
---|
7135 | 7135 | { |
---|
| 7136 | + // Rotate 90 degrees |
---|
7136 | 7137 | angle /= (Math.PI / 4); |
---|
7137 | 7138 | angle = Math.floor(angle + 0.5); |
---|
7138 | 7139 | angle *= (Math.PI / 4); |
---|