34f380bfb0b4003a23fe2e00be6bdac6af326cda
jcasper
  Mon Dec 15 15:20:13 2025 -0800
Adding hicArcLimit and hicArcLimitEnabled settings to let people prevent excessive
arc counts from overwhelming a Hi-C display with data, refs #36774

diff --git src/hg/inc/hicUi.h src/hg/inc/hicUi.h
index 6aef58e615b..268a9285636 100644
--- src/hg/inc/hicUi.h
+++ src/hg/inc/hicUi.h
@@ -35,30 +35,32 @@
 #define HIC_DRAW_MODE_DEFAULT       HIC_DRAW_MODE_TRIANGLE
 #define HIC_DRAW_INVERTED           "inverted"
 #define HIC_NORMALIZATION           "normalization"
 #define HIC_RESOLUTION              "resolution"
 #define HIC_DRAW_AUTOSCALE          "autoscale"
 #define HIC_DRAW_MAX_VALUE          "max"
 #define HIC_DRAW_MAX_VALUE_DEFAULT  100
 #define HIC_DRAW_COLOR              "color"
 #define HIC_DRAW_BG_COLOR           "bgColor"
 /* Default to drawing red on a white background */
 #define HIC_DRAW_COLOR_DEFAULT      "#ff0000"
 #define HIC_DRAW_BG_COLOR_DEFAULT   "#ffffff"
 #define HIC_DRAW_MAX_DISTANCE       "maxDistance"
 #define HIC_DRAW_MIN_DISTANCE       "minDistance"
 
+#define HIC_ARC_LIMIT               "hicArcLimit"
+#define HIC_ARC_LIMIT_CHECKBOX      "hicArcLimitEnabled"
 
 void hicCfgUi(char *database, struct cart *cart, struct trackDb *tdb, char *track,
                         char *title, boolean boxed);
 /* Draw the list of track configuration options for Hi-C tracks */
 
 void hicCfgUiComposite(struct cart *cart, struct trackDb *tdb, char *track,
                         char *title, boolean boxed);
 /* Draw the (empty) list of track configuration options for a composite of Hi-C tracks */
 
 char *hicUiFetchResolution(struct cart *cart, struct trackDb *tdb, struct hicMeta *meta);
 /* Return the current resolution selection, or the default if none
  * has been selected. */
 
 void hicUiResolutionDropDown(struct cart *cart, struct trackDb *tdb, struct hicMeta *meta);
 /* Draw a dropdown menu in HTML to select which binSize to use for fetching data */
@@ -100,16 +102,19 @@
  * gradient based on the user's selected maximum value (false). */
 
 double  hicUiFetchMaxValue(struct cart *cart, struct trackDb *tdb);
 /* Retrieve the score value at which the draw color reaches its
  * its maximum intensity.  Any scores above this value will
  * share that same draw color. */
 
 double hicUiMaxInteractionRange(struct cart *cart, struct trackDb *tdb);
 /* Retrieve the maximum range for an interaction to be drawn.  Range is
  * calculated from the left-most start to the right-most end of the interaction. */
 
 double hicUiMinInteractionRange(struct cart *cart, struct trackDb *tdb);
 /* Retrieve the minimum range for an interaction to be drawn.  Range is
  * calculated from the left-most start to the right-most end of the interaction. */
 
+int hicUiGetArcLimit(struct cart *cart, struct trackDb *tdb);
+boolean hicUiArcLimitEnabled(struct cart *cart, struct trackDb *tdb);
+
 #endif