]> git.saurik.com Git - wxWidgets.git/commitdiff
extracted code including gdiplus.h in a separate header
authorVadim Zeitlin <vadim@wxwidgets.org>
Thu, 15 Mar 2007 03:41:52 +0000 (03:41 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Thu, 15 Mar 2007 03:41:52 +0000 (03:41 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/msw/wrapgdip.h [new file with mode: 0644]
src/msw/graphics.cpp

diff --git a/include/wx/msw/wrapgdip.h b/include/wx/msw/wrapgdip.h
new file mode 100644 (file)
index 0000000..1aabe66
--- /dev/null
@@ -0,0 +1,32 @@
+///////////////////////////////////////////////////////////////////////////////
+// Name:        wx/msw/wrapgdip.h
+// Purpose:     wrapper around <gdiplus.h> header
+// Author:      Vadim Zeitlin
+// Created:     2007-03-15
+// RCS-ID:      $Id$
+// 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"
+
+// these macros must be defined before gdiplus.h is included but we explicitly
+// prevent windows.h from defining them in wx/msw/wrapwin.h as they conflict
+// with standard functions of the same name elsewhere, so we have to pay for it
+// by manually redefining them ourselves here
+#ifndef max
+    #define max(a,b)            (((a) > (b)) ? (a) : (b))
+#endif
+
+#ifndef min
+    #define min(a,b)            (((a) < (b)) ? (a) : (b))
+#endif
+
+#include <gdiplus.h>
+using namespace Gdiplus;
+
+#endif // _WX_MSW_WRAPGDIP_H_
+
index d41d1db4c347365ac6142b758467e81af66b617e..dbed8ff5c2dcd205a29c28129c2f096e22df072c 100644 (file)
@@ -17,6 +17,8 @@
 #pragma hdrstop
 #endif
 
+#if wxUSE_GRAPHICS_CONTEXT
+
 #ifndef WX_PRECOMP
 #include "wx/msw/wrapcdlg.h"
 #include "wx/image.h"
 
 #include "wx/graphics.h"
 
-#if wxUSE_GRAPHICS_CONTEXT
-
 #include <vector>
 
 using namespace std;
 
+#include "wx/msw/wrapgdip.h"
+
 //-----------------------------------------------------------------------------
 // constants
 //-----------------------------------------------------------------------------
@@ -79,19 +81,6 @@ static inline double RadToDeg(double deg) { return (deg * 180.0) / M_PI; }
 #include <commdlg.h>
 #endif
 
-// TODO remove this dependency (gdiplus needs the macros)
-
-#ifndef max
-#define max(a,b)            (((a) > (b)) ? (a) : (b))
-#endif
-
-#ifndef min
-#define min(a,b)            (((a) < (b)) ? (a) : (b))
-#endif
-
-#include "gdiplus.h"
-using namespace Gdiplus;
-
 class WXDLLIMPEXP_CORE wxGDIPlusPathData : public wxGraphicsPathData
 {
 public :