f63a7870053591e873ee5492217294d82edd88f8
braney
  Sun Jan 14 15:13:25 2024 -0800
when a track overflows and it's a track that can do density coverage we
go straight into density coverage mode instead of reducing visibility

diff --git src/hg/hgTracks/hgTracks.h src/hg/hgTracks/hgTracks.h
index 46733f8..939bbec 100644
--- src/hg/hgTracks/hgTracks.h
+++ src/hg/hgTracks/hgTracks.h
@@ -303,30 +303,31 @@
      * 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 */
 
 
     struct slInt *labelColumns; /* The columns in a bigBed that can be used for labels. */
     boolean subTrackVisSet;     /* have we calculated visibility on this subtrack */
     boolean subTrackVis;        /* if we calculated it, what is it */
 
     struct lollyCartOptions *lollyCart;
     double squishyPackPoint;    /* the value at which we switch to squish mode. */
     char * originalTrack;       /* the name of the original track if this a pseduo-duplicate track used for squishyPack */
+    boolean limitWiggle;       /* TRUE if this track is drawing in coverage mode because of limited visibility */
     };
 
 struct window  // window in multiwindow image
     {
     struct window *next;   // Next on list.
 
     // These two were experimental and will be removed soon:
     char *organism;        /* Name of organism */
     char *database;        /* Name of database */
 
     char *chromName;
     int winStart;           // in bases
     int winEnd;
     int insideX;            // in pixels
     int insideWidth;