X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fdevel-api%2Fshader-effects%2Fimage-region-effect.h;h=65504c1264438793d6b4729e9ca61d708d1e9fa0;hp=af2c1e9caed2b20220bb3795cffe480204aa6587;hb=20e1c73dd9097276d12197f427ec8e00ab9e5650;hpb=146486a8c7410a2f2a20a6d670145fe855672b96 diff --git a/dali-toolkit/devel-api/shader-effects/image-region-effect.h b/dali-toolkit/devel-api/shader-effects/image-region-effect.h index af2c1e9..65504c1 100644 --- a/dali-toolkit/devel-api/shader-effects/image-region-effect.h +++ b/dali-toolkit/devel-api/shader-effects/image-region-effect.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_IMAGE_REGION_EFFECT_H__ -#define __DALI_TOOLKIT_IMAGE_REGION_EFFECT_H__ +#ifndef DALI_TOOLKIT_IMAGE_REGION_EFFECT_H +#define DALI_TOOLKIT_IMAGE_REGION_EFFECT_H /* - * Copyright (c) 2016 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,14 +22,12 @@ #include // INTERNAL INCLUDES -#include +#include namespace Dali { - namespace Toolkit { - /** * @brief Creates a new ImageRegionEffect * @@ -41,49 +39,12 @@ namespace Toolkit * "uBottomRight" - The bottom-right corner of the image region. The coordinates are in percentage, * (0,0) being the top-left and (1,1) the bottom right of the original image * - * @return A handle to a newly allocated ShaderEffect + * @return A property map of the required shader */ -inline Property::Map CreateImageRegionEffect() -{ - std::string vertexShader( - "attribute mediump vec2 aPosition;\n" - "\n" - "uniform mediump mat4 uMvpMatrix;\n" - "uniform vec3 uSize;\n" - "uniform vec4 uTextureRect;" - "\n" - "varying vec2 vTexCoord;\n" - - "uniform mediump vec2 uTopLeft;\n" - "uniform mediump vec2 uBottomRight;\n" - "void main()\n" - "{\n" - " mediump vec4 position = vec4(aPosition, 0.0, 1.0);\n" - " position.xyz *= uSize;\n" - " gl_Position = uMvpMatrix * position;\n" - // The line below is doing the same as the following commented lines: - //" vec2 imageSize = uTextureRect.zw - uTextureRect.xy;\n" - //" vec2 topLeft = uTextureRect.xy + uTopLeft * imageSize;\n" - //" vec2 bottomRight = uTextureRect.xy + uBottomRight * imageSize;\n" - //" vec2 texCoord = (aTexCoord - uTextureRect.xy) / imageSize;\n" - //" vTexCoord = topLeft + texCoord * ( bottomRight - topLeft );\n" - - " vec2 texCoord = aPosition + vec2(0.5);\n" - " vTexCoord = uTextureRect.xy + uTopLeft * ( uTextureRect.zw - uTextureRect.xy ) + ( texCoord - uTextureRect.xy ) * ( uBottomRight - uTopLeft );\n" - "}\n" - ); - - Property::Map map; - - Property::Map customShader; - customShader[ Visual::Shader::Property::VERTEX_SHADER ] = vertexShader; - - map[ Visual::Property::SHADER ] = customShader; - return map; -} +DALI_TOOLKIT_API Property::Map CreateImageRegionEffect(); } // namespace Toolkit } // namespace Dali -#endif // __DALI_TOOLKIT_IMAGE_REGION_EFFECT_H__ +#endif // DALI_TOOLKIT_IMAGE_REGION_EFFECT_H