d4e14ca0a20861998ad7c807a6b2473ade5c3c4f max Wed Jul 6 06:31:12 2022 -0700 add label hints for doWiggle and maxWindowCoverage tracks, refs #29715 diff --git src/hg/hgTracks/hgTracks.h src/hg/hgTracks/hgTracks.h index e4f5dec..1f27faa 100644 --- src/hg/hgTracks/hgTracks.h +++ src/hg/hgTracks/hgTracks.h @@ -1622,30 +1622,33 @@ /* No-op loadItems when we aren't going to try. */ void filterItems(struct track *tg, boolean (*filter)(struct track *tg, void *item), char *filterType); /* Filter out items from track->itemList. */ int gCmpPriority(const void *va, const void *vb); /* Compare groups based on priority. */ int tgCmpPriority(const void *va, const void *vb); /* Compare to sort based on priority; use shortLabel as secondary sort key. */ void printMenuBar(); /* Put up the menu bar. */ +boolean winTooBigDoWiggle(struct cart *cart, struct track *tg); +/* return true if we wiggle because the window size exceeds a certain threshold */ + boolean checkIfWiggling(struct cart *cart, struct track *tg); /* Check to see if a track should be drawing as a wiggle. */ boolean isTypeBedLike(struct track *track); /* Check if track type is BED-like packable thing (but not rmsk or joinedRmsk) */ boolean isTypeUseItemNameAsKey(struct track *track); /* Check if track type is like expRatio and key is just item name. */ boolean isTypeUseMapItemNameAsKey(struct track *track); /* Check if track type is like interact and uses map item name to link across multi regions */ void setEMGeneTrack(); /* Find the track for the gene table to use for exonMostly and geneMostly. */ @@ -1700,30 +1703,36 @@ double scale, Color color, enum trackVisibility vis); /* Draw next item buttons and map boxes */ struct spaceSaver *findSpaceSaver(struct track *tg, enum trackVisibility vis); /* Find SpaceSaver in list. Return spaceSaver found or NULL. */ void labelTrackAsFilteredNumber(struct track *tg, unsigned numOut); /* add text to track long label to indicate filter is active and how many items were deleted */ void labelTrackAsFiltered(struct track *tg); /* add text to track long label to indicate filter is active */ void labelTrackAsHideEmpty(struct track *tg); /* add text to track long label to indicate empty subtracks are hidden */ +void labelTrackAsDensity(struct track *tg); +/* Add text to track long label to indicate density mode */ + +void labelTrackAsDensityWindowSize(struct track *tg); +/* Add text to track long label to indicate density mode because window size exceeds some threshold */ + void setupHotkeys(boolean gotExtTools); /* setup keyboard shortcuts and a help dialog for it */ void calcWiggleOrdering(struct cart *cart, struct flatTracks *flatTracks); void bedPlusLabelDrawAt(struct track *tg, void *item, struct hvGfx *hvg, int xOff, int y, double scale, MgFont *font, Color color, enum trackVisibility vis); /* Draw a single bed item at position. If vis is full, draw the associated label to the left * of the item. */ Color blackItemNameColor(struct track *tg, void *item, struct hvGfx *hvg); /* Force item name (label) color to black */ void linkedFeaturesMapItem(struct track *tg, struct hvGfx *hvg, void *item, char *itemName, char *mapItemName, int start, int end,