ImagingTools Core SDK
IMask.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// ACF includes
5#include <istd/IPolymorphic.h>
6
7
8namespace imtmdbx
9{
10
11
12class IMask: istd::IPolymorphic
13{
14public:
15 virtual bool GetUnit(quint64 position) = 0;
16 virtual bool SetUnit(quint64 position, bool unit) = 0;
17
18 virtual bool GetItem(quint64 offset, quint64& item) = 0;
19 virtual bool SetItem(quint64 offset, quint64 item) = 0;
20
21 virtual bool GetNearestOffset(quint64& offset, quint64 startOffset = 0) = 0;
22 virtual bool GetNextItemOffset(quint64& offset, quint64 startOffset = -1) = 0;
23 virtual bool GetPreviosItemOffset(quint64& offset, quint64 startOffset = 0xffffffffffffff) = 0;
24};
25
26
27
28}//namespace imtmdbx