ImagingTools Core SDK
IMaskContainer.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 <istd/IPolymorphic.h>
7
8// ImtCore includes
9#include <imtmdbx/IMask.h>
10#include <imtmdbx/IDocumentTable.h>
11
12
13namespace imtmdbx
14{
15
16
17class IMaskContainer: istd::IPolymorphic
18{
19public:
20 virtual void AddMask(IMask* mask, bool isInversion = false) = 0;
21 virtual void Clear() = 0;
22 virtual bool RemoveLastMask(bool isInversion = false) = 0;
23 virtual bool RemoveMask(int index, int n = 1, bool isInversion = false) = 0;
24 virtual int GetMaskCount(bool isInversion = false) = 0;
25 virtual void SetDocumentTable(IDocumentTable* documentTable) = 0;
26 virtual quint64 GetUnitCount() = 0;
27 virtual QList<quint64> GetUnitPositions(quint64 offset = 0, quint64 limit = -1) = 0;
28 virtual QList<QByteArray> GetDocuments(quint64 offset = 0, quint64 limit = -1) = 0;
29};
30
31
32} // namespace imtmdbx