X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Flyr_std%2Fsphere_distort.cpp;h=d44b753cf01426d810157f57d272dddfebb77228;hb=f68aac1f32e9c946b00c3246cd2ae9589d6bb3fa;hp=6194b0e906875c92460fe26cc6b1d3729ac5999b;hpb=cc54c38609ee9745ad678e5e9b9d7d2912be9c95;p=synfig.git diff --git a/synfig-core/trunk/src/modules/lyr_std/sphere_distort.cpp b/synfig-core/trunk/src/modules/lyr_std/sphere_distort.cpp index 6194b0e..d44b753 100644 --- a/synfig-core/trunk/src/modules/lyr_std/sphere_distort.cpp +++ b/synfig-core/trunk/src/modules/lyr_std/sphere_distort.cpp @@ -6,6 +6,7 @@ ** ** \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 @@ -504,19 +505,14 @@ bool Layer_SphereDistort::accelerated_render(Context context,Surface *surface,in } //sample at that pixel location based on the quality - if(quality <= 4) //cubic - { + if(quality <= 4) // cubic p.put_value(background.cubic_sample(xs,ys)); - }else if(quality <= 5) //cosine - { + else if(quality <= 5) // cosine p.put_value(background.cosine_sample(xs,ys)); - }else if(quality <= 6) //linear - { + else if(quality <= 6) // linear p.put_value(background.linear_sample(xs,ys)); - }else //nearest - { + else // nearest p.put_value(background[round_to_int(ys)][round_to_int(xs)]); - } } p.dec_x(w); } @@ -555,16 +551,14 @@ Layer_SphereDistort::get_bounding_rect()const switch(type) { case TYPE_NORMAL: - bounds=Rect( - center[0]+(radius), - center[1]+(radius), - center[0]-(radius), - center[1]-(radius) - ); + bounds=Rect(center[0]+radius, center[1]+radius, + center[0]-radius, center[1]-radius); break; case TYPE_DISTH: + bounds = Rect::vertical_strip(center[0]-radius, center[0]+radius); break; case TYPE_DISTV: + bounds = Rect::horizontal_strip(center[1]-radius, center[1]+radius); break; default: break; @@ -572,4 +566,3 @@ Layer_SphereDistort::get_bounding_rect()const return bounds; } -