Move zoom spinbox into its own widget
[mussa.git] / alg / glseqbrowser.hpp
index fe5423c7a0ff83707e7c93743a054a3e074d8c0a..a662010161c46ae089495b4397ffe01a2333085b 100644 (file)
@@ -42,16 +42,15 @@ public:
   float viewportWidth() const;
 
   //! zoom out far enough to show the full size of the sequence
-  int zoomOut();
+  double zoomOut();
   //! zoom in to a reasonable sequence view
-  int zoomToSequence();
-  //! set the current zoom level in (base pairs / pix ) * 100
-  /*! a zoomlevel of 1 is .01 base pairs per pixel or a rather exploded
-   *  100 pixels per base pair
+  double zoomToSequence();
+  //! set the current zoom level in (base pairs / pix )
+  /*! its a double as zoom levels of [0.01, 1.0] make nice sequence views
    */
-  void setZoom(int zoom_level);
+  void setZoom(double zoom_level);
   //! returns the current zoom level
-  int zoom() const;
+  double zoom() const;
 
   void setColorMapper(AnnotationColors& cm);
   AnnotationColors& colorMapper();
@@ -125,7 +124,7 @@ private:
   /*! depending on the size of our canvas, our zoom level and
    *  how far we've been offset
    */
-  void update_viewport(float center, int new_zoom);
+  void update_viewport(float center, double new_zoom);
 
   //! determine where all the tracks should be placed
   void update_layout();
@@ -152,7 +151,7 @@ private:
   point<int> viewport_size;
   //! the center of our current viewport (world coord) (used for scrollbar)
   float viewport_center;
-  int zoom_level;
+  double zoom_level;
   AnnotationColors color_mapper;
   //! container of all the GlSequences loaded into our scene
   std::vector<GlSequence> track_container;