diff --git a/src/include/ZMap/zmapStyle.h b/src/include/ZMap/zmapStyle.h
index 705e87d7e8e82909ba4ea0377de6f990dd4c1515..8d7d526cc37d65e70248930882ccdfd83788adc6 100755
--- a/src/include/ZMap/zmapStyle.h
+++ b/src/include/ZMap/zmapStyle.h
@@ -26,9 +26,9 @@
  * Description: Style and Style set handling functions.
  *
  * HISTORY:
- * Last edited: Jun 25 14:51 2008 (rds)
+ * Last edited: Aug 29 11:43 2008 (edgrif)
  * Created: Mon Feb 26 09:28:26 2007 (edgrif)
- * CVS info:   $Id: zmapStyle.h,v 1.23 2008-06-25 13:59:24 rds Exp $
+ * CVS info:   $Id: zmapStyle.h,v 1.24 2008-09-24 14:31:50 edgrif Exp $
  *-------------------------------------------------------------------
  */
 #ifndef ZMAP_STYLE_H
@@ -61,6 +61,16 @@ _(ZMAPSTYLE_COLDISPLAY_SHOW,)	   /**< Always show. */
 ZMAP_DEFINE_ENUM(ZMapStyleColumnDisplayState, ZMAP_STYLE_COLUMN_DISPLAY_LIST);
 
 
+#define ZMAP_STYLE_3_FRAME_LIST(_)                                                                \
+_(ZMAPSTYLE_3_FRAME_INVALID,)			  /**< invalid mode  */	                          \
+_(ZMAPSTYLE_3_FRAME_ALWAYS,)      		  /**< Display normally and as 3 cols in 3 frame mode. */ \
+_(ZMAPSTYLE_3_FRAME_ONLY_3,)		          /**< Only dislay in 3 frame mode as 3 cols. */ \
+_(ZMAPSTYLE_3_FRAME_ONLY_1,)		          /**< Only display in 3 frame mode as 1 col. */
+
+ZMAP_DEFINE_ENUM(ZMapStyle3FrameMode, ZMAP_STYLE_3_FRAME_LIST);
+
+
+
 /* Specifies the style of graph. */
 #define ZMAP_STYLE_GRAPH_MODE_LIST(_)                                 \
 _(ZMAPSTYLE_GRAPH_INVALID,)	/**< Initial setting. */              \
@@ -125,31 +135,30 @@ _(ZMAPOVERLAP_COMPLETE,)	/* draw on top - default */                          \
 _(ZMAPOVERLAP_OVERLAP,)		/* bump if feature coords overlap. */                \
 _(ZMAPOVERLAP_POSITION,)        /* bump if features start at same coord. */          \
 _(ZMAPOVERLAP_NAME,)		/* one column per homol target */                    \
-_(ZMAPOVERLAP_COMPLEX,)		/* all features with same name in a                  
-				   single column, several names in one               
-				   column but no 2 features overlap. */              \
-_(ZMAPOVERLAP_COMPLEX_RANGE,)	/* All features with same name in a                  
-				   single column if they overlap the                 
-				   focus range, all other features in                
-				   a single column.  */                              \
-_(ZMAPOVERLAP_NO_INTERLEAVE,)	/* all features with same name in a                  
-				   single column, several names in one               
-				   column but no interleaving of sets                
-				   of features. */                                   \
-_(ZMAPOVERLAP_ENDS_RANGE,)	/* Sort by 5' and 3' best/biggest                    
-				   matches, one match per column, very               
-				   fmap like but better... */                        \
-_(ZMAPOVERLAP_COMPLEX_LIMIT,)	/* Constrain matches to be colinear                  
-				   within range or are truncated. */                 \
-_(ZMAPOVERLAP_OSCILLATE,)       /* Oscillate between one column and another...       
+_(ZMAPOVERLAP_OSCILLATE,)       /* Oscillate between one column and another...       \ 
 				   Useful for displaying tile paths. */              \
 _(ZMAPOVERLAP_ITEM_OVERLAP,)    /* bump if item coords overlap in canvas space... */ \
 _(ZMAPOVERLAP_SIMPLE,)	        /* one column per feature, for testing... */         \
-_(ZMAPOVERLAP_END,)
+_(ZMAPOVERLAP_ENDS_RANGE,)	/* Sort by 5' and 3' best/biggest                    \
+				   matches, one match per column, very               \
+				   fmap like but better... */                        \
+_(ZMAPOVERLAP_COMPLEX_INTERLEAVE,)/* all features with same name in a                  \
+				   single sub-column, several names in one               \
+				   column but no 2 features overlap. */              \
+_(ZMAPOVERLAP_COMPLEX_NO_INTERLEAVE,)	/* as ZMAPOVERLAP_COMPLEX but no interleaving of \
+					   features with different names. */		\
+_(ZMAPOVERLAP_COMPLEX_RANGE,)	/* All features with same name in a                  \
+				   single column if they overlap the                 \
+				   'mark' range, all other features in                \
+				   a single column.  */                              \
+  _(ZMAPOVERLAP_COMPLEX_LIMIT,)	/* As ZMAPOVERLAP_COMPLEX_RANGE but constrain matches \
+				   to be colinear within range or are truncated. */ 
+
 
 ZMAP_DEFINE_ENUM(ZMapStyleOverlapMode, ZMAP_STYLE_OVERLAP_MODE_LIST) ;
 
-#define ZMAPOVERLAP_START ZMAPOVERLAP_INVALID
+#define ZMAPOVERLAP_START ZMAPOVERLAP_COMPLETE
+#define ZMAPOVERLAP_END ZMAPOVERLAP_COMPLEX_LIMIT
 
 
 /* Note the naming here in the macros. ZMAP_TYPE_FEATURE_TYPE_STYLE seemed confusing... */
@@ -196,12 +205,14 @@ void zMapStyleDestroy(ZMapFeatureTypeStyle style);
 
 
 gboolean zMapStyleNameCompare(ZMapFeatureTypeStyle style, char *name) ;
-gboolean zMapStyleDisplayValid(ZMapFeatureTypeStyle style, GError **error) ;
 gboolean zMapStyleIsTrueFeature(ZMapFeatureTypeStyle style) ;
 GQuark zMapStyleGetID(ZMapFeatureTypeStyle style) ;
 GQuark zMapStyleGetUniqueID(ZMapFeatureTypeStyle style) ;
 char *zMapStyleGetDescription(ZMapFeatureTypeStyle style) ;
 
+gboolean zMapStyleIsDrawable(ZMapFeatureTypeStyle style, GError **error) ;
+void zMapStyleMakeDrawable(ZMapFeatureTypeStyle style) ;
+
 gboolean zMapStyleGetColoursCDSDefault(ZMapFeatureTypeStyle style, 
 				       GdkColor **background, GdkColor **foreground, GdkColor **outline) ;
 gboolean zMapStyleIsColour(ZMapFeatureTypeStyle style, ZMapStyleDrawContext colour_context) ;
@@ -227,20 +238,28 @@ gboolean zMapStyleIsDirectionalEnd(ZMapFeatureTypeStyle style) ;
 
 void zMapStyleSetDisplayable(ZMapFeatureTypeStyle style, gboolean displayable) ;
 gboolean zMapStyleIsDisplayable(ZMapFeatureTypeStyle style) ;
+
 void zMapStyleSetDeferred(ZMapFeatureTypeStyle style, gboolean displayable) ;
 gboolean zMapStyleIsDeferred(ZMapFeatureTypeStyle style) ;
+void zMapStyleSetLoaded(ZMapFeatureTypeStyle style, gboolean deferred) ;
+gboolean zMapStyleIsLoaded(ZMapFeatureTypeStyle style) ;
+
 void zMapStyleSetDisplay(ZMapFeatureTypeStyle style, ZMapStyleColumnDisplayState col_show) ;
 ZMapStyleColumnDisplayState zMapStyleGetDisplay(ZMapFeatureTypeStyle style) ;
 gboolean zMapStyleIsHidden(ZMapFeatureTypeStyle style) ;
 
-
 void zMapStyleSetShowWhenEmpty(ZMapFeatureTypeStyle style, gboolean show_when_empty) ;
 gboolean zMapStyleGetShowWhenEmpty(ZMapFeatureTypeStyle style);
 
-
-gboolean zMapStyleIsFrameSpecific(ZMapFeatureTypeStyle style) ;
+void zMapStyleSetStrandSpecific(ZMapFeatureTypeStyle type, gboolean strand_specific) ;
+void zMapStyleSetStrandShowReverse(ZMapFeatureTypeStyle type, gboolean show_reverse) ;
+void zMapStyleSetFrameSpecific(ZMapFeatureTypeStyle type, ZMapStyle3FrameMode frame_mode) ;
+void zMapStyleGetStrandAttrs(ZMapFeatureTypeStyle type,
+			     gboolean *strand_specific, gboolean *show_rev_strand, ZMapStyle3FrameMode *frame_mode) ;
 gboolean zMapStyleIsStrandSpecific(ZMapFeatureTypeStyle style) ;
 gboolean zMapStyleIsShowReverseStrand(ZMapFeatureTypeStyle style) ;
+gboolean zMapStyleIsFrameSpecific(ZMapFeatureTypeStyle style) ;
+gboolean zMapStyleIsFrameOneColumn(ZMapFeatureTypeStyle style) ;
 
 double zMapStyleGetWidth(ZMapFeatureTypeStyle style) ;
 double zMapStyleGetMaxScore(ZMapFeatureTypeStyle style) ;
@@ -279,12 +298,6 @@ gboolean zMapStyleFormatMode(char *mode_str, ZMapStyleMode *mode_out) ;
 
 void zMapStyleSetScore(ZMapFeatureTypeStyle style, double min_score, double max_score) ;
 void zMapStyleSetGraph(ZMapFeatureTypeStyle style, ZMapStyleGraphMode mode, double min, double max, double baseline) ;
-void zMapStyleSetStrandAttrs(ZMapFeatureTypeStyle type,
-			     gboolean strand_specific, gboolean frame_specific,
-			     gboolean show_rev_strand, gboolean show_as_3_frame) ;
-void zMapStyleGetStrandAttrs(ZMapFeatureTypeStyle type,
-			     gboolean *strand_specific, gboolean *frame_specific,
-			     gboolean *show_rev_strand, gboolean *show_as_3_frame) ;
 void zMapStyleSetEndStyle(ZMapFeatureTypeStyle style, gboolean directional) ;
 
 void zMapStyleSetGappedAligns(ZMapFeatureTypeStyle style, gboolean parse_gaps, unsigned int within_align_error) ;
@@ -297,9 +310,6 @@ gboolean zMapStyleIsParseGaps(ZMapFeatureTypeStyle style) ;
 gboolean zMapStyleIsAlignGaps(ZMapFeatureTypeStyle style) ;
 void zMapStyleSetAlignGaps(ZMapFeatureTypeStyle style, gboolean show_gaps) ;
 
-
-
-
 void zMapStyleSetGlyphMode(ZMapFeatureTypeStyle style, ZMapStyleGlyphMode glyph_mode) ;
 
 char *zMapStyleCreateName(char *style_name) ;
@@ -313,7 +323,9 @@ gboolean zMapFeatureTypeSetAugment(GData **current, GData **new) ;
 
 void zMapStyleInitOverlapMode(ZMapFeatureTypeStyle style, 
 			      ZMapStyleOverlapMode default_overlap_mode, ZMapStyleOverlapMode curr_overlap_mode) ;
+void zMapStyleSetBumpSpace(ZMapFeatureTypeStyle style, double bump_spacing) ;
 void zMapStyleSetBump(ZMapFeatureTypeStyle type, char *bump) ;
+double zMapStyleGetBumpSpace(ZMapFeatureTypeStyle style) ;
 ZMapStyleOverlapMode zMapStyleGetOverlapMode(ZMapFeatureTypeStyle style) ;
 void zMapStyleSetOverlapMode(ZMapFeatureTypeStyle style, ZMapStyleOverlapMode overlap_mode) ;
 ZMapStyleOverlapMode zMapStyleResetOverlapMode(ZMapFeatureTypeStyle style) ;