summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
9588e47)
git-svn-id: https://synfig.svn.sourceforge.net/svnroot/synfig@2329
1f10aa63-cdf2-0310-b900-
c93c546f37ac
-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));
+ }
inx = inx_start;
for(x = x_start; x < x_end; x++, pen.inc_x(), inx += indx)
{
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);
}
pen.dec_x(x_end-x_start);
inx = inx_start;
for(x = x_start; x < x_end; x++, pen.inc_x(), inx += indx)
{
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);
}
pen.dec_x(x_end-x_start);
inx = inx_start;
for(x = x_start; x < x_end; x++, pen.inc_x(), inx += indx)
{
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);
}
pen.dec_x(x_end-x_start);
*/
class Layer_Bitmap : public Layer_Composite, public Layer_NoDeform
{
*/
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;
public:
typedef etl::handle<Layer_Bitmap> Handle;