11bc4be74936249529960fb3a532376779debbe5
braney
  Thu Feb 6 11:06:45 2025 -0800
add hgc support for click throughs on quickLifted custom tracks

diff --git src/hg/inc/quickLift.h src/hg/inc/quickLift.h
index e3af0e33706..4f30d2a054b 100644
--- src/hg/inc/quickLift.h
+++ src/hg/inc/quickLift.h
@@ -1,27 +1,30 @@
 /* quickLift genome annotations on the fly between assemblies using chain files */
 
 /* Copyright (C) 2023 The Regents of the University of California 
  * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */
 
 #ifndef QUICKLIFT_H      
 #define QUICKLIFT_H      
 
-typedef struct slList *(*ItemLoader)(char **row);
+typedef struct slList *(*ItemLoader2)(char **row, int numFields);
+/* Load a bed file from an SQL query result. */
 
 struct bigBedInterval *quickLiftIntervals(char *instaPortFile, struct bbiFile *bbi,   char *chrom, int start, int end, struct hash **pChainHash);
 /* Return intervals from "other" species that will map to the current window.
  * These intervals are NOT YET MAPPED to the current assembly.
  */
 
 struct bed *quickLiftBed(struct bbiFile *bbi, struct hash *chainHash, struct bigBedInterval *bb);
 /* Using chains stored in chainHash, port a bigBedInterval from another assembly to a bed
  * on the reference.
  */
 
-struct slList *quickLiftSql(struct sqlConnection *conn, char *quickLiftFile, char *table, char *chromName, int winStart, int winEnd,  char *query, char *extraWhere, ItemLoader loader, struct hash *chainHash);
+struct slList *quickLiftSql(struct sqlConnection *conn, char *quickLiftFile, char *table, char *chromName, int winStart, int winEnd,  char *query, char *extraWhere, ItemLoader2 loader, int numFields, struct hash *chainHash);
+/* Load a list of items (usually beds) from another database in a region that corresponds to chromName:winStart-winEnd in the reference database.
+ * Fill a hash with the chains that were used to map the desired range.  These chains will be used to map the query side items back to the reference. */
 
 unsigned quickLiftGetChain(char *fromDb, char *toDb);
 /* Return the id from the quickLiftChain table for given assemblies. */
 
 struct bed *quickLiftBeds(struct bed *bedList, struct hash *chainHash, boolean blocked);
 #endif