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. */