summaryrefslogtreecommitdiffstats
path: root/tests/manual/examples/opengl/qopenglwidget/bubble.h
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/examples/opengl/qopenglwidget/bubble.h')
-rw-r--r--tests/manual/examples/opengl/qopenglwidget/bubble.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/manual/examples/opengl/qopenglwidget/bubble.h b/tests/manual/examples/opengl/qopenglwidget/bubble.h
new file mode 100644
index 0000000000..47355ead41
--- /dev/null
+++ b/tests/manual/examples/opengl/qopenglwidget/bubble.h
@@ -0,0 +1,39 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+#ifndef BUBBLE_H
+#define BUBBLE_H
+
+#include <QBrush>
+#include <QColor>
+#include <QPointF>
+#include <QRect>
+#include <QRectF>
+
+QT_FORWARD_DECLARE_CLASS(QPainter)
+
+class Bubble
+{
+public:
+ Bubble(const QPointF &position, qreal radius, const QPointF &velocity);
+ ~Bubble();
+
+ void drawBubble(QPainter *painter);
+ void updateBrush();
+ void move(const QRect &bbox);
+ void updateCache();
+ QRectF rect();
+
+private:
+ QColor randomColor();
+
+ QBrush brush;
+ QPointF position;
+ QPointF vel;
+ qreal radius;
+ QColor innerColor;
+ QColor outerColor;
+ QImage *cache = nullptr;
+};
+
+#endif