Qt Quick Ultralite painteditem Example

/****************************************************************************** ** ** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Quick Ultralite module. ** ** $QT_BEGIN_LICENSE:COMM$ ** ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see http://www.qt.io/terms-conditions. For further ** information use the contact form at http://www.qt.io/contact-us. ** ** $QT_END_LICENSE$ ** ******************************************************************************/
#pragma once #include <qul/painteditemdelegate.h> #include <platforminterface/drawingdevice.h> #include <platforminterface/rect.h> class OscillatorPaintedItem : public Qul::PaintedItemDelegate { public: Qul::Property<int> angle; Qul::Property<int> initialAngle; Qul::Property<int> pivotLength; Qul::PlatformInterface::Rect boundingRect(Qul::PlatformInterface::Size size) const QUL_DECL_OVERRIDE; void paint(Qul::PlatformInterface::DrawingDevice *device, const Qul::PlatformInterface::Rect &clip, const Qul::PlatformInterface::Transform &transform, Qul::PlatformInterface::Size size, float opacity) const QUL_DECL_OVERRIDE; void paintCurvePath(Qul::PlatformInterface::DrawingDevice *device, const Qul::PlatformInterface::Rect &clip, const Qul::PlatformInterface::Transform &transform, Qul::PlatformInterface::Point focus, int radius, uint16_t startAngle, uint16_t endAngle, Qul::PlatformInterface::Rgba32 color) const; void paintBlob(Qul::PlatformInterface::DrawingDevice *device, const Qul::PlatformInterface::Rect &clip, Qul::PlatformInterface::Point center, int radius, Qul::PlatformInterface::Rgba32 color) const; };