X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fgraphics%2Fshaders%2Fcolor-visual-rounded-corner-shader.frag;h=4654ab4620541da70f4a5f755dca57b954b817bf;hp=d68e66f8c5c6f7b030c5f55d45a98f006add93ff;hb=d6c509f6c98e046bb4de0564f2088fb61b3f00da;hpb=1a0dc2cc53708bbc32546da6031e996465544f51 diff --git a/dali-toolkit/internal/graphics/shaders/color-visual-rounded-corner-shader.frag b/dali-toolkit/internal/graphics/shaders/color-visual-rounded-corner-shader.frag index d68e66f..4654ab4 100644 --- a/dali-toolkit/internal/graphics/shaders/color-visual-rounded-corner-shader.frag +++ b/dali-toolkit/internal/graphics/shaders/color-visual-rounded-corner-shader.frag @@ -7,7 +7,19 @@ uniform lowp vec3 mixColor; void main() { - mediump float dist = length( max( abs( vPosition ), vRectSize ) - vRectSize ) - vCornerRadius; OUT_COLOR = vec4(mixColor, 1.0) * uColor; - OUT_COLOR.a *= 1.0 - smoothstep( -1.0, 1.0, dist ); -} \ No newline at end of file + mediump vec2 diff = abs( vPosition ) - vRectSize; + mediump float dist = length( max( diff, vec2( 0.0 ) ) ) - vCornerRadius; + if( dist > 1.0 ) + { + OUT_COLOR.a = 0.0; + } + else if( dist > -1.0 ) + { + if( min( diff.x, diff.y ) < 0.0) + { + dist += min( diff.x, diff.y ) / vCornerRadius; + } + OUT_COLOR.a *= 1.0 - smoothstep( -1.0, 1.0, dist ); + } +}