Author: Yu Chen <[email protected]>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl