c2e376e7b6d980f41ff903e6374378d668f11770
kate
  Thu Oct 22 14:41:52 2020 -0700
Multi-region features for sparse tracks.  With virt->multi, needs debug. refs #26385

diff --git src/hg/hgTracks/hgTracks.h src/hg/hgTracks/hgTracks.h
index 271b915..8104949 100644
--- src/hg/hgTracks/hgTracks.h
+++ src/hg/hgTracks/hgTracks.h
@@ -49,30 +49,32 @@
 /* A few hgGenome cart constant defaults copied from */
 #define hggPrefix "hgGenome_"
 #define hggGraphPrefix hggPrefix "graph"
 
 /* trackDb setting for expRatio tracks */
 #define EXP_COLOR_DENSE "expColorDense"
 
 #ifdef LOWELAB
 #define MAXPIXELS 60000
 #else
 #define MAXPIXELS 14000
 #endif
 
 #define BIGBEDMAXIMUMITEMS 100000
 
+#define MULTI_REGION_CHROM      "multi"
+
 /* for botDelay call, 10 second for warning, 20 second for immediate exit */
 #define delayFraction   0.25
 extern long enteredMainTime;
 
 #include "lolly.h"
 
 struct track
 /* Structure that displays of tracks. The central data structure
  * of the graphical genome browser. */
     {
     struct track *next;   /* Next on list. */
     char *track;             /* Track symbolic name. Name on image map etc. Same as tdb->track. */
     char *table;             /* Table symbolic name. Name of database table. Same as tdb->table.*/
     enum trackVisibility visibility; /* How much of this want to see. */
     enum trackVisibility limitedVis; /* How much of this actually see. */
@@ -557,30 +559,31 @@
 extern int rulerMode;         /* on, off, full */
 extern boolean withLeftLabels;		/* Display left labels? */
 extern boolean withCenterLabels;	/* Display center labels? */
 extern boolean withPriorityOverride;    /* enable track reordering? */
 extern boolean revCmplDisp;             /* reverse-complement display */
 extern boolean measureTiming;	/* Flip this on to display timing
                                  * stats on each track at bottom of page. */
 
 extern struct hash *hgFindMatches; /* The matches found by hgFind that should be highlighted. */
 
 extern int maxShade;		  /* Highest shade in a color gradient. */
 extern Color shadesOfGray[10+1];  /* 10 shades of gray from white to black
                                    * Red is put at end to alert overflow. */
 extern Color shadesOfBrown[10+1]; /* 10 shades of brown from tan to tar. */
 extern struct rgbColor guidelineColor;
+extern struct rgbColor lightGuidelineColor;
 extern struct rgbColor undefinedYellowColor;
 extern Color darkGreenColor;
 
 extern Color shadesOfSea[10+1];       /* Ten sea shades. */
 
 /* 16 shades from black to fully saturated of red/green/blue for
  * expression data. */
 #define EXPR_DATA_SHADES 16
 extern Color shadesOfGreen[EXPR_DATA_SHADES];
 extern Color shadesOfRed[EXPR_DATA_SHADES];
 extern Color shadesOfBlue[EXPR_DATA_SHADES];
 extern Color shadesOfYellow[EXPR_DATA_SHADES];
 
 extern Color shadesOfGreenOnWhite[EXPR_DATA_SHADES];
 extern Color shadesOfRedOnWhite[EXPR_DATA_SHADES];