projects
/
synfig.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
I missed a few layers that can be used with the 'transparent + straight blend' trick...
[synfig.git]
/
synfig-core
/
trunk
/
src
/
modules
/
mod_geometry
/
rectangle.cpp
diff --git
a/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp
b/synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp
index
87b59bb
..
ab1be69
100644
(file)
--- a/
synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp
+++ b/
synfig-core/trunk/src/modules/mod_geometry/rectangle.cpp
@@
-1,6
+1,6
@@
/* === S Y N F I G ========================================================= */
/*! \file rectangle.cpp
/* === S Y N F I G ========================================================= */
/*! \file rectangle.cpp
-** \brief
Template Head
er
+** \brief
Implementation of the "Rectangle" lay
er
**
** $Id$
**
**
** $Id$
**
@@
-55,8
+55,8
@@
using namespace synfig;
SYNFIG_LAYER_INIT(Rectangle);
SYNFIG_LAYER_SET_NAME(Rectangle,"rectangle");
SYNFIG_LAYER_INIT(Rectangle);
SYNFIG_LAYER_SET_NAME(Rectangle,"rectangle");
-SYNFIG_LAYER_SET_LOCAL_NAME(Rectangle,_("Rectangle"));
-SYNFIG_LAYER_SET_CATEGORY(Rectangle,_("Geometry"));
+SYNFIG_LAYER_SET_LOCAL_NAME(Rectangle,
N
_("Rectangle"));
+SYNFIG_LAYER_SET_CATEGORY(Rectangle,
N
_("Geometry"));
SYNFIG_LAYER_SET_VERSION(Rectangle,"0.2");
SYNFIG_LAYER_SET_CVS_ID(Rectangle,"$Id$");
SYNFIG_LAYER_SET_VERSION(Rectangle,"0.2");
SYNFIG_LAYER_SET_CVS_ID(Rectangle,"$Id$");
@@
-87,7
+87,9
@@
Rectangle::Rectangle():
bool
Rectangle::set_param(const String & param, const ValueBase &value)
{
bool
Rectangle::set_param(const String & param, const ValueBase &value)
{
- IMPORT(color);
+ IMPORT_PLUS(color, { if (color.get_a() == 0) if (converted_blend_) {
+ set_blend_method(Color::BLEND_ALPHA_OVER);
+ color.set_a(1); } else transparent_color_ = true; });
IMPORT(point1);
IMPORT(point2);
IMPORT(expand);
IMPORT(point1);
IMPORT(point2);
IMPORT(expand);
@@
-490,7
+492,7
@@
Rectangle::accelerated_render(Context context,Surface *surface,int quality, cons
right = std::min(w,right);
*/
right = std::min(w,right);
*/
- // optimi
s
ation - if the whole tile is covered by this rectangle,
+ // optimi
z
ation - if the whole tile is covered by this rectangle,
// and the rectangle is a solid color, we don't need to render
// what's behind us
if (is_solid_color() && top == 0 && left == 0 && bottom == h && right == w)
// and the rectangle is a solid color, we don't need to render
// what's behind us
if (is_solid_color() && top == 0 && left == 0 && bottom == h && right == w)