Browse Source

Sequencer: Tweak canvas drawing.

tags/non-daw-v1.2.0
Jonathan Moore Liles 12 years ago
parent
commit
a30d065cb7
1 changed files with 36 additions and 11 deletions
  1. +36
    -11
      sequencer/src/canvas.C

+ 36
- 11
sequencer/src/canvas.C View File

@@ -144,7 +144,7 @@ public:


tick_t new_x = c->grid()->index(); tick_t new_x = c->grid()->index();


fl_color( fl_color_add_alpha( FL_GREEN, 100 ) );
fl_color( fl_color_add_alpha( FL_RED, 100 ) );
fl_line( x() + new_x * HS, y(), x() + new_x * HS, y() + h() ); fl_line( x() + new_x * HS, y(), x() + new_x * HS, y() + h() );
} }


@@ -608,10 +608,13 @@ Canvas::draw_dash ( tick_t x, int y, tick_t w, int color, int selected ) const
/* fl_rectf( x, y + 1, w, m.div_h - 1, fl_color_add_alpha( color, 170 ) ); */ /* fl_rectf( x, y + 1, w, m.div_h - 1, fl_color_add_alpha( color, 170 ) ); */


/* fl_rect( x, y + 1, w, m.div_h - 1, selected ? FL_MAGENTA : fl_lighter( FL_BACKGROUND_COLOR )); */ /* fl_rect( x, y + 1, w, m.div_h - 1, selected ? FL_MAGENTA : fl_lighter( FL_BACKGROUND_COLOR )); */

fl_draw_box( FL_ROUNDED_BOX, x, y + 1, w, m.div_h - 1, color );
if ( selected )
fl_draw_box( FL_ROUNDED_FRAME, x, y + 1, w, m.div_h - 1, FL_MAGENTA );
if ( w > 4 )
{
fl_draw_box( FL_ROUNDED_BOX, x, y + 1, w, m.div_h - 1, color );
if ( selected )
fl_draw_box( FL_ROUNDED_FRAME, x, y + 1, w, m.div_h - 1, FL_MAGENTA );
}


// fl_color_add_alpha( color, 170 )); // fl_color_add_alpha( color, 170 ));
} }
@@ -702,7 +705,13 @@ Canvas::draw_playhead ( void )
W = m.div_w; W = m.div_w;
H = m.origin_y + m.margin_top + m.vp->h * m.div_h; H = m.origin_y + m.margin_top + m.vp->h * m.div_h;


fl_rectf( X,Y,W,H, fl_color_add_alpha( FL_RED, 127 ) );
cairo_set_operator( Fl::cairo_cc(), CAIRO_OPERATOR_HSL_COLOR );

fl_rectf( X,Y,W,H, FL_RED );

cairo_set_operator( Fl::cairo_cc(), CAIRO_OPERATOR_OVER );

fl_rect( X,Y,W,H, FL_RED );
} }


void void
@@ -733,14 +742,16 @@ Canvas::draw_clip ( int X, int Y, int W, int H )
gx < m.vp->x + m.vp->w + 200; /* hack */ gx < m.vp->x + m.vp->w + 200; /* hack */
gx++ ) gx++ )
{ {
if ( m.grid->x_to_ts( gx ) > m.grid->length() )
continue;

if ( gx % m.grid->division() == 0 ) if ( gx % m.grid->division() == 0 )
fl_color( fl_color_add_alpha( FL_GRAY, 50 ));
fl_color( fl_color_average( FL_GRAY, FL_BLACK, 0.80 ) );
else if ( gx % m.grid->subdivision() == 0 ) else if ( gx % m.grid->subdivision() == 0 )
fl_color( fl_color_add_alpha( FL_GRAY, 30 ));
fl_color( fl_color_average( FL_GRAY, FL_BLACK, 0.40 ) );
else else
continue; continue;

fl_rectf( m.origin_x + m.margin_left + ( ( gx - m.vp->x ) * m.div_w ), fl_rectf( m.origin_x + m.margin_left + ( ( gx - m.vp->x ) * m.div_w ),
m.origin_y + m.margin_top, m.origin_y + m.margin_top,
m.div_w, m.div_w,
@@ -760,12 +771,19 @@ Canvas::draw_clip ( int X, int Y, int W, int H )


/* draw grid */ /* draw grid */
fl_begin_line();
if ( m.div_w > 4 ) if ( m.div_w > 4 )
{ {
for ( int gx = m.origin_x + m.margin_left; for ( int gx = m.origin_x + m.margin_left;
gx < x() + w(); gx < x() + w();
gx += m.div_w ) gx += m.div_w )
fl_line( gx, m.origin_y + m.margin_top, gx, y() + h() );
{
// fl_line( gx, m.origin_y + m.margin_top, gx, y() + h() );
fl_vertex( gx, m.origin_y + m.margin_top );
fl_vertex( gx, y() + h() );
fl_gap();
}
} }


if ( m.div_h > 2 ) if ( m.div_h > 2 )
@@ -773,10 +791,17 @@ Canvas::draw_clip ( int X, int Y, int W, int H )
for ( int gy = m.origin_y + m.margin_top; for ( int gy = m.origin_y + m.margin_top;
gy < y() + h(); gy < y() + h();
gy += m.div_h ) gy += m.div_h )
fl_line( m.origin_x + m.margin_left, gy, x() + w(), gy );
{
// fl_line( m.origin_x + m.margin_left, gy, x() + w(), gy );
fl_vertex( m.origin_x + m.margin_left, gy );
fl_vertex( x() + w(), gy );
fl_gap();
}
} }


fl_end_line();


done:
fl_pop_clip(); fl_pop_clip();


fl_pop_clip(); fl_pop_clip();


Loading…
Cancel
Save