00f964165ca3cef379e600e38bdb8d6f959723d9 braney Mon Jan 23 12:03:26 2023 -0800 first cut at a demo of squishyPack mode. diff --git src/hg/hgTracks/hgTracks.h src/hg/hgTracks/hgTracks.h index d05c922..27735eb 100644 --- src/hg/hgTracks/hgTracks.h +++ src/hg/hgTracks/hgTracks.h @@ -287,30 +287,31 @@ 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 */ 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. */ }; 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; @@ -395,30 +396,31 @@ void *extra; /* Extra info that varies with type. */ void *original; /* The structure that was converted into this (when needed later). */ struct itemAttr *itemAttr; /* itemAttr object for this lf, or NULL */ unsigned highlightColor; /* highlight color,0 if no highlight */ enum highlightMode highlightMode; /* highlight mode,0 if no highlight */ char* mouseOver; /* mouse over text */ char* cds; /* CDS in NCBI format */ #ifdef USE_HAL boolean isHalSnake; struct hal_target_dupe_list_t *dupeList; #endif boolean isBigGenePred; char *label; /* Label for bigBeds. */ int qSize; /* Query size for chain/bigChain */ + double squishyPackVal; /* the squishyPoint value for this item. */ }; struct linkedFeaturesSeries /* series of linked features that are comprised of multiple linked features */ { struct linkedFeaturesSeries *next; char *name; /* name for series of linked features */ int start, end; /* Start/end in browser coordinates. */ int orientation; /* Orientation. */ int grayIx; /* Gray index (average of features) */ boolean noLine; /* if true don't draw line connecting features */ struct linkedFeatures *features; /* linked features for a series */ }; struct knownGenesExtra