ImagingTools Core SDK
CMonitorInfoProviderComp.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// ACF includes
6#include <icomp/CComponentBase.h>
7
8// ImtCore includes
9#include <imtgui/CMonitorInfoProvider.h>
10
11
12namespace imtgui
13{
14
15
16class CMonitorInfoProviderComp: public icomp::CComponentBase, public CMonitorInfoProvider
17{
18public:
19 typedef icomp::CComponentBase BaseClass;
20
21 I_BEGIN_COMPONENT(CMonitorInfoProviderComp);
22 I_REGISTER_INTERFACE(IMonitorInfoProvider);
23 I_REGISTER_INTERFACE(istd::IChangeable);
24 I_ASSIGN(m_physicalWidthAttrPtr, "MonitorPhysicalWidth", "Monitor physical width", false, 0);
25 I_ASSIGN(m_physicalHeightAttrPtr, "MonitorPhysicalHeight", "Monitor physical height", false, 0);
26 I_END_COMPONENT;
27
28 // reimplemented (icomp::CComponentBase)
29 virtual void OnComponentCreated() override;
30
31private:
32 I_ATTR(int, m_physicalWidthAttrPtr);
33 I_ATTR(int, m_physicalHeightAttrPtr);
34};
35
36
37} // namespace imtgui
38
39