Merge "[AT-SPI] Add SetTextContents, InsertText and DeleteText" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / graphics / shaders / color-visual-rounded-corner-shader.frag
1 INPUT mediump vec2 vPosition;
2 INPUT mediump vec2 vRectSize;
3 INPUT mediump vec2 vOptRectSize;
4 INPUT mediump vec4 vCornerRadius;
5
6 uniform lowp vec4 uColor;
7 uniform lowp vec3 mixColor;
8
9 void main()
10 {
11   OUT_COLOR = vec4(mixColor, 1.0) * uColor;
12   if(abs(vPosition.x) < vOptRectSize.x && abs(vPosition.y) < vOptRectSize.y)
13   {
14     return;
15   }
16   mediump float radius =
17   mix(
18     mix(vCornerRadius.x, vCornerRadius.y, sign(vPosition.x) * 0.5 + 0.5),
19     mix(vCornerRadius.w, vCornerRadius.z, sign(vPosition.x) * 0.5 + 0.5),
20     sign(vPosition.y) * 0.5 + 0.5
21   );
22
23   mediump vec2 diff = abs(vPosition) - vRectSize + radius;
24   mediump float dist = length(max(diff, vec2(0.0))) - radius;
25   if(dist > 1.0)
26   {
27     OUT_COLOR.a = 0.0;
28   }
29   else if(dist > -1.0)
30   {
31     if(min(diff.x, diff.y) < 0.0)
32     {
33       dist += min(diff.x, diff.y) / max(radius, 1.0);
34     }
35     OUT_COLOR.a *= 1.0 - smoothstep(-1.0, 1.0, dist);
36   }
37 }