diff options
author | sail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-02 23:03:07 +0000 |
---|---|---|
committer | sail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-02 23:03:07 +0000 |
commit | 267c03d478d9c83ef8c37999f3abb1cd822881ff (patch) | |
tree | 6286c650d0ec58cdee9c7482fda929252bd985b5 /ui/gfx/win_util.cc | |
parent | 7c085463177741a3844215675577bba3de1be836 (diff) | |
download | chromium_src-267c03d478d9c83ef8c37999f3abb1cd822881ff.zip chromium_src-267c03d478d9c83ef8c37999f3abb1cd822881ff.tar.gz chromium_src-267c03d478d9c83ef8c37999f3abb1cd822881ff.tar.bz2 |
Move src/gfx/ to src/ui/gfx
To reduce the size of this change I've left stub header files in src/gfx/. Once all includes have been updated I'll delete the stub files.
BUG=71063
TEST=Still doing test builds.
Review URL: http://codereview.chromium.org/6246027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73530 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gfx/win_util.cc')
-rw-r--r-- | ui/gfx/win_util.cc | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/ui/gfx/win_util.cc b/ui/gfx/win_util.cc new file mode 100644 index 0000000..9941a65 --- /dev/null +++ b/ui/gfx/win_util.cc @@ -0,0 +1,63 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "gfx/win_util.h" + +#include <windows.h> + +#include "base/win/windows_version.h" + +namespace { + +bool DynamicLibraryPresent(const wchar_t* lib_name) { + HINSTANCE lib = LoadLibrary(lib_name); + if (lib) { + FreeLibrary(lib); + return true; + } + return false; +} + +} // namespace + +namespace gfx { + +// Returns true if Direct2d is available, false otherwise. +bool Direct2dIsAvailable() { + static bool checked = false; + static bool available = false; + + if (!checked) { + base::win::Version version = base::win::GetVersion(); + if (version < base::win::VERSION_VISTA) + available = false; + else if (version >= base::win::VERSION_WIN7) + available = true; + else + available = DynamicLibraryPresent(L"d2d1.dll"); + checked = true; + } + return available; +} + +// Returns true if DirectWrite is available, false otherwise. +bool DirectWriteIsAvailable() { + static bool checked = false; + static bool available = false; + + if (!checked) { + base::win::Version version = base::win::GetVersion(); + if (version < base::win::VERSION_VISTA) + available = false; + else if (version >= base::win::VERSION_WIN7) + available = true; + else + available = DynamicLibraryPresent(L"dwrite.dll"); + checked = true; + } + return available; +} + +} // namespace gfx + |