Author: Nikita Kitaev <nikita...@gmail.com> Date: Mon Mar 21 15:22:09 2011 -0700
Render timecode using cairo --- .../src/gui/workarearenderer/renderer_timecode.cpp | 63 +++----------------- 1 files changed, 9 insertions(+), 54 deletions(-) diff --git a/synfig-studio/src/gui/workarearenderer/renderer_timecode.cpp b/synfig-studio/src/gui/workarearenderer/renderer_timecode.cpp index 48cc42b..f1e6338 100644 --- a/synfig-studio/src/gui/workarearenderer/renderer_timecode.cpp +++ b/synfig-studio/src/gui/workarearenderer/renderer_timecode.cpp @@ -85,43 +85,9 @@ Renderer_Timecode::render_vfunc( if(!get_work_area()) return; - //const synfig::RendDesc &rend_desc(get_work_area()->get_canvas()->rend_desc()); - const synfig::Vector focus_point(get_work_area()->get_focus_point()); - - //std::vector< std::pair<Glib::RefPtr<Gdk::Pixbuf>,int> >& tile_book(get_tile_book()); - - int drawable_w,drawable_h; - drawable->get_size(drawable_w,drawable_h); - - // Calculate the window coordinates of the top-left - // corner of the canvas. -// const synfig::Vector::value_type -// x(focus_point[0]/get_pw()+drawable_w/2-get_w()/2), -// y(focus_point[1]/get_ph()+drawable_h/2-get_h()/2); - - /*const synfig::Vector::value_type window_startx(window_tl[0]); - const synfig::Vector::value_type window_endx(window_br[0]); - const synfig::Vector::value_type window_starty(window_tl[1]); - const synfig::Vector::value_type window_endy(window_br[1]); - */ -// const int -// tile_w(get_work_area()->get_tile_w()), -// tile_h(get_work_area()->get_tile_h()); - -// const int -// w(get_w()), -// h(get_h()); - - Glib::RefPtr<Gdk::GC> gc(Gdk::GC::create(drawable)); - - //const synfig::Vector grid_size(get_grid_size()); - -// const synfig::Vector::value_type window_startx(get_work_area()->get_window_tl()[0]); -// const synfig::Vector::value_type window_endx(get_work_area()->get_window_br()[0]); -// const synfig::Vector::value_type window_starty(get_work_area()->get_window_tl()[1]); -// const synfig::Vector::value_type window_endy(get_work_area()->get_window_br()[1]); -// const float pw(get_pw()),ph(get_ph()); + + Cairo::RefPtr<Cairo::Context> cr = drawable->create_cairo_context(); Canvas::Handle canvas(get_work_area()->get_canvas()); synfig::Time cur_time(canvas->get_time()); @@ -130,23 +96,6 @@ Renderer_Timecode::render_vfunc( { Glib::RefPtr<Pango::Layout> layout(Pango::Layout::create(get_work_area()->get_pango_context())); -/* Glib::ustring timecode(cur_time.get_string(rend_desc.get_frame_rate(),App::get_time_format())); - - try - { - timecode+="\n"+canvas->keyframe_list().find(cur_time)->get_description(); - gc->set_rgb_fg_color(Gdk::Color("#FF0000")); - } - catch(synfig::Exception::NotFound) - { - return; - gc->set_rgb_fg_color(Gdk::Color("#000000")); - } - - layout->set_text(timecode); -*/ - - gc->set_rgb_fg_color(Gdk::Color("#5f0000")); try { int w, h; @@ -164,6 +113,12 @@ Renderer_Timecode::render_vfunc( assert(0); } - drawable->draw_layout(gc, 4, 4, layout); + cr->save(); + + cr->set_source_rgb(95.0/255.0,0,0); + cr->move_to(4,4); + layout->show_in_cairo_context(cr); + + cr->restore(); } } ------------------------------------------------------------------------------ Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ Synfig-devl mailing list Synfig-devl@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synfig-devl