summaryrefslogtreecommitdiffstats
path: root/src/datavisualization/data/customdataitem.cpp
diff options
context:
space:
mode:
authorTomi Korpipää <tomi.korpipaa@digia.com>2014-04-15 10:32:03 +0300
committerTomi Korpipää <tomi.korpipaa@digia.com>2014-04-15 10:40:38 +0300
commita30c0c304e55ffe30545ab0838e4dbe11a99b8da (patch)
treece6ccc0e4de8e350aebec466ff0a70c0fd7710bc /src/datavisualization/data/customdataitem.cpp
parent79646ac9664745701667104c19bbae8cba8fd2e3 (diff)
Add custom item support, part 1
Task-number: QTRD-2866 + Added API for adding and removing custom items + Added custom data and custom render items + Added shaders for textured objects + Added custom item rendering draft to scatter + Fixed some shaders - to be continued in part 2 Change-Id: I9735fd02fc9e86ae486cca4c06f6d7f2a4b0b7da Reviewed-by: Mika Salmela <mika.salmela@digia.com>
Diffstat (limited to 'src/datavisualization/data/customdataitem.cpp')
-rw-r--r--src/datavisualization/data/customdataitem.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/datavisualization/data/customdataitem.cpp b/src/datavisualization/data/customdataitem.cpp
new file mode 100644
index 00000000..8d3a033d
--- /dev/null
+++ b/src/datavisualization/data/customdataitem.cpp
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc
+** All rights reserved.
+** For any questions to Digia, please use contact form at http://qt.digia.com
+**
+** This file is part of the QtDataVisualization module.
+**
+** Licensees holding valid Qt Enterprise licenses may use this file in
+** accordance with the Qt Enterprise License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia.
+**
+** If you have questions regarding the use of this file, please use
+** contact form at http://qt.digia.com
+**
+****************************************************************************/
+
+#include "customdataitem_p.h"
+#include "objecthelper_p.h"
+#include "texturehelper_p.h"
+
+QT_BEGIN_NAMESPACE_DATAVISUALIZATION
+
+CustomDataItem::CustomDataItem() :
+ m_textureHelper(0),
+ m_texture(0)
+{
+ m_textureHelper = new TextureHelper();
+}
+
+CustomDataItem::~CustomDataItem()
+{
+ if (m_texture)
+ m_textureHelper->deleteTexture(&m_texture);
+ delete m_textureHelper;
+}
+
+void CustomDataItem::setTextureImage(const QImage &textureImage)
+{
+ if (m_texture)
+ m_textureHelper->deleteTexture(&m_texture);
+ // Make a texture out of the image
+ if (!textureImage.isNull())
+ m_texture = m_textureHelper->create2DTexture(textureImage, true, true, true);
+}
+
+QT_END_NAMESPACE_DATAVISUALIZATION