From 11278f108e0ad52264bef469977c88412cb40c45 Mon Sep 17 00:00:00 2001 From: vincent-t Date: Mon, 13 Mar 2017 20:18:30 +0100 Subject: [PATCH] CxImage Linux port --- src/Externals/cximage/CMakeLists.txt | 39 ++++++++++++++++++++++++++++ src/Externals/cximage/ximacfg.h | 3 +++ src/Externals/cximage/ximadef.h | 6 +++++ src/Externals/cximage/ximainfo.cpp | 12 ++++++--- src/Externals/cximage/ximajpg.cpp | 2 +- src/Externals/cximage/ximajpg.h | 4 +-- 6 files changed, 59 insertions(+), 7 deletions(-) create mode 100644 src/Externals/cximage/CMakeLists.txt diff --git a/src/Externals/cximage/CMakeLists.txt b/src/Externals/cximage/CMakeLists.txt new file mode 100644 index 00000000000..bf527734197 --- /dev/null +++ b/src/Externals/cximage/CMakeLists.txt @@ -0,0 +1,39 @@ +cmake_minimum_required(VERSION 2.8.0) +project(cximage) + +set(SOURCES + ximacfg.cpp + ximaenc.cpp + ximaexif.cpp + ximage.cpp + ximainfo.cpp + ximaint.cpp + ximajpg.cpp + ximalpha.cpp + ximalyr.cpp + ximapal.cpp + ximasel.cpp + ximath.cpp + xmemfile.cpp +) + +set(HEADERS + xfile.h + ximacfg.h + ximadef.h + ximage.h + ximaiter.h + ximajpg.h + ximath.h + xiofile.h + xmemfile.h +) + +add_definitions(-DCXIMAGE_BUILD) + +include_directories("." ${CMAKE_SOURCE_DIR}) + +add_library(cximage STATIC ${SOURCES} ${HEADERS}) + +set_target_properties(cximage PROPERTIES PREFIX "") +target_link_libraries(cximage) diff --git a/src/Externals/cximage/ximacfg.h b/src/Externals/cximage/ximacfg.h index 706ec934260..c3e24baa8cf 100644 --- a/src/Externals/cximage/ximacfg.h +++ b/src/Externals/cximage/ximacfg.h @@ -1,5 +1,8 @@ #if !defined(__ximaCFG_h) #define __ximaCFG_h +#if !defined(WIN32) +#include +#endif extern "C" void* cxalloc(size_t size); extern "C" void cxfree(void* ptr); diff --git a/src/Externals/cximage/ximadef.h b/src/Externals/cximage/ximadef.h index b388b2b81f4..f00f59fff09 100644 --- a/src/Externals/cximage/ximadef.h +++ b/src/Externals/cximage/ximadef.h @@ -98,10 +98,16 @@ typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; typedef unsigned int UINT; +typedef const char* LPCTSTR; typedef DWORD COLORREF; typedef unsigned int HANDLE; typedef void* HRGN; +typedef void* HDC; + +typedef int boolean; + +#define _tfopen fopen #ifndef BOOL #define BOOL bool diff --git a/src/Externals/cximage/ximainfo.cpp b/src/Externals/cximage/ximainfo.cpp index 28cbad40cc4..8278822b8d8 100644 --- a/src/Externals/cximage/ximainfo.cpp +++ b/src/Externals/cximage/ximainfo.cpp @@ -5,6 +5,10 @@ #include "ximage.h" +#if !defined(WIN32) +#define _tcsnicmp(a,b,c) strcasecmp(a,b) +#endif + //////////////////////////////////////////////////////////////////////////////// /** * \return the color used for transparency, and/or for background color @@ -538,7 +542,7 @@ void CxImage::SetOffset(long x,long y) //////////////////////////////////////////////////////////////////////////////// /** * \sa SetJpegQuality, GetJpegQualityF - * \author [DP]; changes [Stefan Schürmans] + * \author [DP]; changes [Stefan Sch�rmans] */ BYTE CxImage::GetJpegQuality() const { @@ -547,7 +551,7 @@ BYTE CxImage::GetJpegQuality() const //////////////////////////////////////////////////////////////////////////////// /** * \sa SetJpegQuality, GetJpegQuality - * \author [Stefan Schürmans] + * \author [Stefan Sch�rmans] */ float CxImage::GetJpegQualityF() const { @@ -557,7 +561,7 @@ float CxImage::GetJpegQualityF() const /** * quality level for JPEG and JPEG2000 * \param q: can be from 0 to 100 - * \author [DP]; changes [Stefan Schürmans] + * \author [DP]; changes [Stefan Sch�rmans] */ void CxImage::SetJpegQuality(BYTE q){ info.fQuality = (float)q; @@ -567,7 +571,7 @@ void CxImage::SetJpegQuality(BYTE q){ * quality level for JPEG and JPEG2000 * necessary for JPEG2000 when quality is between 0.0 and 1.0 * \param q: can be from 0.0 to 100.0 - * \author [Stefan Schürmans] + * \author [Stefan Sch�rmans] */ void CxImage::SetJpegQualityF(float q){ if (q>0) info.fQuality = q; diff --git a/src/Externals/cximage/ximajpg.cpp b/src/Externals/cximage/ximajpg.cpp index 40cd4589895..42b437cc804 100644 --- a/src/Externals/cximage/ximajpg.cpp +++ b/src/Externals/cximage/ximajpg.cpp @@ -11,7 +11,7 @@ #define XMD_H #define HAVE_BOOLEAN -#include +#include #undef HAVE_BOOLEAN #undef XMD_H diff --git a/src/Externals/cximage/ximajpg.h b/src/Externals/cximage/ximajpg.h index 4fe8664fd04..841cd18bb69 100644 --- a/src/Externals/cximage/ximajpg.h +++ b/src/Externals/cximage/ximajpg.h @@ -31,8 +31,8 @@ #define XMD_H #define HAVE_BOOLEAN extern "C" { - #include - #include + #include + #include } #undef HAVE_BOOLEAN #undef XMD_H