Merge "[AT-SPI] Add SetTextContents, InsertText and DeleteText" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / graphics / shaders / image-visual-atlas-various-wrap-shader.frag
1 INPUT mediump vec2 vTexCoord;
2
3 uniform sampler2D sTexture;
4 uniform mediump vec4 uAtlasRect;
5
6 // WrapMode -- 0: CLAMP; 1: REPEAT; 2: REFLECT;
7 uniform lowp vec2 wrapMode;
8
9 uniform lowp vec4 uColor;
10 uniform lowp vec3 mixColor;
11 uniform lowp float preMultipliedAlpha;
12 mediump float wrapCoordinate( mediump vec2 range, mediump float coordinate, lowp float wrap )
13
14 {
15   mediump float coord;
16   if( wrap > 1.5 )\n // REFLECT
17     coord = 1.0-abs(fract(coordinate*0.5)*2.0 - 1.0);
18   else \n// warp == 0 or 1
19     coord = mix(coordinate, fract( coordinate ), wrap);
20   return clamp( mix(range.x, range.y, coord), range.x, range.y );
21 }
22
23 void main()
24 {
25   mediump vec2 texCoord = vec2( wrapCoordinate( uAtlasRect.xz, vTexCoord.x, wrapMode.x ),
26                                 wrapCoordinate( uAtlasRect.yw, vTexCoord.y, wrapMode.y ) );
27   OUT_COLOR = TEXTURE( sTexture, texCoord ) * uColor * vec4( mixColor, 1.0 );
28 }