File indexing completed on 2024-12-01 06:53:23
0001 /* 0002 SPDX-FileCopyrightText: 1999-2006 Éric Bischoff <ebischoff@nerim.net> 0003 SPDX-FileCopyrightText: 2007 Albert Astals Cid <aacid@kde.org> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 /* Object to draw on the game board */ 0009 0010 #ifndef _TODRAW_H_ 0011 #define _TODRAW_H_ 0012 0013 #include <QGraphicsSvgItem> 0014 0015 class ToDraw : public QGraphicsSvgItem 0016 { 0017 public: 0018 ToDraw(); 0019 0020 void save(QDataStream &stream) const; 0021 bool load(QDataStream &stream); 0022 0023 bool contains(const QPointF &point) const override; 0024 0025 enum { Type = UserType + 1 }; 0026 int type() const override; 0027 0028 QRectF boundingRect() const override; 0029 QRectF unclippedRect() const; 0030 0031 void setBeingDragged(bool dragged); 0032 0033 protected: 0034 QVariant itemChange(GraphicsItemChange change, const QVariant &value) override; 0035 0036 private: 0037 QRectF clippedRectAt(const QPointF &somePos) const; 0038 0039 bool m_beingDragged; 0040 }; 0041 0042 #endif