bb7c285d51eabd45fe7fbb3ae297acd0324915b7
kent
  Tue Apr 19 15:09:50 2011 -0700
Refactoring in hopes of making auto-scale work as you'd hope with multiwigs.  That still isn't there, this is just preliminaries.
diff --git src/hg/hgTracks/hgTracks.h src/hg/hgTracks/hgTracks.h
index 5950efa..b7d27b8 100644
--- src/hg/hgTracks/hgTracks.h
+++ src/hg/hgTracks/hgTracks.h
@@ -141,33 +141,37 @@
     	char *itemName, char *mapItemName, int start, int end,
 	int x, int y, int width, int height);
     /* Write out image mapping for a given item */
 
     boolean hasUi;	/* True if has an extended UI page. */
     void *extraUiData;	/* Pointer for track specific filter etc. data. */
 
     void (*trackFilter)(struct track *tg);
     /* Stuff to handle user interface parts. */
 
     void *customPt;  /* Misc pointer variable unique to track. */
     int customInt;   /* Misc int variable unique to track. */
     int subType;     /* Variable to say what subtype this is for similar tracks
 	              * to share code. */
 
+    /* Stuff for the various wig incarnations - sample, wig, bigWig */
     float minRange, maxRange;	  /*min and max range for sample tracks 0.0 to 1000.0*/
     float scaleRange;             /* What to scale samples by to get logical 0-1 */
     double graphUpperLimit, graphLowerLimit;	/* Limits of actual data in window for wigs. */
+    struct preDrawContainer *preDrawContainer;  /* Numbers to graph in wig, one per pixel */
+    void (*wigLoadPreDraw)(struct track *tg, int seqStart, int seqEnd, int width);  
+    /* Do bits that load the predraw buffer.  Called to set preDrawContainer */
 
     struct bbiFile *bbiFile;	/* Associated bbiFile for bigWig or bigBed. */
 
     int bedSize;		/* Number of fields if a bed file. */
     boolean isBigBed;		/* If a bed, is it a bigBed? */
 
     boolean isRemoteSql;	/* Is using a remote mySQL connection. */
     char *remoteSqlHost;	/* Host machine name for remote DB. */
     char *remoteSqlUser;	/* User name for remote DB. */
     char *remoteSqlPassword;	/* Password for remote DB. */
     char *remoteSqlDatabase;	/* Database in remote DB. */
     char *remoteSqlTable;	/* Table name in remote DB. */
 
     char *otherDb;		/* Other database for an axt track. */