Revision: 2329
http://synfig.svn.sourceforge.net/synfig/?rev=2329&view=rev
Author: dooglus
Date: 2009-01-13 15:44:10 +0000 (Tue, 13 Jan 2009)
Log Message:
-----------
Fix 2502818: Noise when refresh an imported image layer.
Modified Paths:
--------------
synfig-core/trunk/src/synfig/layer_bitmap.cpp
synfig-core/trunk/src/synfig/layer_bitmap.h
Modified: synfig-core/trunk/src/synfig/layer_bitmap.cpp
===================================================================
--- synfig-core/trunk/src/synfig/layer_bitmap.cpp 2009-01-13 06:03:12 UTC
(rev 2328)
+++ synfig-core/trunk/src/synfig/layer_bitmap.cpp 2009-01-13 15:44:10 UTC
(rev 2329)
@@ -165,16 +165,14 @@
inline
const Color&
-synfig::Layer_Bitmap::filter(const Color& c)const
+synfig::Layer_Bitmap::filter(Color& x)const
{
- if(gamma_adjust==1.0)
- return c;
- static Color x;
- x=c;
-
- x.set_r(powf((float)x.get_r(),gamma_adjust));
- x.set_g(powf((float)x.get_g(),gamma_adjust));
- x.set_b(powf((float)x.get_b(),gamma_adjust));
+ if(gamma_adjust!=1.0)
+ {
+ x.set_r(powf((float)x.get_r(),gamma_adjust));
+ x.set_g(powf((float)x.get_g(),gamma_adjust));
+ x.set_b(powf((float)x.get_b(),gamma_adjust));
+ }
return x;
}
@@ -458,7 +456,8 @@
inx = inx_start;
for(x = x_start; x < x_end; x++, pen.inc_x(), inx +=
indx)
{
-
pen.put_value(filter(surface.linear_sample(inx,iny)));
+ Color col(surface.linear_sample(inx,iny));
+ pen.put_value(filter(col));
}
pen.dec_x(x_end-x_start);
@@ -483,7 +482,8 @@
inx = inx_start;
for(x = x_start; x < x_end; x++, pen.inc_x(), inx +=
indx)
{
-
pen.put_value(filter(surface.cosine_sample(inx,iny)));
+ Color col(surface.cosine_sample(inx,iny));
+ pen.put_value(filter(col));
}
pen.dec_x(x_end-x_start);
@@ -507,7 +507,8 @@
inx = inx_start;
for(x = x_start; x < x_end; x++, pen.inc_x(), inx +=
indx)
{
-
pen.put_value(filter(surface.cubic_sample(inx,iny)));
+ Color col(surface.cubic_sample(inx,iny));
+ pen.put_value(filter(col));
}
pen.dec_x(x_end-x_start);
Modified: synfig-core/trunk/src/synfig/layer_bitmap.h
===================================================================
--- synfig-core/trunk/src/synfig/layer_bitmap.h 2009-01-13 06:03:12 UTC (rev
2328)
+++ synfig-core/trunk/src/synfig/layer_bitmap.h 2009-01-13 15:44:10 UTC (rev
2329)
@@ -43,7 +43,7 @@
*/
class Layer_Bitmap : public Layer_Composite, public Layer_NoDeform
{
- const Color& filter(const Color& c)const;
+ const Color& filter(Color& c)const;
public:
typedef etl::handle<Layer_Bitmap> Handle;
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl