C
Qt Quick Ultralite painteditem Example
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
#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;
};