Upgrade WX to r74856, mainly to support @2x.

This commit is contained in:
comex
2013-09-22 18:44:55 -04:00
parent 0bdef3932f
commit 66ed9a1804
1935 changed files with 45373 additions and 22739 deletions

View File

@ -4,7 +4,6 @@
* Author: Vadim Zeitlin
* Modified by:
* Created: 29.10.01 (extracted from wx/defs.h)
* RCS-ID: $Id: platform.h 70757 2012-02-29 22:40:24Z VZ $
* Copyright: (c) 1997-2001 Vadim Zeitlin
* Licence: wxWindows licence
*/
@ -14,16 +13,6 @@
#ifndef _WX_PLATFORM_H_
#define _WX_PLATFORM_H_
/*
Codewarrior doesn't define any Windows symbols until some headers
are included
*/
#ifdef __MWERKS__
# include <stddef.h>
#endif
#ifdef __WXMAC_XCODE__
# include <unistd.h>
# include <TargetConditionals.h>
@ -37,6 +26,12 @@
# ifndef MAC_OS_X_VERSION_10_6
# define MAC_OS_X_VERSION_10_6 1060
# endif
# ifndef MAC_OS_X_VERSION_10_7
# define MAC_OS_X_VERSION_10_7 1070
# endif
# ifndef MAC_OS_X_VERSION_10_8
# define MAC_OS_X_VERSION_10_8 1080
# endif
# include "wx/osx/config_xcode.h"
# ifndef __WXOSX__
# define __WXOSX__ 1
@ -47,14 +42,20 @@
#endif
/*
first define Windows symbols if they're not defined on the command line: we
can autodetect everything we need if _WIN32 is defined
We use __WINDOWS__ as our main identification symbol for Microsoft Windows
but it's actually not predefined directly by any commonly used compilers
(only Watcom defines it itself and it's not supported any longer), so we
define it ourselves if any of the following macros is defined:
- MSVC _WIN32 (notice that this is also defined under Win64)
- Borland __WIN32__
- Our __WXMSW__ which selects Windows as platform automatically
*/
#if defined(__CYGWIN__) && defined(__WINDOWS__)
# ifndef __WXMSW__
# define __WXMSW__
# endif
#endif
#if defined(_WIN32) || defined(__WIN32__) || defined(__WXMSW__)
# ifndef __WINDOWS__
# define __WINDOWS__
# endif /* !__WINDOWS__ */
#endif /* Any standard symbol indicating Windows */
#if defined(_WIN64)
# ifndef _WIN32
@ -71,14 +72,12 @@
# endif /* !__WIN64__ */
#endif /* _WIN64 */
#if (defined(_WIN32) || defined(WIN32) || defined(__NT__) || defined(__WXWINCE__)) \
&& !defined(__WXMOTIF__) && !defined(__WXGTK__) && !defined(__WXX11__)
# ifndef __WXMSW__
# define __WXMSW__
# endif
#endif /* Win32 */
#if defined(__WINDOWS__)
/* Select wxMSW under Windows if no other port is specified. */
# if !defined(__WXMSW__) && !defined(__WXMOTIF__) && !defined(__WXGTK__) && !defined(__WXX11__)
# define __WXMSW__
# endif
#if defined(__WXMSW__)
# if !defined(__WINDOWS__)
# define __WINDOWS__
# endif
@ -94,7 +93,25 @@
# ifndef __WIN32__
# define __WIN32__
# endif
#endif /* __WXMSW__ */
#endif /* __WINDOWS__ */
/* Don't use widget toolkit specific code in non-GUI code */
#if defined(wxUSE_GUI) && !wxUSE_GUI
# ifdef __WXMSW__
# undef __WXMSW__
# endif
# ifdef __WXGTK__
# undef __WXGTK__
# endif
#endif
#if defined(__WXGTK__) && defined(__WINDOWS__)
# ifdef __WXMSW__
# undef __WXMSW__
# endif
#endif /* __WXGTK__ && __WINDOWS__ */
/* detect MS SmartPhone */
#if defined( WIN32_PLATFORM_WFSP )
@ -154,24 +171,18 @@
# include "wx/android/config_android.h"
#endif
#include "wx/compiler.h"
/*
Include wx/setup.h for the Unix platform defines generated by configure and
the library compilation options
Note that it must be included before defining hardware symbols below as they
could be already defined by configure
could be already defined by configure but it must be included after defining
the compiler macros above as msvc/wx/setup.h relies on them under Windows.
*/
#include "wx/setup.h"
#ifdef __GCCXML__
/*
we're using gccxml to create an XML representation of the entire
wxWidgets interface; use a special setup_gccxml.h file to fix some
of the stuff #defined by the real setup.h
*/
#include "wx/setup_gccxml.h"
#endif
/*
Convenience for any optional classes that use the wxAnyButton base class.
*/
@ -236,11 +247,6 @@
# endif
#endif /* wxUSE_UNICODE */
#if defined( __MWERKS__ ) && !defined(__INTEL__)
/* otherwise MSL headers bring in WIN32 dependant APIs */
#undef UNICODE
#endif
/*
test for old versions of Borland C, normally need at least 5.82, Turbo
@ -279,25 +285,6 @@
# define wxCOMPILER_BROKEN_CONCAT_OPER
#endif /* __BORLANDC__ */
/*
Define Watcom-specific macros.
*/
#ifndef __WATCOMC__
# define wxWATCOM_VERSION(major,minor) 0
# define wxCHECK_WATCOM_VERSION(major,minor) 0
# define wxONLY_WATCOM_EARLIER_THAN(major,minor) 0
# define WX_WATCOM_ONLY_CODE( x )
#else
# if __WATCOMC__ < 1200
# error "Only Open Watcom is supported in this release"
# endif
# define wxWATCOM_VERSION(major,minor) ( major * 100 + minor * 10 + 1100 )
# define wxCHECK_WATCOM_VERSION(major,minor) ( __WATCOMC__ >= wxWATCOM_VERSION(major,minor) )
# define wxONLY_WATCOM_EARLIER_THAN(major,minor) ( __WATCOMC__ < wxWATCOM_VERSION(major,minor) )
# define WX_WATCOM_ONLY_CODE( x ) x
#endif
/*
OS: first of all, test for MS-DOS platform. We must do this before testing
for Unix, because DJGPP compiler defines __unix__ under MS-DOS
@ -347,12 +334,6 @@
# endif
# endif /* SGI */
# if defined(__SUNPRO_CC)
# ifndef __SUNCC__
# define __SUNCC__ __SUNPRO_CC
# endif /* Sun CC */
# endif /* Sun CC */
# ifdef __EMX__
# define OS2EMX_PLAIN_CHAR
# endif
@ -397,17 +378,6 @@
# endif
# endif
/*
OS: Classic Mac OS
*/
#elif defined(applec) || \
defined(THINK_C) || \
(defined(__MWERKS__) && !defined(__INTEL__))
/* MacOS */
# if !defined(wxSIZE_T_IS_UINT) && !defined(wxSIZE_T_IS_ULONG)
# define wxSIZE_T_IS_ULONG
# endif
/*
OS: OS/2
*/
@ -432,61 +402,22 @@
# define wxSIZE_T_IS_UINT
/*
OS: Otherwise it must be Windows
OS: Windows
*/
#else /* Windows */
# ifndef __WINDOWS__
# define __WINDOWS__
# endif /* Windows */
#elif defined(__WINDOWS__)
/* to be changed for Win64! */
# ifndef __WIN32__
# error "__WIN32__ should be defined for Win32 and Win64, Win16 is not supported"
# endif
/*
define another standard symbol for Microsoft Visual C++: the standard
one (_MSC_VER) is also defined by Metrowerks compiler
*/
# if defined(_MSC_VER) && !defined(__MWERKS__)
# define __VISUALC__ _MSC_VER
/*
define special symbols for different VC version instead of writing tests
for magic numbers such as 1200, 1300 &c repeatedly
*/
# if __VISUALC__ < 1100
# error "This Visual C++ version is too old and not supported any longer."
# elif __VISUALC__ < 1200
# define __VISUALC5__
# elif __VISUALC__ < 1300
# define __VISUALC6__
# elif __VISUALC__ < 1400
# define __VISUALC7__
# elif __VISUALC__ < 1500
# define __VISUALC8__
# elif __VISUALC__ < 1600
# define __VISUALC9__
# elif __VISUALC__ < 1700
# define __VISUALC10__
# elif __VISUALC__ < 1800
# define __VISUALC11__
# else
# pragma message("Please update wx/platform.h to recognize this VC++ version")
# endif
# elif defined(__BCPLUSPLUS__) && !defined(__BORLANDC__)
# define __BORLANDC__
# elif defined(__WATCOMC__)
# elif defined(__SC__)
# define __SYMANTECC__
# endif /* compiler */
/* size_t is the same as unsigned int for all Windows compilers we know, */
/* so define it if it hadn't been done by configure yet */
# if !defined(wxSIZE_T_IS_UINT) && !defined(wxSIZE_T_IS_ULONG) && !defined(__WIN64__)
# define wxSIZE_T_IS_UINT
# endif
#else
# error "Unknown platform."
#endif /* OS */
/*
@ -501,18 +432,6 @@
# define __X__
#endif
#ifdef __SC__
# ifdef __DMC__
# define __DIGITALMARS__
# else
# define __SYMANTEC__
# endif
#endif
#ifdef __INTEL_COMPILER
# define __INTELC__
#endif
/*
We get "Large Files (ILP32) not supported in strict ANSI mode." #error
from HP-UX standard headers when compiling with g++ without this:
@ -528,69 +447,23 @@
# include "wx/msw/libraries.h"
#endif
/*
This macro can be used to test the gcc version and can be used like this:
# if wxCHECK_GCC_VERSION(3, 1)
... we have gcc 3.1 or later ...
# else
... no gcc at all or gcc < 3.1 ...
# endif
*/
#if defined(__GNUC__) && defined(__GNUC_MINOR__)
#define wxCHECK_GCC_VERSION( major, minor ) \
( ( __GNUC__ > (major) ) \
|| ( __GNUC__ == (major) && __GNUC_MINOR__ >= (minor) ) )
#else
#define wxCHECK_GCC_VERSION( major, minor ) 0
#endif
#if defined(__BORLANDC__) || (defined(__GNUC__) && __GNUC__ < 3)
#define wxNEEDS_CHARPP
#endif
/*
This macro can be used to test the Visual C++ version.
*/
#ifndef __VISUALC__
# define wxVISUALC_VERSION(major) 0
# define wxCHECK_VISUALC_VERSION(major) 0
#else
# define wxVISUALC_VERSION(major) ( (6 + major) * 100 )
# define wxCHECK_VISUALC_VERSION(major) ( __VISUALC__ >= wxVISUALC_VERSION(major) )
#endif
/*
This macro can be used to check that the version of mingw32 compiler is
at least maj.min
*/
#if ( defined( __GNUWIN32__ ) || defined( __MINGW32__ ) || \
( defined( __CYGWIN__ ) && defined( __WINDOWS__ ) ) || \
wxCHECK_WATCOM_VERSION(1,0) ) && \
!defined(__DOS__) && \
!defined(__WXPM__) && \
!defined(__WXMOTIF__) && \
!defined(__WXGTK__) && \
!defined(__WXX11__)
# include "wx/msw/gccpriv.h"
#else
# undef wxCHECK_W32API_VERSION
# define wxCHECK_W32API_VERSION(maj, min) (0)
# undef wxCHECK_MINGW32_VERSION
# define wxCHECK_MINGW32_VERSION(maj, min) (0)
#endif
/**
This is similar to wxCHECK_GCC_VERSION but for Sun CC compiler.
*/
#ifdef __SUNCC__
/*
__SUNCC__ is 0xVRP where V is major version, R release and P patch level
*/
#define wxCHECK_SUNCC_VERSION(maj, min) (__SUNCC__ >= (((maj)<<8) | ((min)<<4)))
#else
#define wxCHECK_SUNCC_VERSION(maj, min) (0)
#endif
/*
Handle Darwin gcc universal compilation. Don't do this in an Apple-
@ -644,8 +517,7 @@
checking for any OS X port (Carbon and Cocoa) and __WXMAC__ is an old name
for it.
*/
#if defined(__WXOSX_CARBON__) || defined(__WXOSX_COCOA__) || defined(__WXOSX_IPHONE__) \
|| (defined(__DARWIN__) && !wxUSE_GUI)
#if defined(__WXOSX_CARBON__) || defined(__WXOSX_COCOA__) || defined(__WXOSX_IPHONE__)
# ifndef __WXOSX__
# define __WXOSX__ 1
# endif
@ -684,6 +556,12 @@
# ifndef MAC_OS_X_VERSION_10_6
# define MAC_OS_X_VERSION_10_6 1060
# endif
# ifndef MAC_OS_X_VERSION_10_7
# define MAC_OS_X_VERSION_10_7 1070
# endif
# ifndef MAC_OS_X_VERSION_10_8
# define MAC_OS_X_VERSION_10_8 1080
# endif
# else
# error "only mach-o configurations are supported"
# endif
@ -770,7 +648,7 @@
/* Choose which method we will use for updating menus
* - in OnIdle, or when we receive a wxEVT_MENU_OPEN event.
* Presently, only Windows and GTK+ support wxEVT_MENU_OPEN.
* Presently, only Windows, OS X and GTK+ support wxEVT_MENU_OPEN.
*/
#ifndef wxUSE_IDLEMENUUPDATES
# if (defined(__WXMSW__) || defined(__WXGTK__) || defined(__WXOSX__)) && !defined(__WXUNIVERSAL__)