diff options
Diffstat (limited to 'tests/manual/examples/opengl/qopenglwidget/bubble.h')
-rw-r--r-- | tests/manual/examples/opengl/qopenglwidget/bubble.h | 39 |
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 |