Line data Source code
1 : /****************************************************************************** 2 : * 3 : * Project: GDAL 4 : * Purpose: Includes ECW SDK headers 5 : * Author: Even Rouault <even dot rouault at spatialys dot com> 6 : * 7 : ****************************************************************************** 8 : * Copyright (c) 2015, Even Rouault <even dot rouault at spatialys dot com> 9 : * 10 : * SPDX-License-Identifier: MIT 11 : *****************************************************************************/ 12 : 13 : #ifndef ECWSDK_HEADERS_H 14 : #define ECWSDK_HEADERS_H 15 : 16 : #include "cpl_port.h" 17 : 18 : #ifdef HAVE_GCC_SYSTEM_HEADER 19 : #pragma GCC system_header 20 : #endif 21 : 22 : // The following is needed on 4.x+ to enable rw support. 23 : #if defined(HAVE_COMPRESS) 24 : #ifndef ECW_COMPRESS_RW_SDK_VERSION 25 : #define ECW_COMPRESS_RW_SDK_VERSION 26 : #endif 27 : #endif 28 : 29 : #if defined(_MSC_VER) 30 : #pragma warning(disable : 4800) 31 : #endif 32 : 33 : #include <NCSECWClient.h> 34 : #include <NCSECWCompressClient.h> 35 : #include <NCSErrors.h> 36 : #include <NCSFile.h> 37 : #include <NCSJP2FileView.h> 38 : 39 : #ifdef HAVE_ECW_BUILDNUMBER_H 40 : #include <ECWJP2BuildNumber.h> 41 : #if !defined(ECW_VERSION) 42 : #define ECWSDK_VERSION (NCS_ECWJP2_VER_MAJOR * 10 + NCS_ECWJP2_VER_MINOR) 43 : #endif 44 : #else 45 : /* By default, assume 3.3 SDK Version. */ 46 : #if !defined(ECWSDK_VERSION) 47 : #define ECWSDK_VERSION 33 48 : #endif 49 : #endif 50 : 51 : #if ECWSDK_VERSION < 40 52 : 53 : #include <NCSJPCFileIOStream.h> 54 : #if !defined(NO_COMPRESS) && !defined(HAVE_COMPRESS) 55 : #define HAVE_COMPRESS 56 : #endif 57 : 58 : #else 59 : #if ECWSDK_VERSION >= 50 60 : #if ECWSDK_VERSION >= 51 61 : #define JPEG2000_DOMAIN_NAME "JPEG2000" 62 : #endif 63 : #include <NCSECWHeaderEditor.h> 64 : #include "NCSEcw/SDK/Box.h" 65 : #else 66 : #include <HeaderEditor.h> 67 : #endif 68 : #define NCS_FASTCALL 69 : #endif 70 : 71 : #if ECWSDK_VERSION >= 40 72 : #define SDK_CAN_DO_SUPERSAMPLING 1 73 : #endif 74 : 75 : #ifndef NCSFILEBASE_H 76 : #include <NCSJP2FileView.h> 77 : #else 78 : #undef CNCSJP2FileView 79 : #define CNCSJP2FileView CNCSFile 80 : #endif 81 : 82 : /* Trick to avoid warnings with SDK 3.3 when assigning a NCSError code */ 83 : /* to a CNCSError object */ 84 4334 : static inline CNCSError GetCNCSError(NCSError nCode) 85 : { 86 4334 : return CNCSError(nCode); 87 : } 88 : 89 : #if ECWSDK_VERSION < 50 90 : /* For NCSStrDup */ 91 : #include "NCSUtil.h" 92 : #endif 93 : 94 : #endif