Allow using wxGraphicsContext with MinGW if gdiplus.h is available.

MinGW doesn't include gdiplus.h but it can be installed independently by the
user. Allow to use it if it's available:

- Include windows.h when checking for it in configure as this is apparently
  needed for its compilation.
- Don't reset wxUSE_GRAPHICS_CONTEXT to 0 for non-Microsoft compilers, instead
  just define it as 0 by default for them, allowing the user to simply change
  the definition in wx/msw/setup.h.

Closes #11892.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63832 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2010-04-02 19:30:41 +00:00
parent f836fe354b
commit cde23b64b5
12 changed files with 80 additions and 35 deletions

1
configure vendored
View File

@ -47506,6 +47506,7 @@ _ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <window.h>
#include <gdiplus.h>
int
main ()

View File

@ -7444,7 +7444,8 @@ if test "$wxUSE_GRAPHICS_CONTEXT" = "yes"; then
dnl GDI+ DLL dynamically anyhow during run-time
AC_LANG_PUSH(C++)
AC_TRY_COMPILE(
[#include <gdiplus.h>],
[#include <windows.h>
#include <gdiplus.h>],
[
using namespace Gdiplus;
],

View File

@ -661,11 +661,17 @@
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
// Windows is known to).
// Default is 1 except if you're using a non-Microsoft compiler under Windows
// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
// mingw32) you may need to install the headers (and just the headers)
// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
#define wxUSE_GRAPHICS_CONTEXT 1
#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
#define wxUSE_GRAPHICS_CONTEXT 1
#else
#define wxUSE_GRAPHICS_CONTEXT 0
#endif
// ----------------------------------------------------------------------------
// Individual GUI controls

View File

@ -239,15 +239,6 @@
Compiler-specific checks.
*/
// Only MSVC 7+ has gdiplus.h, add exceptions for other compilers here if they
// can support it too (but notice that Borland currently dies in
// src/msw/gdiplus.cpp with "macro expansion too long" error even if the header
// is available)
#if !wxCHECK_VISUALC_VERSION(7)
#undef wxUSE_GRAPHICS_CONTEXT
#define wxUSE_GRAPHICS_CONTEXT 0
#endif
// Borland
#ifdef __BORLANDC__

View File

@ -661,11 +661,17 @@
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
// Windows is known to).
// Default is 1 except if you're using a non-Microsoft compiler under Windows
// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
// mingw32) you may need to install the headers (and just the headers)
// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
#define wxUSE_GRAPHICS_CONTEXT 1
#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
#define wxUSE_GRAPHICS_CONTEXT 1
#else
#define wxUSE_GRAPHICS_CONTEXT 0
#endif
// ----------------------------------------------------------------------------
// Individual GUI controls

View File

@ -661,11 +661,17 @@
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
// Windows is known to).
// Default is 1 except if you're using a non-Microsoft compiler under Windows
// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
// mingw32) you may need to install the headers (and just the headers)
// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
#define wxUSE_GRAPHICS_CONTEXT 1
#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
#define wxUSE_GRAPHICS_CONTEXT 1
#else
#define wxUSE_GRAPHICS_CONTEXT 0
#endif
// ----------------------------------------------------------------------------
// Individual GUI controls

View File

@ -661,11 +661,17 @@
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
// Windows is known to).
// Default is 1 except if you're using a non-Microsoft compiler under Windows
// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
// mingw32) you may need to install the headers (and just the headers)
// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
#define wxUSE_GRAPHICS_CONTEXT 1
#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
#define wxUSE_GRAPHICS_CONTEXT 1
#else
#define wxUSE_GRAPHICS_CONTEXT 0
#endif
// ----------------------------------------------------------------------------
// Individual GUI controls

View File

@ -662,11 +662,17 @@
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
// Windows is known to).
// Default is 1 except if you're using a non-Microsoft compiler under Windows
// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
// mingw32) you may need to install the headers (and just the headers)
// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
#define wxUSE_GRAPHICS_CONTEXT 1
#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
#define wxUSE_GRAPHICS_CONTEXT 1
#else
#define wxUSE_GRAPHICS_CONTEXT 0
#endif
// ----------------------------------------------------------------------------
// Individual GUI controls

View File

@ -661,11 +661,17 @@
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
// Windows is known to).
// Default is 1 except if you're using a non-Microsoft compiler under Windows
// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
// mingw32) you may need to install the headers (and just the headers)
// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
#define wxUSE_GRAPHICS_CONTEXT 1
#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
#define wxUSE_GRAPHICS_CONTEXT 1
#else
#define wxUSE_GRAPHICS_CONTEXT 0
#endif
// ----------------------------------------------------------------------------
// Individual GUI controls

View File

@ -657,11 +657,17 @@
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
// Windows is known to).
// Default is 1 except if you're using a non-Microsoft compiler under Windows
// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
// mingw32) you may need to install the headers (and just the headers)
// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
#define wxUSE_GRAPHICS_CONTEXT 1
#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
#define wxUSE_GRAPHICS_CONTEXT 1
#else
#define wxUSE_GRAPHICS_CONTEXT 0
#endif
// ----------------------------------------------------------------------------
// Individual GUI controls

View File

@ -660,11 +660,17 @@
// still do need to distribute it yourself for an application using
// wxGraphicsContext to be runnable on pre-XP systems.
//
// Default is 1 if the compiler has gdiplus.h (currently only MSVC 7+ under
// Windows is known to).
// Default is 1 except if you're using a non-Microsoft compiler under Windows
// as only MSVC7+ is known to ship with gdiplus.h. For other compilers (e.g.
// mingw32) you may need to install the headers (and just the headers)
// yourself. If you do, change the setting below manually.
//
// Recommended setting: 1
#define wxUSE_GRAPHICS_CONTEXT 1
#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
#define wxUSE_GRAPHICS_CONTEXT 1
#else
#define wxUSE_GRAPHICS_CONTEXT 0
#endif
// ----------------------------------------------------------------------------
// Individual GUI controls

View File

@ -323,7 +323,11 @@
#define wxUSE_STC 0
#define wxUSE_GRAPHICS_CONTEXT 0
#if !defined(__WXMSW__) || wxCHECK_VISUALC_VERSION(7)
#define wxUSE_GRAPHICS_CONTEXT 0
#else
#define wxUSE_GRAPHICS_CONTEXT 0
#endif
#define wxUSE_CONTROLS 0