Line data Source code
1 : /* 2 : * keamaskband.h 3 : * 4 : * Created by Pete Bunting on 01/08/2012. 5 : * Copyright 2012 LibKEA. All rights reserved. 6 : * 7 : * This file is part of LibKEA. 8 : * 9 : * SPDX-License-Identifier: MIT 10 : * 11 : */ 12 : 13 : #ifndef KEAMASKBAND_H 14 : #define KEAMASKBAND_H 15 : 16 : #include "gdal_priv.h" 17 : 18 : #include "libkea_headers.h" 19 : #include "keadataset.h" 20 : 21 : class KEAMaskBand final : public GDALRasterBand 22 : { 23 : int m_nSrcBand; 24 : kealib::KEAImageIO *m_pImageIO; // our image access pointer - refcounted 25 : LockedRefCount *m_pRefCount; // reference count of m_pImageIO 26 : public: 27 : KEAMaskBand(GDALRasterBand *pParent, kealib::KEAImageIO *pImageIO, 28 : LockedRefCount *pRefCount); 29 : ~KEAMaskBand(); 30 : 31 1 : virtual bool IsMaskBand() const override 32 : { 33 1 : return true; 34 : } 35 : 36 : protected: 37 : // we just override these functions from GDALRasterBand 38 : virtual CPLErr IReadBlock(int, int, void *) override; 39 : virtual CPLErr IWriteBlock(int, int, void *) override; 40 : }; 41 : 42 : #endif // KEAMASKBAND_H