qskinny/examples/mycontrols/MyToggleButtonSkinlet.h

44 lines
1.0 KiB
C
Raw Normal View History

2019-02-26 21:52:02 +01:00
/******************************************************************************
* QSkinny - Copyright (C) 2016 Uwe Rathmann
2023-04-06 09:23:37 +02:00
* SPDX-License-Identifier: BSD-3-Clause
2019-02-26 21:52:02 +01:00
*****************************************************************************/
2021-08-04 10:11:12 +02:00
#pragma once
2019-02-26 21:52:02 +01:00
#include <QskSkinlet.h>
class MyToggleButton;
class MyToggleButtonSkinlet : public QskSkinlet
{
Q_GADGET
using Inherited = QskSkinlet;
public:
enum NodeRole
{
PanelRole,
CursorRole,
CheckedLabelRole,
2021-12-27 18:47:46 +01:00
CheckedGraphicRole,
2019-02-26 21:52:02 +01:00
UncheckedLabelRole,
2021-12-27 18:47:46 +01:00
UncheckedGraphicRole
2019-02-26 21:52:02 +01:00
};
Q_INVOKABLE MyToggleButtonSkinlet( QskSkin* = nullptr );
~MyToggleButtonSkinlet() override = default;
QRectF subControlRect( const QskSkinnable*,
const QRectF&, QskAspect::Subcontrol ) const override;
2019-02-26 21:52:02 +01:00
QSizeF sizeHint( const QskSkinnable*,
Qt::SizeHint, const QSizeF& ) const override;
2019-02-26 21:52:02 +01:00
protected:
QSGNode* updateSubNode( const QskSkinnable*,
quint8 nodeRole, QSGNode* ) const override;
2019-02-26 21:52:02 +01:00
};