bounding box fix while copying objects done in r1224 was not correct. Object rotation fixed now
This commit is contained in:
parent
7da61bc054
commit
1055fdbf36
|
|
@ -176,11 +176,13 @@ void update_symbol_bboxes(int rot, int flip)
|
||||||
for(i=0;i<lastsel;i++)
|
for(i=0;i<lastsel;i++)
|
||||||
{
|
{
|
||||||
n = selectedgroup[i].n;
|
n = selectedgroup[i].n;
|
||||||
|
dbg(0, "update_symbol_bboxes(): i=%d, lastsel=%d, n=%d\n", i, lastsel, n);
|
||||||
|
dbg(0, "update_symbol_bboxes(): symbol flip=%d, rot=%d\n", xctx->inst[n].flip, xctx->inst[n].rot);
|
||||||
if(selectedgroup[i].type == ELEMENT) {
|
if(selectedgroup[i].type == ELEMENT) {
|
||||||
save_flip = xctx->inst[n].flip;
|
save_flip = xctx->inst[n].flip;
|
||||||
save_rot = xctx->inst[n].rot;
|
save_rot = xctx->inst[n].rot;
|
||||||
xctx->inst[n].flip = flip ^ xctx->inst[n].flip;
|
xctx->inst[n].flip = flip ^ xctx->inst[n].flip;
|
||||||
xctx->inst[n].rot = (xctx->inst[n].rot + ( flip && (xctx->inst[n].rot & 1) ) ? rot+2 : rot) &0x3;
|
xctx->inst[n].rot = (xctx->inst[n].rot + rot) & 0x3;
|
||||||
symbol_bbox(n, &xctx->inst[n].x1, &xctx->inst[n].y1, &xctx->inst[n].x2, &xctx->inst[n].y2 );
|
symbol_bbox(n, &xctx->inst[n].x1, &xctx->inst[n].y1, &xctx->inst[n].x2, &xctx->inst[n].y2 );
|
||||||
xctx->inst[n].rot = save_rot;
|
xctx->inst[n].rot = save_rot;
|
||||||
xctx->inst[n].flip = save_flip;
|
xctx->inst[n].flip = save_flip;
|
||||||
|
|
@ -535,7 +537,7 @@ void copy_objects(int what)
|
||||||
my_strdup(225, &str, user_conf_dir);
|
my_strdup(225, &str, user_conf_dir);
|
||||||
my_strcat(226, &str, "/.selection.sch");
|
my_strcat(226, &str, "/.selection.sch");
|
||||||
xunlink(str);
|
xunlink(str);
|
||||||
update_symbol_bboxes(move_rot, move_flip);
|
update_symbol_bboxes(0, 0);
|
||||||
my_free(818, &str);
|
my_free(818, &str);
|
||||||
}
|
}
|
||||||
if(what & RUBBER) /* draw objects while moving */
|
if(what & RUBBER) /* draw objects while moving */
|
||||||
|
|
@ -1036,6 +1038,7 @@ void move_objects(int what, int merge, double dx, double dy)
|
||||||
{
|
{
|
||||||
int firsti, firstw;
|
int firsti, firstw;
|
||||||
int save_draw;
|
int save_draw;
|
||||||
|
|
||||||
save_draw = draw_window;
|
save_draw = draw_window;
|
||||||
draw_window=1; /* temporarily re-enable draw to window together with pixmap */
|
draw_window=1; /* temporarily re-enable draw to window together with pixmap */
|
||||||
draw_selection(gctiled,0);
|
draw_selection(gctiled,0);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue