From: Paul Wisbey
Date: Mon, 11 Jul 2016 10:28:47 +0000 (-0700)
Subject: Merge "Updated Gradient renderer to use SetTexture" into devel/master
X-Git-Tag: dali_1.1.43~12
X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=b66d124507442dd6537edd78dcfc4b40e9659d71;hp=71e9401257ac2b3612aef56b6b94303cb1d3a849
Merge "Updated Gradient renderer to use SetTexture" into devel/master
---
diff --git a/dali-toolkit/internal/controls/renderers/gradient/gradient-renderer.cpp b/dali-toolkit/internal/controls/renderers/gradient/gradient-renderer.cpp
index 637dd6b..f64ad61 100644
--- a/dali-toolkit/internal/controls/renderers/gradient/gradient-renderer.cpp
+++ b/dali-toolkit/internal/controls/renderers/gradient/gradient-renderer.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
@@ -326,8 +326,8 @@ void GradientRenderer::InitializeRenderer()
//Set up the texture set
TextureSet textureSet = TextureSet::New();
- Dali::BufferImage lookupTexture = mGradient->GenerateLookupTexture();
- textureSet.SetImage( 0u, lookupTexture );
+ Dali::Texture lookupTexture = mGradient->GenerateLookupTexture();
+ textureSet.SetTexture( 0u, lookupTexture );
Dali::WrapMode::Type wrap = GetWrapMode( mGradient->GetSpreadMethod() );
Sampler sampler = Sampler::New();
sampler.SetWrapMode( wrap, wrap );
diff --git a/dali-toolkit/internal/controls/renderers/gradient/gradient.cpp b/dali-toolkit/internal/controls/renderers/gradient/gradient.cpp
index d87d132..e070754 100644
--- a/dali-toolkit/internal/controls/renderers/gradient/gradient.cpp
+++ b/dali-toolkit/internal/controls/renderers/gradient/gradient.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
@@ -88,7 +88,7 @@ const Matrix3& Gradient::GetAlignmentTransform() const
* If the stops have not covered the whole zero to one range,
* the REPEAT spread behaves different from the two others in the lookup texture generation.
*/
-BufferImage Gradient::GenerateLookupTexture()
+Dali::Texture Gradient::GenerateLookupTexture()
{
std::sort( mGradientStops.Begin(), mGradientStops.End() );
@@ -133,8 +133,11 @@ BufferImage Gradient::GenerateLookupTexture()
* Generate the pixels with the color transit from one stop to next.
*/
unsigned int resolution = EstimateTextureResolution();
- BufferImage texture = BufferImage::New( resolution, 1 );
- PixelBuffer* pixels = texture.GetBuffer();
+
+ unsigned int bufferSize = resolution * 4u;
+ unsigned char* pixels = new unsigned char[ bufferSize ];
+ PixelData pixelData = PixelData::New( pixels, bufferSize, resolution, 1u, Pixel::RGBA8888, PixelData::DELETE_ARRAY );
+
int segmentStart = 0;
int segmentEnd = 0;
int k = 0;
@@ -161,6 +164,9 @@ BufferImage Gradient::GenerateLookupTexture()
segmentStart = segmentEnd;
}
+ Texture texture = Texture::New( TextureType::TEXTURE_2D, Pixel::RGBA8888, resolution, 1u );
+ texture.Upload( pixelData );
+
// remove the stops added temporarily for generating the pixels, as the spread method might get changed later
if( tempLastStop )
{
diff --git a/dali-toolkit/internal/controls/renderers/gradient/gradient.h b/dali-toolkit/internal/controls/renderers/gradient/gradient.h
index 36e6ee4..64fd6b5 100644
--- a/dali-toolkit/internal/controls/renderers/gradient/gradient.h
+++ b/dali-toolkit/internal/controls/renderers/gradient/gradient.h
@@ -2,7 +2,7 @@
#define __DALI_TOOLKIT_INTERNAL_GRADIENT_H__
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
@@ -23,6 +23,7 @@
#include
#include
#include
+#include
namespace Dali
{
@@ -130,9 +131,9 @@ public:
/**
* Generate the lookup texture with the gradient stops.
- * @return the lookup texture which transit smoothly between stops.
+ * @return The lookup texture which transit smoothly between stops.
*/
- BufferImage GenerateLookupTexture();
+ Dali::Texture GenerateLookupTexture();
private: