src/hg/instinct/hgBamBam/hgAnnotations.c 1.5

1.5 2010/05/31 03:02:21 jsanborn
fixed up
Index: src/hg/instinct/hgBamBam/hgAnnotations.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/instinct/hgBamBam/hgAnnotations.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -b -B -U 4 -r1.4 -r1.5
--- src/hg/instinct/hgBamBam/hgAnnotations.c	31 May 2010 00:55:19 -0000	1.4
+++ src/hg/instinct/hgBamBam/hgAnnotations.c	31 May 2010 03:02:21 -0000	1.5
@@ -416,10 +416,8 @@
 
 int pStart    = cl->pxStart;
 int baseStart = cl->baseStart;
 
-vgSetClip(vg, settings->dataOffsetX, 0, settings->dataWidth, settings->height);
-
 struct spaceNode *sn;
 for (sn = ss->nodeList; sn; sn = sn->next)
     {
     int row = sn->row * GENE_HEIGHT + settings->dataOffsetY;
@@ -433,12 +431,21 @@
     
     x1 = pixPerBase * (double) (cStart - baseStart);
     x2 = pixPerBase * (double) (cEnd - baseStart);
 
+    vgSetClip(vg, 0, 0, settings->dataWidth, settings->height);
     if (drawLabels)
+	{
+	if (x1 < settings->dataOffsetX)
+	    vgTextRight(vg, 0, row, settings->dataOffsetX, settings->fontHeight,
+			MG_BLACK, settings->font, nb->name);
+	else
 	vgTextRight(vg, 0, row, x1-2+pStart, settings->fontHeight,
 		    MG_BLACK, settings->font, nb->name);
+	}
+    vgUnclip(vg);
 
+    vgSetClip(vg, settings->dataOffsetX, 0, settings->dataWidth, settings->height);
     if ( (x2 - x1) > 2.0)
 	{ /* width > two pixels, attempt to draw exon/utr structure
 	   * similar to genome browser */
 	drawBox(vg, x1, x2, pStart, 4 + row, 1, MG_BLACK);
@@ -508,10 +515,10 @@
 	x1 = pixPerBase * (double) (cStart - baseStart);
 	x2 = pixPerBase * (double) (cEnd - baseStart);
 	drawBox(vg, x1, x2, pStart, 0 + row, 9, MG_BLACK);
 	}
+    vgUnclip(vg);
     }
-vgUnclip(vg);
 spaceSaverFree(&ss);
 } 
 
 void drawSnpTable(struct vGfx *vg, struct settings *settings,