summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/engine
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2013-10-03 13:40:02 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2013-10-03 13:46:02 +0300
commit56d71710d5c87047815c2f2a3686ecb01332da7c (patch)
tree4ba14151b6b0f321b1eea2a84371ce3399140679 /src/datavisualization/engine
parenteca4f57c854874ec6e4f616e663b43675d76cff4 (diff)
Selection fixed for Android surface
Task-number: QTRD-2368 Change-Id: I7b6bf5f16111a7dfdb49cb391b29872bf12ac8fd Change-Id: I7b6bf5f16111a7dfdb49cb391b29872bf12ac8fd Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization/engine')
-rw-r--r--src/datavisualization/engine/surface3drenderer.cpp14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/datavisualization/engine/surface3drenderer.cpp b/src/datavisualization/engine/surface3drenderer.cpp
index cebe906e..9f40e410 100644
--- a/src/datavisualization/engine/surface3drenderer.cpp
+++ b/src/datavisualization/engine/surface3drenderer.cpp
@@ -484,7 +484,7 @@ void Surface3DRenderer::drawSlicedScene()
GLfloat scaleX;
GLfloat scaleXBackground;
- GLfloat offset;
+ GLfloat offset = 0.0f;
if (m_cachedSelectionMode == QDataVis::SelectionModeSliceRow) {
scaleX = m_surfaceScaleX;
scaleXBackground = m_scaleXWithBackground;
@@ -1694,15 +1694,6 @@ void Surface3DRenderer::updateSelectionTexture()
// ID color so that each vertex (data point) has 4x4 pixel area of ID color
int idImageWidth = (m_sampleSpace.width() - 1) * 4;
int idImageHeight = (m_sampleSpace.height() - 1) * 4;
-
-#if defined(Q_OS_ANDROID)
- // Android requires power-of-two textures
- GLuint temp;
- idImageWidth = Utils::getNearestPowerOfTwo(idImageWidth, temp);
- idImageHeight = Utils::getNearestPowerOfTwo(idImageHeight, temp);
- // TODO: This is not enough, the selection texture itself needs to be modified for Android (colors?, scaling)
-#endif
-
int stride = idImageWidth * 4 * sizeof(uchar); // 4 = number of color components (rgba)
uchar *bits = new uchar[idImageWidth * idImageHeight * 4 * sizeof(uchar)];
@@ -1735,7 +1726,8 @@ void Surface3DRenderer::updateSelectionTexture()
}
// Move the ID image (bits) to the texture
- m_selectionTexture = m_textureHelper->create2DTexture(bits, idImageWidth, idImageHeight);
+ QImage image = QImage(bits, idImageWidth, idImageHeight, QImage::Format_RGB32);
+ m_selectionTexture = m_textureHelper->create2DTexture(image, false, false, false);
// Release the temp bits allocation
delete[] bits;