restore_selection(): add line width to bounding box of selection to eliminate graphic artifacts

This commit is contained in:
stefan schippers 2024-02-27 16:43:49 +01:00
parent 8515f25e25
commit 0ab7affda2
2 changed files with 5 additions and 5 deletions

View File

@ -2823,7 +2823,7 @@ static void restore_selection(double x1, double y1, double x2, double y2)
rebuild_selected_array();
if(!xctx->lastsel) return;
bbox(START,0.0, 0.0, 0.0, 0.0);
bbox(ADD, xx1, yy1, xx2, yy2);
bbox(ADD, xx1-xctx->lw, yy1-xctx->lw, xx2+xctx->lw, yy2+xctx->lw);
bbox(SET,0.0, 0.0, 0.0, 0.0);
draw_selection(xctx->gc[SELLAYER], 0);
bbox(END,0.0, 0.0, 0.0, 0.0);

View File

@ -1623,7 +1623,7 @@ int rstate; /* (reduced state, without ShiftMask) */
hilight_net_pin_mismatches();
break;
}
if(key== 'W' && rstate == 0) { /* create wire snapping to closest instance pin */
if(key== 'W' /* && !xctx->ui_state */ && rstate == 0) { /* create wire snapping to closest instance pin */
double x, y;
if(xctx->semaphore >= 2) break;
if(!(xctx->ui_state & STARTWIRE)){
@ -1641,7 +1641,7 @@ int rstate; /* (reduced state, without ShiftMask) */
}
break;
}
if(key == 'w' && rstate==0) /* place wire. */
if(key == 'w' /* && !xctx->ui_state */ && rstate==0) /* place wire. */
{
int prev_state = xctx->ui_state;
if(xctx->semaphore >= 2) break;
@ -1999,7 +1999,7 @@ int rstate; /* (reduced state, without ShiftMask) */
}
break;
}
if(key=='C' && rstate == 0) /* place arc */
if(key=='C' /* && !xctx->ui_state */ && rstate == 0) /* place arc */
{
if(xctx->semaphore >= 2) break;
xctx->mx_double_save=xctx->mousex_snap;
@ -2008,7 +2008,7 @@ int rstate; /* (reduced state, without ShiftMask) */
new_arc(PLACE, 180.);
break;
}
if(key=='C' && rstate == ControlMask) /* place circle */
if(key=='C' /* && !xctx->ui_state */ && rstate == ControlMask) /* place circle */
{
if(xctx->semaphore >= 2) break;
xctx->mx_double_save=xctx->mousex_snap;