4fb37da049457784e11da11d9435a52e0d8ac4f7
[mussa.git] / qui / GlSequence.h
1 #ifndef _GL_SEQUENCE_H_
2 #define _GL_SEQUENCE_H_
3
4 #include "alg/sequence.hh"
5 #include <GL/gl.h>
6
7 //! Manage rendering a mussa sequence track
8 /*! The idea is this will keep track of the location of where the sequence
9  *  is being rendered, and handle displaying annotations on that track
10  */
11 class GlSequence
12 {
13 public: 
14   GlSequence(const Sequence & s);
15   GlSequence(const GlSequence & s);
16   GlSequence &operator=(const GlSequence &s);
17
18   void draw() const;
19
20   const Sequence &sequence() const;
21   void setX(GLfloat);
22   GLfloat x() const;
23   void setY(GLfloat);
24   GLfloat y() const;
25   void setWidth(GLfloat);
26   GLfloat width() const;
27
28 private:
29   const Sequence& seq;
30   GLfloat seq_x;
31   GLfloat seq_y;
32   GLfloat seq_z;
33   GLfloat seq_width;
34   GLfloat seq_height;
35 };
36
37 const float gl_track_height = 10.0;
38
39 #endif