2019-09-04 04:59:43 +00:00
|
|
|
/******************************************************************************
|
2024-01-17 13:31:45 +00:00
|
|
|
* QSkinny - Copyright (C) The authors
|
2023-04-06 07:23:37 +00:00
|
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
2019-09-04 04:59:43 +00:00
|
|
|
*****************************************************************************/
|
|
|
|
|
|
2024-02-02 13:13:33 +00:00
|
|
|
#ifndef QSK_ITEM_PRIVATE_H
|
|
|
|
|
#define QSK_ITEM_PRIVATE_H
|
2019-09-04 04:59:43 +00:00
|
|
|
|
|
|
|
|
#include "QskGlobal.h"
|
2024-02-02 13:13:33 +00:00
|
|
|
#include "QskItem.h"
|
2019-09-04 04:59:43 +00:00
|
|
|
|
|
|
|
|
QSK_QT_PRIVATE_BEGIN
|
|
|
|
|
#include <private/qquickitem_p.h>
|
|
|
|
|
QSK_QT_PRIVATE_END
|
|
|
|
|
|
2024-02-02 13:13:33 +00:00
|
|
|
class QskItemPrivate : public QQuickItemPrivate
|
2019-09-04 04:59:43 +00:00
|
|
|
{
|
|
|
|
|
using Inherited = QQuickItemPrivate;
|
|
|
|
|
|
|
|
|
|
protected:
|
2024-02-02 13:13:33 +00:00
|
|
|
QskItemPrivate();
|
|
|
|
|
~QskItemPrivate() override;
|
2019-09-04 04:59:43 +00:00
|
|
|
|
|
|
|
|
public:
|
2024-02-02 13:13:33 +00:00
|
|
|
void applyUpdateFlags( QskItem::UpdateFlags );
|
2023-12-17 16:28:00 +00:00
|
|
|
QSGTransformNode* createTransformNode() override;
|
2019-09-04 04:59:43 +00:00
|
|
|
|
|
|
|
|
protected:
|
2019-09-04 06:08:13 +00:00
|
|
|
virtual void layoutConstraintChanged();
|
2019-09-04 04:59:43 +00:00
|
|
|
virtual void implicitSizeChanged();
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
void cleanupNodes();
|
|
|
|
|
void mirrorChange() override;
|
|
|
|
|
|
|
|
|
|
qreal getImplicitWidth() const override final;
|
|
|
|
|
qreal getImplicitHeight() const override final;
|
|
|
|
|
|
|
|
|
|
void implicitWidthChanged() override final;
|
|
|
|
|
void implicitHeightChanged() override final;
|
|
|
|
|
|
|
|
|
|
void updateImplicitSize( bool doNotify );
|
|
|
|
|
|
|
|
|
|
void setImplicitSize( qreal width, qreal height, bool doNotify );
|
2019-09-04 06:08:13 +00:00
|
|
|
virtual QSizeF implicitSizeHint() const = 0;
|
2019-09-04 04:59:43 +00:00
|
|
|
|
|
|
|
|
private:
|
2024-02-02 13:13:33 +00:00
|
|
|
Q_DECLARE_PUBLIC( QskItem )
|
2019-09-04 04:59:43 +00:00
|
|
|
|
2021-02-09 07:13:20 +00:00
|
|
|
quint8 updateFlags;
|
|
|
|
|
quint8 updateFlagsMask;
|
2019-09-04 04:59:43 +00:00
|
|
|
|
|
|
|
|
bool polishOnResize : 1;
|
2024-02-08 10:33:42 +00:00
|
|
|
bool polishOnParentResize : 1;
|
2019-09-04 04:59:43 +00:00
|
|
|
|
|
|
|
|
bool blockedPolish : 1;
|
|
|
|
|
bool blockedImplicitSize : 1;
|
|
|
|
|
bool clearPreviousNodes : 1;
|
|
|
|
|
|
2021-02-01 09:09:37 +00:00
|
|
|
bool initiallyPainted : 1;
|
2024-02-02 08:48:26 +00:00
|
|
|
bool wheelEnabled : 1;
|
|
|
|
|
|
|
|
|
|
uint focusPolicy : 4;
|
2019-09-04 04:59:43 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif
|