a195bf86a2
The definition of macros min and max in include/wx/msw/wrapgdip.h b/include/wx/msw/wrapgdip.h was clashing with the new bessel functions that use std::numeric_limits<T>::min/max. So #include <cmath> before #include <gdiplus.h> and use using declarations of std::min and max instead of macros.
42 lines
1.3 KiB
C++
42 lines
1.3 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/msw/wrapgdip.h
|
|
// Purpose: wrapper around <gdiplus.h> header
|
|
// Author: Vadim Zeitlin
|
|
// Created: 2007-03-15
|
|
// Copyright: (c) 2007 Vadim Zeitlin <vadim@wxwindows.org>
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_MSW_WRAPGDIP_H_
|
|
#define _WX_MSW_WRAPGDIP_H_
|
|
|
|
#include "wx/msw/wrapwin.h"
|
|
|
|
// min and max must be available for gdiplus.h but we cannot define them as
|
|
// macros because they conflict with std::numeric_limits<T>::min and max when
|
|
// compiling with mingw-w64 and -std=c++17. This happens because with c++17,
|
|
// math.h includes bessel_function which requires std::numeric_limits.
|
|
|
|
#include <cmath>
|
|
using std::min;
|
|
using std::max;
|
|
|
|
// There are many clashes between the names of the member fields and parameters
|
|
// in the standard gdiplus.h header and each of them results in C4458 with
|
|
// VC14, so disable this warning for this file as there is no other way to
|
|
// avoid it.
|
|
#ifdef __VISUALC__
|
|
#pragma warning(push)
|
|
#pragma warning(disable:4458) // declaration of 'xxx' hides class member
|
|
#endif
|
|
|
|
#include <gdiplus.h>
|
|
using namespace Gdiplus;
|
|
|
|
#ifdef __VISUALC__
|
|
#pragma warning(pop)
|
|
#endif
|
|
|
|
#endif // _WX_MSW_WRAPGDIP_H_
|
|
|