Browse Source

Make timeline use an overlay window.

tags/non-daw-v1.1.0
Jonathan Moore Liles 17 years ago
parent
commit
25561b328d
3 changed files with 26 additions and 4 deletions
  1. +22
    -3
      Timeline.C
  2. +3
    -1
      Timeline.H
  3. +1
    -0
      main.C

+ 22
- 3
Timeline.C View File

@@ -65,12 +65,13 @@ cb_vscroll ( Fl_Widget *w, void *v )
} }




Timeline::Timeline ( int X, int Y, int W, int H, const char* L ) : Fl_Group( X, Y, W, H, L )
Timeline::Timeline ( int X, int Y, int W, int H, const char* L ) : Fl_Overlay_Window( X, Y, W, H, L )
{ {


box( FL_FLAT_BOX ); box( FL_FLAT_BOX );
xoffset = 0; xoffset = 0;


X = Y = 0;
{ {
Scalebar *o = new Scalebar( X, Y + H - 18, W - 18, 18 ); Scalebar *o = new Scalebar( X, Y + H - 18, W - 18, 18 );


@@ -327,7 +328,9 @@ Timeline::draw ( void )
// ( damage() & ( FL_DAMAGE_CHILD | FL_DAMAGE_SCROLL ) ) ) // ( damage() & ( FL_DAMAGE_CHILD | FL_DAMAGE_SCROLL ) ) )
{ {


draw_box( box(), x(), y(), w(), h(), color() );
// draw_box( box(), x(), y(), w(), h(), color() );

draw_box( box(), 0, 0, w(), h(), color() );


fl_push_clip( x(), rulers->y(), w(), rulers->h() ); fl_push_clip( x(), rulers->y(), w(), rulers->h() );
draw_child( *rulers ); draw_child( *rulers );
@@ -340,6 +343,7 @@ Timeline::draw ( void )
draw_child( *hscroll ); draw_child( *hscroll );
draw_child( *vscroll ); draw_child( *vscroll );


redraw_overlay();
return; return;
} }


@@ -394,6 +398,21 @@ Timeline::draw ( void )
} }
} }


void
Timeline::draw_overlay ( void )
{

// TODO: draw selection rectangle here!


/* fl_color( FL_BLUE ); */
/* fl_line_style( FL_DOT, 4 ); */

/* fl_rect( 300, 400, 200, 300 ); */

/* fl_line_style( FL_SOLID, 0 ); */

}


int int
Timeline::handle ( int m ) Timeline::handle ( int m )
@@ -408,6 +427,6 @@ Timeline::handle ( int m )
return vscroll->handle( m ); return vscroll->handle( m );
} }
default: default:
return Fl_Group::handle( m );
return Fl_Overlay_Window::handle( m );
} }
} }

+ 3
- 1
Timeline.H View File

@@ -23,6 +23,7 @@
#include <FL/Fl_Pack.H> #include <FL/Fl_Pack.H>
#include <FL/Fl_Scrollbar.H> #include <FL/Fl_Scrollbar.H>
#include <FL/Fl_Widget.H> #include <FL/Fl_Widget.H>
#include <Fl/Fl_Overlay_Window.H>


#include "Scalebar.H" #include "Scalebar.H"


@@ -48,7 +49,7 @@ class Time_Track;
#include <list> #include <list>
using std::list; using std::list;


struct Timeline : public Fl_Group
struct Timeline : public Fl_Overlay_Window
{ {


static void draw_clip ( void * v, int X, int Y, int W, int H ); static void draw_clip ( void * v, int X, int Y, int W, int H );
@@ -111,6 +112,7 @@ struct Timeline : public Fl_Group
void draw_measure_lines ( int X, int Y, int W, int H, Fl_Color color ); void draw_measure_lines ( int X, int Y, int W, int H, Fl_Color color );
void position ( int X ); void position ( int X );
void draw ( void ); void draw ( void );
void draw_overlay ( void );
int handle ( int m ); int handle ( int m );


}; };

+ 1
- 0
main.C View File

@@ -21,6 +21,7 @@
#include <FL/Fl.H> #include <FL/Fl.H>
#include <FL/Fl_Window.H> #include <FL/Fl_Window.H>
#include <FL/Fl_Double_Window.H> #include <FL/Fl_Double_Window.H>
#include <FL/Fl_Overlay_Window.H>
#include <FL/Fl_Scroll.H> #include <FL/Fl_Scroll.H>
// #include <FL/Fl_Scrollbar.H> // #include <FL/Fl_Scrollbar.H>
#include <FL/Fl_Pack.H> #include <FL/Fl_Pack.H>


Loading…
Cancel
Save