ImagingTools Core SDK
CQmlPointShape.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// Qt includes
6#include <QtCore/QObject>
7
8// ACF includes
9#include <i2d/CVector2d.h>
10#include <imod/TSingleModelObserverBase.h>
11
13#include "dummy.h"
14
15
16namespace imtqml2d
17{
18
19
20class CQmlPointShape: public sdl::imtsdl2d::imt2d::CPoint2d, public imod::TSingleModelObserverBase<i2d::CVector2d>
21{
22 Q_OBJECT
23
24public:
25 typedef imod::CSingleModelObserverBase BaseClass;
26 typedef sdl::imtsdl2d::imt2d::CPoint2d BaseClass2;
27
28 [[nodiscard]] bool IsValid() const;
29
30 // reimplemented (imod::IObserver)
31 virtual bool OnModelAttached(imod::IModel* modelPtr, istd::IChangeable::ChangeSet& changeMask) override;
32 virtual bool OnModelDetached(imod::IModel* modelPtr) override;
33 virtual void OnUpdate(const istd::IChangeable::ChangeSet& changeSet) override;
34
35 // reimplemented CPoint2d
36 virtual void SetX(double newX) override;
37 virtual void SetY(double newY) override;
38};
39
40
41} // namespace imtqml2d