4b83e0cd3c28ecda13879b2c4c4a5904b8aa95ba jcasper Thu May 5 13:44:28 2016 -0700 Speeding up ORegAnno load and draw, refs #15957 diff --git src/hg/hgTracks/hgTracks.h src/hg/hgTracks/hgTracks.h index de1e5b1..8074707 100644 --- src/hg/hgTracks/hgTracks.h +++ src/hg/hgTracks/hgTracks.h @@ -124,30 +124,33 @@ int xOff, int yOff, double scale, MgFont *font, Color color, enum trackVisibility vis); /* Draw a single item. This 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 (*itemStart)(struct track *tg, void *item); /* Return start of item in base pairs. */ int (*itemEnd)(struct track *tg, void *item); /* Return end of item in base pairs. */ void (*freeItems)(struct track *tg); /* Free item list. */ + struct hash *attrTable; + /* Persistent table to speed up lookup of attributes in secondary tables (optional). */ + Color (*itemColor)(struct track *tg, void *item, struct hvGfx *hvg); /* Get color of item (optional). */ Color (*itemNameColor)(struct track *tg, void *item, struct hvGfx *hvg); /* Get color for the item's name (optional). */ Color (*itemLabelColor)(struct track *tg, void *item, struct hvGfx *hvg); /* Get color for the item's label (optional). */ void (*mapItem)(struct track *tg, struct hvGfx *hvg, void *item, char *itemName, char *mapItemName, int start, int end, int x, int y, int width, int height); /* Write out image mapping for a given item */ boolean hasUi; /* True if has an extended UI page. */