75ffe3b6a127bec72fdb44290af9b98a14eb79dc
kate
  Fri Jan 11 15:27:03 2019 -0800
Partial implementation of 'centerLabelsPack' setting, to suppress center labels in pack mode (when setting is 'off').  This checkin suppresses center labels but doesn't show left labels. refs #22739

diff --git src/hg/hgTracks/hgTracks.h src/hg/hgTracks/hgTracks.h
index 228b0ce..577e88f 100644
--- src/hg/hgTracks/hgTracks.h
+++ src/hg/hgTracks/hgTracks.h
@@ -1343,36 +1343,38 @@
 /* Construct track subtrack list from trackDb entry for container tracks. */
 
 bool isSubtrackVisible(struct track *tg);
 /* Should this subtrack be displayed? */
 
 void compositeTrackVis(struct track *track);
 /* set visibilities of subtracks */
 
 boolean isWithCenterLabels(struct track *track);
 /* Special cases: inhibit center labels of subtracks in dense mode, and
  * of composite track in non-dense mode.
  * BUT if track->tdb has a centerLabelDense setting, let subtracks go with
  * the default and inhibit composite track center labels in all modes.
  * Otherwise use the global boolean withCenterLabels. */
 
-#define isCenterLabelConditional(track) \
-                        ((limitVisibility(track) == tvDense) && tdbIsCompositeChild((track)->tdb))
-// dense subtracks have conditional centerLabels
+boolean isCenterLabelConditional(struct track *track);
+/* Dense subtracks and pack subtracks (when centerLabelsPack off set)
+ *      show center labels depending on vis of previous track */
 
 boolean isCenterLabelConditionallySeen(struct track *track);
-// returns FALSE if track and prevTrack have same parent, and are both dense subtracks
+/* Returns FALSE if track and prevTrack have same parent, and are both conditional
+ * i.e. dense subtrack or pack subtrack with centerLabelsPack off set /
+ */
 
 #define isCenterLabelIncluded(track) \
                 (isWithCenterLabels(track) && (theImgBox || isCenterLabelConditionallySeen(track)))
 // Center labels may be conditionally included
 
 Color maybeDarkerLabels(struct track *track, struct hvGfx *hvg, Color color);
 /* For tracks having light track display but needing a darker label */
 
 void affyTxnPhase2Methods(struct track *track);
 /* Methods for dealing with a composite transcriptome tracks. */
 
 void loadGenePred(struct track *tg);
 /* Convert gene pred in window to linked feature. */
 
 void genePredAssignConfiguredName(struct track *tg);