projects
/
platform
/
core
/
uifw
/
dali-toolkit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed 9-patch scale issue.
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
visuals
/
npatch
/
npatch-visual.cpp
diff --git
a/dali-toolkit/internal/visuals/npatch/npatch-visual.cpp
b/dali-toolkit/internal/visuals/npatch/npatch-visual.cpp
index
aab7b67
..
b2f0cbb
100644
(file)
--- a/
dali-toolkit/internal/visuals/npatch/npatch-visual.cpp
+++ b/
dali-toolkit/internal/visuals/npatch/npatch-visual.cpp
@@
-26,7
+26,7
@@
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/visuals/image-visual-properties.h>
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/visuals/image-visual-properties.h>
-#include <dali-toolkit/devel-api/visual
-factory/devel-visual-properties
.h>
+#include <dali-toolkit/devel-api/visual
s/visual-properties-devel
.h>
#include <dali-toolkit/internal/visuals/npatch-loader.h>
#include <dali-toolkit/internal/visuals/visual-factory-impl.h>
#include <dali-toolkit/internal/visuals/visual-factory-cache.h>
#include <dali-toolkit/internal/visuals/npatch-loader.h>
#include <dali-toolkit/internal/visuals/visual-factory-impl.h>
#include <dali-toolkit/internal/visuals/visual-factory-cache.h>
@@
-110,7
+110,7
@@
const char* VERTEX_SHADER_3X3 = DALI_COMPOSE_SHADER(
vec2 visualOffset = mix( offset, offset/uSize.xy, offsetSizeMode.xy);\n
mediump vec2 scale = vec2( length( uModelMatrix[ 0 ].xyz ), length( uModelMatrix[ 1 ].xyz ) );\n
vec2 visualOffset = mix( offset, offset/uSize.xy, offsetSizeMode.xy);\n
mediump vec2 scale = vec2( length( uModelMatrix[ 0 ].xyz ), length( uModelMatrix[ 1 ].xyz ) );\n
- mediump vec2 size = visualSize.xy
* scale
;\n
+ mediump vec2 size = visualSize.xy;\n
\n
mediump vec2 fixedFactor = vec2( uFixed[ int( ( aPosition.x + 1.0 ) * 0.5 ) ].x, uFixed[ int( ( aPosition.y + 1.0 ) * 0.5 ) ].y );\n
mediump vec2 stretch = floor( aPosition * 0.5 );\n
\n
mediump vec2 fixedFactor = vec2( uFixed[ int( ( aPosition.x + 1.0 ) * 0.5 ) ].x, uFixed[ int( ( aPosition.y + 1.0 ) * 0.5 ) ].y );\n
mediump vec2 stretch = floor( aPosition * 0.5 );\n
@@
-118,7
+118,7
@@
const char* VERTEX_SHADER_3X3 = DALI_COMPOSE_SHADER(
\n
mediump vec4 vertexPosition = vec4( fixedFactor + ( size - fixedTotal ) * stretch, 0.0, 1.0 );
vertexPosition.xy -= size * vec2( 0.5, 0.5 );\n
\n
mediump vec4 vertexPosition = vec4( fixedFactor + ( size - fixedTotal ) * stretch, 0.0, 1.0 );
vertexPosition.xy -= size * vec2( 0.5, 0.5 );\n
- vertexPosition.xy = vertexPosition.xy
/ scale
+ anchorPoint*size + (visualOffset + origin)*uSize.xy;\
+ vertexPosition.xy = vertexPosition.xy + anchorPoint*size + (visualOffset + origin)*uSize.xy;\
\n
vertexPosition = uMvpMatrix * vertexPosition;\n
\n
\n
vertexPosition = uMvpMatrix * vertexPosition;\n
\n
@@
-132,10
+132,15
@@
const char* FRAGMENT_SHADER = DALI_COMPOSE_SHADER(
varying mediump vec2 vTexCoord;\n
uniform sampler2D sTexture;\n
uniform lowp vec4 uColor;\n
varying mediump vec2 vTexCoord;\n
uniform sampler2D sTexture;\n
uniform lowp vec4 uColor;\n
- \n
+ uniform lowp vec4 mixColor;\n
+ uniform lowp float preMultipliedAlpha;\n
+ lowp vec4 visualMixColor()\n
+ {\n
+ return vec4( mixColor.rgb * mix( 1.0, mixColor.a, preMultipliedAlpha ), mixColor.a );\n
+ }\n
void main()\n
{\n
void main()\n
{\n
- gl_FragColor = texture2D( sTexture, vTexCoord ) * uColor;\n
+ gl_FragColor = texture2D( sTexture, vTexCoord ) * uColor
* visualMixColor()
;\n
}\n
);
}\n
);
@@
-226,9
+231,18
@@
void RegisterStretchProperties( Renderer& renderer, const char * uniformName, co
/////////////////NPatchVisual////////////////
/////////////////NPatchVisual////////////////
+NPatchVisualPtr NPatchVisual::New( VisualFactoryCache& factoryCache, const std::string& imageUrl, const Property::Map& properties )
+{
+ NPatchVisualPtr nPatchVisual( new NPatchVisual( factoryCache ) );
+ nPatchVisual->mImageUrl = imageUrl;
+ nPatchVisual->SetProperties( properties );
+
+ return nPatchVisual;
+}
+
NPatchVisualPtr NPatchVisual::New( VisualFactoryCache& factoryCache, const std::string& imageUrl )
{
NPatchVisualPtr NPatchVisual::New( VisualFactoryCache& factoryCache, const std::string& imageUrl )
{
- NPatchVisual
* nPatchVisual = new NPatchVisual( factoryCache
);
+ NPatchVisual
Ptr nPatchVisual( new NPatchVisual( factoryCache )
);
nPatchVisual->mImageUrl = imageUrl;
return nPatchVisual;
nPatchVisual->mImageUrl = imageUrl;
return nPatchVisual;
@@
-236,7
+250,7
@@
NPatchVisualPtr NPatchVisual::New( VisualFactoryCache& factoryCache, const std::
NPatchVisualPtr NPatchVisual::New( VisualFactoryCache& factoryCache, NinePatchImage image )
{
NPatchVisualPtr NPatchVisual::New( VisualFactoryCache& factoryCache, NinePatchImage image )
{
- NPatchVisual
* nPatchVisual = new NPatchVisual( factoryCache
);
+ NPatchVisual
Ptr nPatchVisual( new NPatchVisual( factoryCache )
);
nPatchVisual->mImageUrl = image.GetUrl();
return nPatchVisual;
nPatchVisual->mImageUrl = image.GetUrl();
return nPatchVisual;
@@
-304,7
+318,7
@@
void NPatchVisual::OnSetTransform()
void NPatchVisual::DoCreatePropertyMap( Property::Map& map ) const
{
map.Clear();
void NPatchVisual::DoCreatePropertyMap( Property::Map& map ) const
{
map.Clear();
- map.Insert( Toolkit::
Visual
Property::TYPE, Toolkit::Visual::IMAGE );
+ map.Insert( Toolkit::
DevelVisual::
Property::TYPE, Toolkit::Visual::IMAGE );
map.Insert( Toolkit::ImageVisual::Property::URL, mImageUrl );
map.Insert( Toolkit::ImageVisual::Property::BORDER_ONLY, mBorderOnly );
}
map.Insert( Toolkit::ImageVisual::Property::URL, mImageUrl );
map.Insert( Toolkit::ImageVisual::Property::BORDER_ONLY, mBorderOnly );
}