ACF $AcfVersion:0$
IVisualizable.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5#include <istd/IPolymorphic.h>
6
7#include <iview/iview.h>
8
9
10class QPainter;
11
12
13namespace iview
14{
15
16
17class IDisplay;
18
19
20class IVisualizable: virtual public istd::IPolymorphic
21{
22public:
26 virtual bool IsVisible() const = 0;
27
31 virtual bool IsDisplayAccepted(const IDisplay& display) const = 0;
32
38 virtual void OnConnectDisplay(IDisplay* displayPtr) = 0;
39
45 virtual void OnDisconnectDisplay(IDisplay* displayPtr) = 0;
46
50 virtual void Draw(QPainter& drawContext) const = 0;
51
57 virtual bool OnDisplayChange(const istd::IChangeable::ChangeSet& changeSet) = 0;
58};
59
60
61} // namespace iview
62
63
64
65
Set of change flags (its IDs).
Definition IChangeable.h:36
Base interface for all used interfaces and implementations.
virtual void Draw(QPainter &drawContext) const =0
Draw this shape using draw context.
virtual bool IsVisible() const =0
Check, if this object is visible.
virtual bool IsDisplayAccepted(const IDisplay &display) const =0
Check if this object can be connected to this display.
virtual void OnDisconnectDisplay(IDisplay *displayPtr)=0
Called after display is disconnected.
virtual bool OnDisplayChange(const istd::IChangeable::ChangeSet &changeSet)=0
It informs about changes in display.
virtual void OnConnectDisplay(IDisplay *displayPtr)=0
Called after display is connected.
In this library is defined 2D view concept and standard visualisation objects.