From 41e1b2bfb8e2ba3d0e74180200e7cc109171213e Mon Sep 17 00:00:00 2001 From: Samuel Fadel Date: Tue, 26 Jan 2016 18:15:50 +0100 Subject: Scatterplot & BarChart: initial brushing mechanism. * Both components now support brushing (support in Scatterplot for activating a brush is still incomplete, though it can be brushed on by other components) * Added a handler for linking the brushing between components * Added crosshair geometry handler to geometry lib * Fixed issue #15 --- geometry.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'geometry.cpp') diff --git a/geometry.cpp b/geometry.cpp index 4ed01ee..a8be3f4 100644 --- a/geometry.cpp +++ b/geometry.cpp @@ -37,3 +37,28 @@ void updateRectGeometry(QSGGeometry *geometry, float x, float y, float w, float vertexData[2].set(x + w, y + h); vertexData[3].set(x, y + h); } + +void updateCrossHairGeometry(QSGGeometry *geometry, + float x, + float y, + float thickness, + float length) +{ + QSGGeometry::Point2D *vertexData = geometry->vertexDataAsPoint2D(); + if (geometry->vertexCount() != 12) { + return; + } + + vertexData[ 0].set(x + thickness, y - thickness); + vertexData[ 1].set(x + length, y - thickness); + vertexData[ 2].set(x + length, y + thickness); + vertexData[ 3].set(x + thickness, y + thickness); + vertexData[ 4].set(x + thickness, y + length); + vertexData[ 5].set(x - thickness, y + length); + vertexData[ 6].set(x - thickness, y + thickness); + vertexData[ 7].set(x - length, y + thickness); + vertexData[ 8].set(x - length, y - thickness); + vertexData[ 9].set(x - thickness, y - thickness); + vertexData[10].set(x - thickness, y - length); + vertexData[11].set(x + thickness, y - length); +} -- cgit v1.2.3