Index: src/hg/instinct/hgBamBam/hgBamBam.h
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/instinct/hgBamBam/hgBamBam.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -b -B -U 1000000 -r1.2 -r1.3
--- src/hg/instinct/hgBamBam/hgBamBam.h	26 May 2010 05:20:33 -0000	1.2
+++ src/hg/instinct/hgBamBam/hgBamBam.h	31 May 2010 00:02:34 -0000	1.3
@@ -1,109 +1,132 @@
 /*  */
 
 #ifndef HGBAMBAM_H
 #define HGBAMBAM_H
 
 #include "cart.h"
 
 #define DEBUG 1
 #define VERSION "0.1"
 
 #define DEFAULT_LABEL_HEIGHT 10
 #define CYTO_HEIGHT 11
 
 #define DEFAULT_PLOT_WIDTH 1000
 #define DEFAULT_PLOT_HEIGHT 100
 
+#define TITLE_HEIGHT 15
+#define GUTTER_WIDTH 75
+
 /*** Prefixes for variables in cart we don't share with other apps. ***/
 #define bbPrefix "bb_"
 
 /*** Our various cart variables. ***/
 #define bbMode bbPrefix "mode"
 #define bbTableName bbPrefix "tableName"
 #define bbWidth bbPrefix "width"
 #define bbHeight bbPrefix "height"
 #define bbPos bbPrefix "pos"
+#define bbSampleName bbPrefix "sample"
 
 /** Commands from Javascript client **/
 
 /* ---- Global variables declared in hgHeatmap.c */
 extern struct cart *cart;	/* This holds cgi and other variables between clicks. */
 
 struct breaks {
     struct breaks *next;
 
     char *chrom;
     int chromStart;
     int chromEnd;
     char strand[2];
 
     char *chrom2;
     int chromStart2;
     int chromEnd2;
     char strand2[2];
     
     int support;
     float qual;
 };
 
 struct chromLay {
     struct chromLay *next;
 
     char *chrom;
     float baseStart;
     float baseEnd;
 
     float baseWidth;
     float pxWidth;
     float pxStart;
 };
 
 struct settings {
+    char *title;
     int width, height;
 
+    int dataOffsetX, dataOffsetY;
+    int dataHeight, dataWidth;
+
     double totalBases;
     float minVal, maxVal;
 
     MgFont *font;
     int fontHeight;    
 
     struct hash *layoutHash;
     struct chromLay *layoutList;
 };
 
 struct hmPixel {
     struct hmPixel *next;
     int x;
     int y;
     int w;
     int h;
 
     double val;
     int count;
 };
 
 char *cartSettingsString(char *prefix, char *functionName);
 
+void prepareImage(struct vGfx *vg, struct settings *settings);
+
 void vgMakeColorGradient(struct vGfx *vg,
 			 struct rgbColor *start, struct rgbColor *end,
 			 int steps, Color *colorIxs);
     
 
-struct settings *initSettings(struct sqlConnection *conn, char *pos,
+void drawChromLabels(struct vGfx *vg, struct settings *settings, struct chromLay *clList);
+
+void drawIdeogram(struct hvGfx *hvg, struct settings *settings, struct chromLay *clList, int yOff);
+
+Color getChromColor(struct vGfx *vg, char *chrom);
+
+void drawColorIdeogram(struct hvGfx *hvg, struct settings *settings, struct chromLay *clList, int yOff);
+
+struct settings *initSettings(struct sqlConnection *conn, char *pos, char *name,
 			      int width, int height, float minVal, float maxVal);
 
 char *copyNumberGif(struct sqlConnection *conn, struct bed *bed,
 		    struct settings *settings, char *suffix, float medVal, Color col);
 
 void trashDirMD5File(struct tempName *tn, char *dirName, char *suffix, char *strToHash);
 
 char *genomeLabelsGif(struct sqlConnection *conn, struct settings *settings);
 
 char *genomeScaleGif(struct settings *settings);
     
 char *annotationGif(struct settings *settings, char *tableName);
 
-char *breaksGif(struct sqlConnection *conn, struct breaks *breaks,
+char *intraBreaksGif(struct sqlConnection *conn, struct breaks *breaks,
 		struct settings *settings);
 
+char *interBreaksGif(struct sqlConnection *conn, struct breaks *breaks,
+		     struct settings *settings);
+
+char *snpsGif(struct settings *settings, char *tableName);
+
 #endif /* HGBAMBAM_H */

