-const char* VERTEX_SHADER_SCROLL = DALI_COMPOSE_SHADER(
- attribute mediump vec2 aPosition;\n
- varying highp vec2 vTexCoord;\n
- varying highp float vRatio;\n
- uniform mediump mat4 uMvpMatrix;\n
- uniform mediump vec3 uSize;\n
- uniform mediump float uDelta;\n
- uniform mediump vec2 uTextureSize;\n
- uniform mediump float uGap;\n
- uniform mediump float uHorizontalAlign;\n
- uniform mediump float uVerticalAlign;\n
- \n
- void main()\n
- {\n
- {\n
- float smallTextPadding = max( uSize.x - uTextureSize.x, 0. );\n
- float gap = max( uGap, smallTextPadding );\n
- float delta = floor ( uDelta ) + 0.5;\n
- vTexCoord.x = ( delta + uHorizontalAlign * ( uTextureSize.x - uSize.x ) + floor( aPosition.x * uSize.x ) + 0.5 - gap * 0.5 ) / (uTextureSize.x + gap) + 0.5;\n
- vTexCoord.y = ( uVerticalAlign * ( uTextureSize.y - uSize.y ) + floor( aPosition.y * uSize.y ) + 0.5 ) / ( uTextureSize.y ) + 0.5;\n
- vRatio = uTextureSize.x / ( uTextureSize.x + gap );\n
- gl_Position = uMvpMatrix * vec4( floor( aPosition * uSize.xy ), 0.0, 1.0 );\n
- }\n
- }\n
-);
-
-const char* FRAGMENT_SHADER = DALI_COMPOSE_SHADER(
- varying highp vec2 vTexCoord;\n
- varying highp float vRatio;\n
- uniform sampler2D sTexture;\n
- \n
- void main()\n
- {\n
- highp vec2 texCoord;\n
- texCoord.y = vTexCoord.y;\n
- texCoord.x = fract( vTexCoord.x ) / vRatio;\n
- if ( texCoord.x > 1.0 || texCoord.y > 1.0 )\n
- discard;\n
- \n
- gl_FragColor = texture2D( sTexture, texCoord );\n
- }\n
-);
-