X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fdevel-api%2Fshader-effects%2Falpha-discard-effect.h;h=4d1e40a0915ea90a7e1daef9925faab658a1af31;hp=c96f143fa5b618216116b48275878cbe925eb41a;hb=1c5674a11a51310ee689d6daf4e6b7d94dec607e;hpb=5f6e04b26996da4c06716ce044bdfdb0e7e2e61b diff --git a/dali-toolkit/devel-api/shader-effects/alpha-discard-effect.h b/dali-toolkit/devel-api/shader-effects/alpha-discard-effect.h index c96f143..4d1e40a 100644 --- a/dali-toolkit/devel-api/shader-effects/alpha-discard-effect.h +++ b/dali-toolkit/devel-api/shader-effects/alpha-discard-effect.h @@ -28,41 +28,35 @@ namespace Toolkit { /** + * @brief Creates a new Alpha discard effect + * * Alpha discard effect is used to discard fragments when the alpha colour value is below a threshold. * This is useful for stenciling. * * Usage example: * * ImageActor actor = ImageActor::New( Image( EXAMPLE_IMAGE_PATH ) ); - * AlphaDiscardEffect alphaDiscardEffect = AlphaDiscardEffect::New(); + * ShaderEffect alphaDiscardEffect = CreateAlphaDiscardEffect(); * actor.SetShaderEffect( alphaDiscardEffect ); + * + * @return A handle to a newly allocated ShaderEffect. */ -class DALI_IMPORT_API AlphaDiscardEffect : public ShaderEffect +inline ShaderEffect CreateAlphaDiscardEffect() { -public: - - /** - * Create an empty AlphaDiscardEffect handle. - */ - AlphaDiscardEffect(); - - /** - * @brief Destructor - * - * This is non-virtual since derived Handle types must not contain data or virtual methods. - */ - ~AlphaDiscardEffect(); - - /** - * Create a AlphaDiscardEffect. - * @return A handle to a newly allocated AlphaDiscardEffect. - */ - static AlphaDiscardEffect New(); - -private: // Not intended for application developers + const char* ALPHA_DISCARD_FRAGMENT_SHADER_SOURCE = + "void main() \n" + "{ \n" + " mediump vec4 color = texture2D( sTexture, vTexCoord ); \n" + " if(color.a <= 0.0001) \n" + " { \n" + " discard; \n" + " } \n" + " gl_FragColor = color * uColor; \n" + "} \n"; - DALI_INTERNAL AlphaDiscardEffect( ShaderEffect handle ); -}; + return ShaderEffect::New( "", // Use default + ALPHA_DISCARD_FRAGMENT_SHADER_SOURCE ); +} } // namespace Toolkit