af461ddaef211c16a3ca52913df3f4c9a95ed48d
kate
  Thu Sep 12 13:38:55 2019 -0700
Extend labelOnFeature setting to support dense mode w/o labels (as usual in our tracks). Using this feature in chromatin state tracks. refs #24128

diff --git src/hg/hgTracks/hgTracks.h src/hg/hgTracks/hgTracks.h
index f26bc35..7ac76f5 100644
--- src/hg/hgTracks/hgTracks.h
+++ src/hg/hgTracks/hgTracks.h
@@ -259,30 +259,31 @@
      * and it should be assumed that it might only remain valid for a short
      * period of time.*/
 
     int loadTime;	/* Time it takes to load (for performance tuning) */
     int drawTime;	/* Time it takes to draw (for performance tuning) */
 
     enum enumBool remoteDataSource; /* The data for this track is from a remote source */
                    /* Slow retrieval means image can be rendered via an AJAX callback. */
     boolean customTrack; /* Need to explicitly declare this is a custom track */
     boolean syncChildVisToSelf;	/* If TRUE sync visibility to of children to self. */
     char *networkErrMsg;        /* Network layer error message */
     boolean parallelLoading;    /* If loading in parallel, usually network resources. */
     struct bbiSummaryElement *summary;  /* for bigBed */
     struct bbiSummaryElement *sumAll;   /* for bigBed */
     boolean drawLabelInBox;     /* draw labels into the features instead of next to them */
+    boolean drawLabelInBoxNotDense;    /* don't draw labels in dense mode, (needed only when drawLabelInBox set */
     
     struct track *nextWindow;   /* Same track in next window's track list. */
     struct track *prevWindow;   /* Same track in prev window's track list. */
 
     // Fixed-width non-proportional tracks
     void (*nonPropDrawItemAt)(struct track *tg, void *item, struct hvGfx *hvg,
         int xOff, int yOff, double scale,
 	MgFont *font, Color color, enum trackVisibility vis);
     /* Draw a single Non-proportional fixed-width item.  Such as gtexGene.
      * This is method is optional, but if it's here
      * then you can plug in genericDrawItems into the drawItems,
      * which takes care of all sorts of things including packing. */
 
     int (*nonPropPixelWidth)(struct track *tg, void *item);
     /* Return the width in pixels of the non-proportional part of track, e.g. gtexGene graphic */