Author: Yu Chen <jco...@gmail.com> Date: Wed Feb 15 16:59:47 2012 +0800
Support negative time preview, show the negative timecode in blue. --- synfig-studio/src/gui/preview.cpp | 38 ++++++++++++++++++++++-------------- 1 files changed, 23 insertions(+), 15 deletions(-) diff --git a/synfig-studio/src/gui/preview.cpp b/synfig-studio/src/gui/preview.cpp index 3f25d99..a7d6753 100644 --- a/synfig-studio/src/gui/preview.cpp +++ b/synfig-studio/src/gui/preview.cpp @@ -302,7 +302,7 @@ Widget_Preview::Widget_Preview(): adj_time_scrub(0, 0, 1000, 0, 10, 0), scr_time_scrub(adj_time_scrub), b_loop(/*_("Loop")*/), - currentindex(0), + currentindex(-100000),//TODO get the value from canvas setting or preview option audiotime(0), adj_sound(0, 0, 4), l_lasttime("0s"), @@ -671,25 +671,33 @@ bool studio::Widget_Preview::redraw(GdkEventExpose */*heh*/) cr->paint(); cr->restore(); - if(timedisp >= 0) - { - Glib::RefPtr<Pango::Layout> layout(Pango::Layout::create(get_pango_context())); - Glib::ustring timecode(Time((double)timedisp).round(preview->get_global_fps()) - .get_string(preview->get_global_fps(), - App::get_time_format())); - //synfig::info("Time for preview draw is: %s for time %g", timecode.c_str(), adj_time_scrub.get_value()); + Glib::RefPtr<Pango::Layout> layout(Pango::Layout::create(get_pango_context())); + Glib::ustring timecode(Time((double)timedisp).round(preview->get_global_fps()) + .get_string(preview->get_global_fps(), + App::get_time_format())); + //synfig::info("Time for preview draw is: %s for time %g", timecode.c_str(), adj_time_scrub.get_value()); - cr->save(); + cr->save(); - layout->set_text(timecode); + layout->set_text(timecode); - cr->set_source_rgb(1,0,0); - cr->move_to(4,4); - layout->show_in_cairo_context(cr); - cr->stroke(); + //positive time code in red + if(timedisp >= 0) + { + cr->set_source_rgb(1, 0, 0); + } - cr->restore(); + //negative time code in blue + else + { + cr->set_source_rgb(0, 0, 1); } + + cr->move_to(4,4); + layout->show_in_cairo_context(cr); + cr->stroke(); + + cr->restore(); } //synfig::warning("Refresh the draw area"); ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ Synfig-devl mailing list Synfig-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synfig-devl