[dali_2.2.4] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / graphics / shaders / text-scroller-shader.vert
1 attribute mediump vec2 aPosition;
2 varying highp vec2 vTexCoord;
3 uniform highp vec3 uSize;
4 uniform highp float uDelta;
5 uniform mediump vec2 uTextureSize;
6 uniform highp float uGap;
7 uniform mediump float uHorizontalAlign;
8 uniform mediump float uVerticalAlign;
9
10 uniform highp mat4 uMvpMatrix;
11
12 //Visual size and offset
13 uniform mediump vec2 offset;
14 uniform highp vec2 size;
15 uniform mediump vec4 offsetSizeMode;
16 uniform mediump vec2 origin;
17 uniform mediump vec2 anchorPoint;
18
19 void main()
20 {
21   highp vec2 visualSize = mix(size * uSize.xy, size, offsetSizeMode.zw);
22   highp vec2 visualOffset = mix(offset * uSize.xy, offset, offsetSizeMode.xy);
23
24   vTexCoord.x = ( uDelta + uHorizontalAlign * ( uTextureSize.x - visualSize.x - uGap ) + aPosition.x * visualSize.x - uGap * 0.5 ) / uTextureSize.x + 0.5;
25   vTexCoord.y = ( uVerticalAlign * ( uTextureSize.y - visualSize.y ) + aPosition.y * visualSize.y ) / ( uTextureSize.y ) + 0.5;
26
27   highp vec4 vertexPosition = vec4( ( aPosition + anchorPoint ) * visualSize + visualOffset + origin * uSize.xy, 0.0, 1.0 );
28
29   gl_Position = uMvpMatrix * vertexPosition;
30 }