HACKISH: Display chipseq peak window track
[mussa.git] / alg / glsequence.hpp
index af1e14c569e3b9dc0359005bfc2d3c8b6e5370e3..e486ca79e8096c61c0d2d45ef69e05091b0c5ba8 100644 (file)
@@ -68,6 +68,8 @@ public:
   static ColorRef default_gene_color();
   //! return default track color
   static ColorRef default_track_color();
+  //! return default chipseq color
+  static ColorRef default_chipseq_color();
   
   //! return our annotation color mapper
   AnnotationColorsRef colorMapper() { return color_mapper; }
@@ -86,7 +88,7 @@ public:
   //! get our right (horizontal) coordinate (size-x)
   float right() const;
   //! how long is our sequence track? (computed from the sequence)
-  GLfloat size() const;
+  Sequence::size_type size() const;
  
   //! return the left (lowest) base index that is fully visible
   Sequence::size_type leftbase(GLfloat left) const;
@@ -110,7 +112,7 @@ public:
   static GLfloat pixelWidth(GLfloat, GLfloat, int);
 
   //! are we close enough that it would make sense to view the base pairs?
-  bool is_sequence_renderable(GLfloat left, GLfloat right) const;
+  static bool is_sequence_renderable(GLfloat left, GLfloat right);
   //! are we close enough that it would make sense to view the base pairs?
   /*! though we don't actually check to see if there's sequence in our
    *  view, just that there's enough pixels to render something if 
@@ -120,13 +122,12 @@ public:
    *             coordinates
    *  \param[in] pixel_width allow setting the current viewport pixel width
    */
-  bool is_sequence_renderable(GLfloat, GLfloat, int) const;
+  static bool is_sequence_renderable(GLfloat, GLfloat, int);
 
   friend bool operator==(const GlSequence &left, const GlSequence &right);
 
 protected:
   AnnotationColorsRef color_mapper;
-  const GLfloat char_pix_per_world_unit;
 
   //! initalize a SeqSpanRef covering start, count
   SeqSpanRef make_drawable_annotation(
@@ -145,6 +146,10 @@ protected:
   void draw_sequence(GLfloat, GLfloat) const;
 };
 
-void draw_track(SeqSpanRef ref, float left, float right);
+//! draw sequence track when we're far enough out not to see the AGCTs. 
+void draw_summarized_track(SeqSpanRef ref, float left, float right);
+//! draw a 1/4 width centered track 
 void draw_narrow_track(SeqSpanRef ref, float left, float right);
+//! draw a chipseq peak window track 
+void draw_chipseq_window(SeqSpanRef ref, float left, float right);
 #endif