projects
/
synfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use Color::is_straight(). Also, re-enable the optimization for straight blending...
[synfig.git]
/
synfig-studio
/
trunk
/
src
/
gtkmm
/
renderer_timecode.cpp
diff --git
a/synfig-studio/trunk/src/gtkmm/renderer_timecode.cpp
b/synfig-studio/trunk/src/gtkmm/renderer_timecode.cpp
index
56be96b
..
48cc42b
100644
(file)
--- a/
synfig-studio/trunk/src/gtkmm/renderer_timecode.cpp
+++ b/
synfig-studio/trunk/src/gtkmm/renderer_timecode.cpp
@@
-1,11
+1,12
@@
/* === S Y N F I G ========================================================= */
/* === S Y N F I G ========================================================= */
-/*! \file
templat
e.cpp
+/*! \file
renderer_timecod
e.cpp
** \brief Template File
**
** \brief Template File
**
-** $Id
: renderer_timecode.cpp,v 1.1.1.1 2005/01/07 03:34:36 darco Exp
$
+** $Id$
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+** Copyright (c) 2007 Chris Moore
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
@@
-35,6
+36,9
@@
#include <pangomm/context.h>
#include <pango/pango.h>
#include "app.h"
#include <pangomm/context.h>
#include <pango/pango.h>
#include "app.h"
+#include <cassert>
+
+#include "general.h"
#endif
#endif
@@
-74,22
+78,22
@@
Renderer_Timecode::get_grid_size()const
void
Renderer_Timecode::render_vfunc(
const Glib::RefPtr<Gdk::Drawable>& drawable,
void
Renderer_Timecode::render_vfunc(
const Glib::RefPtr<Gdk::Drawable>& drawable,
- const Gdk::Rectangle&
expose_area
+ const Gdk::Rectangle&
/*expose_area*/
)
{
assert(get_work_area());
if(!get_work_area())
return;
)
{
assert(get_work_area());
if(!get_work_area())
return;
-
+
//const synfig::RendDesc &rend_desc(get_work_area()->get_canvas()->rend_desc());
//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());
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);
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
// Calculate the window coordinates of the top-left
// corner of the canvas.
// const synfig::Vector::value_type
@@
-108,9
+112,9
@@
Renderer_Timecode::render_vfunc(
// const int
// w(get_w()),
// h(get_h());
// const int
// w(get_w()),
// h(get_h());
-
+
Glib::RefPtr<Gdk::GC> gc(Gdk::GC::create(drawable));
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 grid_size(get_grid_size());
// const synfig::Vector::value_type window_startx(get_work_area()->get_window_tl()[0]);
@@
-121,11
+125,11
@@
Renderer_Timecode::render_vfunc(
Canvas::Handle canvas(get_work_area()->get_canvas());
synfig::Time cur_time(canvas->get_time());
Canvas::Handle canvas(get_work_area()->get_canvas());
synfig::Time cur_time(canvas->get_time());
-
+
// Print out the timecode
{
Glib::RefPtr<Pango::Layout> layout(Pango::Layout::create(get_work_area()->get_pango_context()));
// Print out the timecode
{
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
/* Glib::ustring timecode(cur_time.get_string(rend_desc.get_frame_rate(),App::get_time_format()));
try
@@
-138,20
+142,28
@@
Renderer_Timecode::render_vfunc(
return;
gc->set_rgb_fg_color(Gdk::Color("#000000"));
}
return;
gc->set_rgb_fg_color(Gdk::Color("#000000"));
}
-
- layout->set_text(timecode);
+
+ layout->set_text(timecode);
*/
gc->set_rgb_fg_color(Gdk::Color("#5f0000"));
try
{
*/
gc->set_rgb_fg_color(Gdk::Color("#5f0000"));
try
{
- layout->set_text(canvas->keyframe_list().find(cur_time)->get_description());
+ int w, h;
+ layout->set_text(canvas->keyframe_list().find(cur_time)->get_description());
+ layout->get_size(w, h);
+ get_work_area()->timecode_width = int(w*1.0/Pango::SCALE);
+ get_work_area()->timecode_height = int(h*1.0/Pango::SCALE);
}
catch(synfig::Exception::NotFound)
{
}
catch(synfig::Exception::NotFound)
{
+ get_work_area()->timecode_width = get_work_area()->timecode_height = 0;
return;
}
return;
}
-
+ catch(...) {
+ assert(0);
+ }
+
drawable->draw_layout(gc, 4, 4, layout);
drawable->draw_layout(gc, 4, 4, layout);
- }
+ }
}
}