f863c012ea39c498eaf4cff84f85f92fef210c5f
jcasper
  Mon May 13 00:51:57 2019 -0700
Initial commit of Hi-C display support via .hic files, refs #18842

diff --git src/hg/inc/hicUi.h src/hg/inc/hicUi.h
new file mode 100644
index 0000000..e2f2158
--- /dev/null
+++ src/hg/inc/hicUi.h
@@ -0,0 +1,72 @@
+/* hic track UI */
+
+/* Copyright (C) 2019 The Regents of the University of California 
+ * See README in this or parent directory for licensing information. */
+
+#ifndef HIC_UI_H
+#define HIC_UI_H
+
+#include "hic.h"
+
+/* Number of bins to split score values into, also the number of gradient
+ * steps in the color values from lowest to highest.  1024 is already overkill
+ * for hex-valued colors. */
+#define HIC_SCORE_BINS              1024
+
+
+/* Cart variables */
+
+#define HIC_DRAW_MODE               "drawmode"
+#define HIC_DRAW_MODE_TRIANGLE      "triangle"
+#define HIC_DRAW_MODE_SQUARE        "square"
+#define HIC_DRAW_MODE_ARC           "arc"
+#define HIC_DRAW_MODE_DEFAULT       HIC_DRAW_MODE_SQUARE
+#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"
+
+
+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 */
+
+char *hicUiFetchResolution(struct cart *cart, char *track, struct hicMeta *meta);
+/* Return the current resolution selection, or the default if none
+ * has been selected. */
+
+char *hicUiFetchNormalization(struct cart *cart, char *track, struct hicMeta *meta);
+/* Return the current normalization selection, or the default if none
+ * has been selected.  Right now this is a hard-coded set specifically for
+ * .hic files, but in the future this list might be dynamically determined by
+ * the contents and format of the Hi-C file. */
+
+char *hicUiFetchDrawMode(struct cart *cart, char *track);
+/* Return the current draw mode selection, or the default if none
+ * has been selected. */
+
+char *hicUiFetchDrawColor(struct cart *cart, char *track);
+/* Retrieve the HTML hex code for the color to draw the
+ * track values in (e.g., #00ffa1) */
+
+char *hicUiFetchBgColor(struct cart *cart, char *track);
+/* Retrieve the HTML hex code of the background color for the 
+ * track.  This is the color associated with scores at or close to 0. */
+
+boolean hicUiFetchAutoScale(struct cart *cart, char *track);
+/* Returns whether the track is configured to automatically scale its color range
+ * depending on the scores present in the window (true), or if it should stick to a
+ * gradient based on the user's selected maximum value (false). */
+
+double  hicUiFetchMaxValue(struct cart *cart, char *track);
+/* 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. */
+
+#endif