projects
/
synfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add my copyright to files I've modified.
[synfig.git]
/
synfig-core
/
trunk
/
src
/
synfig
/
layer_pastecanvas.cpp
diff --git
a/synfig-core/trunk/src/synfig/layer_pastecanvas.cpp
b/synfig-core/trunk/src/synfig/layer_pastecanvas.cpp
index
5cd4c4f
..
fdc78d2
100644
(file)
--- a/
synfig-core/trunk/src/synfig/layer_pastecanvas.cpp
+++ b/
synfig-core/trunk/src/synfig/layer_pastecanvas.cpp
@@
-2,10
+2,11
@@
/*! \file layer_pastecanvas.cpp
** \brief Template Header
**
/*! \file layer_pastecanvas.cpp
** \brief Template Header
**
-** $Id
: layer_pastecanvas.cpp,v 1.3 2005/01/24 03:08:18 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
@@
-69,11
+70,11
@@
public:
/* === G L O B A L S ======================================================= */
SYNFIG_LAYER_INIT(Layer_PasteCanvas);
/* === G L O B A L S ======================================================= */
SYNFIG_LAYER_INIT(Layer_PasteCanvas);
-SYNFIG_LAYER_SET_NAME(Layer_PasteCanvas,"PasteCanvas");
+SYNFIG_LAYER_SET_NAME(Layer_PasteCanvas,"PasteCanvas");
// todo: use paste_canvas
SYNFIG_LAYER_SET_LOCAL_NAME(Layer_PasteCanvas,_("Paste Canvas"));
SYNFIG_LAYER_SET_LOCAL_NAME(Layer_PasteCanvas,_("Paste Canvas"));
-SYNFIG_LAYER_SET_CATEGORY(Layer_PasteCanvas,_("
Default
"));
+SYNFIG_LAYER_SET_CATEGORY(Layer_PasteCanvas,_("
Other
"));
SYNFIG_LAYER_SET_VERSION(Layer_PasteCanvas,"0.1");
SYNFIG_LAYER_SET_VERSION(Layer_PasteCanvas,"0.1");
-SYNFIG_LAYER_SET_CVS_ID(Layer_PasteCanvas,"$Id
: layer_pastecanvas.cpp,v 1.3 2005/01/24 03:08:18 darco Exp
$");
+SYNFIG_LAYER_SET_CVS_ID(Layer_PasteCanvas,"$Id$");
/* === M E T H O D S ======================================================= */
/* === M E T H O D S ======================================================= */
@@
-84,7
+85,7
@@
Layer_PasteCanvas::Layer_PasteCanvas():
time_offset(0)
{
children_lock=false;
time_offset(0)
{
children_lock=false;
-
do_not_muck_with_time_=fals
e;
+
muck_with_time_=tru
e;
curr_time=Time::begin();
}
curr_time=Time::begin();
}
@@
-146,7
+147,7
@@
Layer_PasteCanvas::set_param(const String & param, const ValueBase &value)
{
IMPORT(origin);
{
IMPORT(origin);
- if(param=="canvas" && value.same_as(Canvas::Handle()))
+ if(param=="canvas" && value.same_
type_
as(Canvas::Handle()))
{
set_sub_canvas(value.get(Canvas::Handle()));
return true;
{
set_sub_canvas(value.get(Canvas::Handle()));
return true;
@@
-163,7
+164,7
@@
Layer_PasteCanvas::set_param(const String & param, const ValueBase &value)
void
Layer_PasteCanvas::set_sub_canvas(etl::handle<synfig::Canvas> x)
{
void
Layer_PasteCanvas::set_sub_canvas(etl::handle<synfig::Canvas> x)
{
- if(canvas &&
!do_not_
muck_with_time_)
+ if(canvas && muck_with_time_)
remove_child(canvas.get());
if(canvas && (canvas->is_inline() || !get_canvas() || get_canvas()->get_root()!=canvas->get_root()))
remove_child(canvas.get());
if(canvas && (canvas->is_inline() || !get_canvas() || get_canvas()->get_root()!=canvas->get_root()))
@@
-184,7
+185,7
@@
Layer_PasteCanvas::set_sub_canvas(etl::handle<synfig::Canvas> x)
if(canvas)
bounds=(canvas->get_context().get_full_bounding_rect()-canvas->rend_desc().get_focus())*exp(zoom)+origin+canvas->rend_desc().get_focus();
if(canvas)
bounds=(canvas->get_context().get_full_bounding_rect()-canvas->rend_desc().get_focus())*exp(zoom)+origin+canvas->rend_desc().get_focus();
- if(canvas &&
!do_not_
muck_with_time_)
+ if(canvas && muck_with_time_)
add_child(canvas.get());
if(canvas && (canvas->is_inline() || !get_canvas() || get_canvas()->get_root()!=canvas->get_root()))
add_child(canvas.get());
if(canvas && (canvas->is_inline() || !get_canvas() || get_canvas()->get_root()!=canvas->get_root()))
@@
-231,7
+232,7
@@
Layer_PasteCanvas::set_time(Context context, Time time)const
context.set_time(time);
if(canvas)
{
context.set_time(time);
if(canvas)
{
- canvas->set_time(time);
+ canvas->set_time(time
+time_offset
);
bounds=(canvas->get_context().get_full_bounding_rect()-canvas->rend_desc().get_focus())*exp(zoom)+origin+canvas->rend_desc().get_focus();
}
bounds=(canvas->get_context().get_full_bounding_rect()-canvas->rend_desc().get_focus())*exp(zoom)+origin+canvas->rend_desc().get_focus();
}
@@
-244,18
+245,19
@@
Layer_PasteCanvas::hit_check(synfig::Context context, const synfig::Point &pos)c
{
if(depth==MAX_DEPTH)return 0;depth_counter counter(depth);
{
if(depth==MAX_DEPTH)return 0;depth_counter counter(depth);
- Point target_pos=(pos-canvas->rend_desc().get_focus()-origin)/exp(zoom)+canvas->rend_desc().get_focus();
+ if (canvas) {
+ Point target_pos=(pos-canvas->rend_desc().get_focus()-origin)/exp(zoom)+canvas->rend_desc().get_focus();
- if(canvas && get_amount() && canvas->get_context().get_color(target_pos).get_a()>=0.25)
- {
- if(!children_lock)
+ if(canvas && get_amount() && canvas->get_context().get_color(target_pos).get_a()>=0.25)
{
{
- return canvas->get_context().hit_check(target_pos);
+ if(!children_lock)
+ {
+ return canvas->get_context().hit_check(target_pos);
+ }
+ return const_cast<Layer_PasteCanvas*>(this);
}
}
- return const_cast<Layer_PasteCanvas*>(this);
}
}
- else
- return context.hit_check(pos);
+ return context.hit_check(pos);
}
Color
}
Color
@@
-289,7
+291,7
@@
Layer_PasteCanvas::accelerated_render(Context context,Surface *surface,int quali
if(!canvas || !get_amount())
return context.accelerated_render(surface,quality,renddesc,cb);
if(!canvas || !get_amount())
return context.accelerated_render(surface,quality,renddesc,cb);
- if(
!do_not_muck_with_time_ &&
curr_time!=Time::begin() && canvas->get_time()!=curr_time+time_offset)
+ if(
muck_with_time_ &&
curr_time!=Time::begin() && canvas->get_time()!=curr_time+time_offset)
{
canvas->set_time(curr_time+time_offset);
}
{
canvas->set_time(curr_time+time_offset);
}