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
[dali_1.1.35] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git]
/
dali-toolkit
/
internal
/
controls
/
renderers
/
color
/
color-renderer.cpp
diff --git
a/dali-toolkit/internal/controls/renderers/color/color-renderer.cpp
b/dali-toolkit/internal/controls/renderers/color/color-renderer.cpp
index
0da8112
..
3fd6a74
100644
(file)
--- a/
dali-toolkit/internal/controls/renderers/color/color-renderer.cpp
+++ b/
dali-toolkit/internal/controls/renderers/color/color-renderer.cpp
@@
-24,6
+24,7
@@
//INTERNAL INCLUDES
#include <dali-toolkit/internal/controls/renderers/renderer-factory-impl.h>
#include <dali-toolkit/internal/controls/renderers/renderer-factory-cache.h>
//INTERNAL INCLUDES
#include <dali-toolkit/internal/controls/renderers/renderer-factory-impl.h>
#include <dali-toolkit/internal/controls/renderers/renderer-factory-cache.h>
+#include <dali-toolkit/internal/controls/renderers/renderer-string-constants.h>
#include <dali-toolkit/internal/controls/renderers/control-renderer-data-impl.h>
namespace Dali
#include <dali-toolkit/internal/controls/renderers/control-renderer-data-impl.h>
namespace Dali
@@
-37,11
+38,7
@@
namespace Internal
namespace
{
namespace
{
-const char * const RENDERER_TYPE("renderer-type");
-const char * const RENDERER_TYPE_VALUE("color-renderer");
-const char * const COLOR_NAME("blend-color");
-const char * const COLOR_UNIFORM_NAME("uBlendColor");
-
+const char * const COLOR_NAME("mixColor");
const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
attribute mediump vec2 aPosition;\n
const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
attribute mediump vec2 aPosition;\n
@@
-58,18
+55,18
@@
const char* VERTEX_SHADER = DALI_COMPOSE_SHADER(
const char* FRAGMENT_SHADER = DALI_COMPOSE_SHADER(
uniform lowp vec4 uColor;\n
const char* FRAGMENT_SHADER = DALI_COMPOSE_SHADER(
uniform lowp vec4 uColor;\n
- uniform lowp vec4
uBlend
Color;\n
+ uniform lowp vec4
mix
Color;\n
\n
void main()\n
{\n
\n
void main()\n
{\n
- gl_FragColor =
uBlend
Color*uColor;\n
+ gl_FragColor =
mix
Color*uColor;\n
}\n
);
}
}\n
);
}
-ColorRenderer::ColorRenderer()
-: ControlRenderer(),
- m
Blend
ColorIndex( Property::INVALID_INDEX )
+ColorRenderer::ColorRenderer(
RendererFactoryCache& factoryCache
)
+: ControlRenderer(
factoryCache
),
+ m
Mix
ColorIndex( Property::INVALID_INDEX )
{
}
{
}
@@
-77,12
+74,10
@@
ColorRenderer::~ColorRenderer()
{
}
{
}
-void ColorRenderer::
Initialize( RendererFactoryCache& factoryCache
, const Property::Map& propertyMap )
+void ColorRenderer::
DoInitialize( Actor& actor
, const Property::Map& propertyMap )
{
{
- Initialize( factoryCache );
-
Property::Value* color = propertyMap.Find( COLOR_NAME );
Property::Value* color = propertyMap.Find( COLOR_NAME );
- if( !( color && color->Get(m
Blend
Color) ) )
+ if( !( color && color->Get(m
Mix
Color) ) )
{
DALI_LOG_ERROR( "Fail to provide a color to the ColorRenderer object" );
}
{
DALI_LOG_ERROR( "Fail to provide a color to the ColorRenderer object" );
}
@@
-107,49
+102,53
@@
void ColorRenderer::SetOffset( const Vector2& offset )
//ToDo: renderer applies the offset
}
//ToDo: renderer applies the offset
}
-void ColorRenderer::CreatePropertyMap( Property::Map& map ) const
+void ColorRenderer::DoSetOnStage( Actor& actor )
+{
+ InitializeRenderer();
+}
+
+void ColorRenderer::DoCreatePropertyMap( Property::Map& map ) const
{
map.Clear();
{
map.Clear();
- map.Insert( RENDERER_TYPE,
RENDERER_TYPE_VALUE
);
- map.Insert( COLOR_NAME, m
Blend
Color );
+ map.Insert( RENDERER_TYPE,
COLOR_RENDERER
);
+ map.Insert( COLOR_NAME, m
Mix
Color );
}
}
-void ColorRenderer::
DoSetOnStage( Actor& actor
)
+void ColorRenderer::
InitializeRenderer(
)
{
{
-
mBlendColorIndex = (mImpl->mRenderer).RegisterProperty( COLOR_UNIFORM_NAME, mBlendColor
);
- if(
mBlendColor.a < 1.f
)
+
Geometry geometry = mFactoryCache.GetGeometry( RendererFactoryCache::QUAD_GEOMETRY
);
+ if(
!geometry
)
{
{
- (mImpl->mRenderer).GetMaterial().SetBlendMode( BlendingMode::ON );
+ geometry = Geometry::QUAD();
+ mFactoryCache.SaveGeometry( RendererFactoryCache::QUAD_GEOMETRY, geometry );
}
}
-}
-void ColorRenderer::Initialize( RendererFactoryCache& factoryCache)
-{
- mImpl->mGeometry = factoryCache.GetGeometry( RendererFactoryCache::QUAD_GEOMETRY );
- if( !(mImpl->mGeometry) )
+ Shader shader = mFactoryCache.GetShader( RendererFactoryCache::COLOR_SHADER );
+ if( !shader )
{
{
-
mImpl->mGeometry = RendererFactoryCache::CreateQuadGeometry(
);
-
factoryCache.SaveGeometry( RendererFactoryCache::QUAD_GEOMETRY, mImpl->mGeometry
);
+
shader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER
);
+
mFactoryCache.SaveShader( RendererFactoryCache::COLOR_SHADER, shader
);
}
}
- mImpl->mShader = factoryCache.GetShader( RendererFactoryCache::COLOR_SHADER );
- if( !(mImpl->mShader) )
+ mImpl->mRenderer = Renderer::New( geometry, shader );
+
+ mMixColorIndex = mImpl->mRenderer.RegisterProperty( COLOR_NAME, mMixColor );
+ if( mMixColor.a < 1.f )
{
{
- mImpl->mShader = Shader::New( VERTEX_SHADER, FRAGMENT_SHADER );
- factoryCache.SaveShader( RendererFactoryCache::COLOR_SHADER, mImpl->mShader );
+ mImpl->mRenderer.SetProperty( Renderer::Property::BLEND_MODE, BlendMode::ON );
}
}
void ColorRenderer::SetColor(const Vector4& color)
{
}
}
void ColorRenderer::SetColor(const Vector4& color)
{
- m
Blend
Color = color;
+ m
Mix
Color = color;
- if( mImpl->m
IsOnStage
)
+ if( mImpl->m
Renderer
)
{
{
- (mImpl->mRenderer).SetProperty( m
Blend
ColorIndex, color );
- if( color.a < 1.f
&& (mImpl->mRenderer).GetMaterial().GetBlendMode() != BlendingMode::ON
)
+ (mImpl->mRenderer).SetProperty( m
Mix
ColorIndex, color );
+ if( color.a < 1.f )
{
{
-
(mImpl->mRenderer).GetMaterial().SetBlendMode( Blending
Mode::ON );
+
mImpl->mRenderer.SetProperty( Renderer::Property::BLEND_MODE, Blend
Mode::ON );
}
}
}
}
}
}