SkLeanWindows.h: #include "Windows.h" fewer places
$ git grep -l '<windows.h>' include src
include/private/SkLeanWindows.h
$ git grep -l SkLeanWindows.h | grep '\.h$'
include/ports/SkTypeface_win.h
include/utils/win/SkHRESULT.h
include/utils/win/SkTScopedComPtr.h
include/views/SkEvent.h
src/core/SkMathPriv.h
src/ports/SkTypeface_win_dw.h
src/utils/SkThreadUtils_win.h
src/utils/win/SkWGL.h
The same for `#include <intrin.h>` that was found in SkMath.h.
Those functions that needed it are moved to SkMathPriv.h.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2041943002
CQ_INCLUDE_TRYBOTS=tryserver.chromium.win:win_chromium_compile_dbg_ng,win_chromium_compile_rel_ng
Review-Url: https://codereview.chromium.org/2041943002
diff --git a/src/utils/SkTextureCompressor.cpp b/src/utils/SkTextureCompressor.cpp
index e308f6e..086214e 100644
--- a/src/utils/SkTextureCompressor.cpp
+++ b/src/utils/SkTextureCompressor.cpp
@@ -14,6 +14,7 @@
#include "SkBitmapProcShader.h"
#include "SkData.h"
#include "SkEndian.h"
+#include "SkMathPriv.h"
#include "SkOpts.h"
#ifndef SK_IGNORE_ETC1_SUPPORT
diff --git a/src/utils/SkTextureCompressor_ASTC.cpp b/src/utils/SkTextureCompressor_ASTC.cpp
index 02f4f17..8a96b91 100644
--- a/src/utils/SkTextureCompressor_ASTC.cpp
+++ b/src/utils/SkTextureCompressor_ASTC.cpp
@@ -10,7 +10,7 @@
#include "SkBlitter.h"
#include "SkEndian.h"
-#include "SkMath.h"
+#include "SkMathPriv.h"
// This table contains the weight values for each texel. This is used in determining
// how to convert a 12x12 grid of alpha values into a 6x5 grid of index values. Since
diff --git a/src/utils/SkThreadUtils_win.h b/src/utils/SkThreadUtils_win.h
index 51b32fa..b1de481 100644
--- a/src/utils/SkThreadUtils_win.h
+++ b/src/utils/SkThreadUtils_win.h
@@ -8,8 +8,7 @@
#ifndef SkThreadUtils_WinData_DEFINED
#define SkThreadUtils_WinData_DEFINED
-#include "SkTypes.h"
-
+#include "SkLeanWindows.h"
#include "SkThreadUtils.h"
class SkThread_WinData : SkNoncopyable {
diff --git a/src/utils/win/SkAutoCoInitialize.cpp b/src/utils/win/SkAutoCoInitialize.cpp
index 3b7b42b..f6da67d 100644
--- a/src/utils/win/SkAutoCoInitialize.cpp
+++ b/src/utils/win/SkAutoCoInitialize.cpp
@@ -8,12 +8,11 @@
#include "SkTypes.h"
#if defined(SK_BUILD_FOR_WIN32)
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <ole2.h>
#include "SkAutoCoInitialize.h"
+#include <objbase.h>
+#include <winerror.h>
+
SkAutoCoInitialize::SkAutoCoInitialize() :
fHR(
CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE)
diff --git a/src/utils/win/SkIStream.cpp b/src/utils/win/SkIStream.cpp
index ad9bf05..560a947 100644
--- a/src/utils/win/SkIStream.cpp
+++ b/src/utils/win/SkIStream.cpp
@@ -8,9 +8,6 @@
#include "SkTypes.h"
#if defined(SK_BUILD_FOR_WIN32)
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <ole2.h>
#include "SkIStream.h"
#include "SkStream.h"
diff --git a/src/utils/win/SkWGL.h b/src/utils/win/SkWGL.h
index ebd95e7..3799377 100644
--- a/src/utils/win/SkWGL.h
+++ b/src/utils/win/SkWGL.h
@@ -10,6 +10,8 @@
#ifndef SkWGL_DEFINED
#define SkWGL_DEFINED
+#include "SkLeanWindows.h"
+
/**
* Working with WGL extensions can be a pain. Among the reasons is that You must
* have a GL context to get the proc addresses, but you want to use the procs to
@@ -22,16 +24,6 @@
* an extension.
*/
-#if !defined(WIN32_LEAN_AND_MEAN)
- #define WIN32_LEAN_AND_MEAN
- #define SK_LOCAL_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#if defined(SK_LOCAL_LEAN_AND_MEAN)
- #undef WIN32_LEAN_AND_MEAN
- #undef SK_LOCAL_LEAN_AND_MEAN
-#endif
-
#define SK_WGL_DRAW_TO_WINDOW 0x2001
#define SK_WGL_ACCELERATION 0x2003
#define SK_WGL_SUPPORT_OPENGL 0x2010