aboutsummaryrefslogtreecommitdiff
path: root/geometry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'geometry.cpp')
-rw-r--r--geometry.cpp25
1 files changed, 25 insertions, 0 deletions
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);
+}