From d4f2abf7517f3d60ec8bf49768fe6aed4f30d764 Mon Sep 17 00:00:00 2001 From: biocrasher Date: Fri, 14 Jul 2006 08:59:43 +0000 Subject: lines bug fixed git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@5 f606c939-3180-4ac9-a4b8-4b8779d57d0a --- recordmydesktop/src/rectinsert.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'recordmydesktop/src/rectinsert.c') diff --git a/recordmydesktop/src/rectinsert.c b/recordmydesktop/src/rectinsert.c index 4caf1b8..dfe721e 100644 --- a/recordmydesktop/src/rectinsert.c +++ b/recordmydesktop/src/rectinsert.c @@ -269,6 +269,16 @@ int RectInsert(RectArea **root,WGeometry *wgeom){ int total_insertions=0; RectArea *temp,*newnode=(RectArea *)malloc(sizeof(RectArea)); + //align + //we do need to know boundaries + wgeom->width+=(wgeom->width%2)|(wgeom->x%2); + wgeom->height+=(wgeom->height%2)|(wgeom->y%2); + wgeom->width+=(wgeom->width%2); + wgeom->height+=(wgeom->height%2); + wgeom->x-=wgeom->x%2; + wgeom->y-=wgeom->y%2; +// fprintf(stderr," %d %d %d %d\n",wgeom->x, + newnode->geom.x=wgeom->x; newnode->geom.y=wgeom->y; newnode->geom.width=wgeom->width; @@ -290,7 +300,15 @@ int RectInsert(RectArea **root,WGeometry *wgeom){ if((!collres)) insert_ok=1; else{ - insert_ok=0; + for(i=0;iwidth+=(wgeom_return[i]->width%2)|(wgeom_return[i]->x%2); + wgeom_return[i]->height+=(wgeom_return[i]->height%2)|(wgeom_return[i]->y%2); + wgeom_return[i]->width+=(wgeom_return[i]->width%2); + wgeom_return[i]->height+=(wgeom_return[i]->height%2); + wgeom_return[i]->x-=wgeom_return[i]->x%2; + wgeom_return[i]->y-=wgeom_return[i]->y%2; + } + insert_ok=0; switch(collres){ case 1://remove current node,reinsert new one total_insertions--; -- cgit v1.2.1