cef/tests/shared/browser/util_win.h
Marshall Greenblatt 8fee8ed05d Add unittests target to the binary distribution (issue #1632)
- Move all tests from the top-level directory to tests/.
- Move files shared by cefclient and unittests to tests/shared/.
- Add a fused (single header/source file) version of gtest in
  tests/gtest/ with associated CMake configuration.
- Test-only headers are now exposed in include/test/. Unit test
  targets must define UNIT_TEST in order to access them.
- Replace usage of USING_CEF_SHARED with WRAPPING_CEF_SHARED for
  clarity (only the libcef_dll_wrapper target should define it).
- Remove the RENAME_DIRECTORY CMake macro which is no longer used.
- Remove C++11 usage from unittests sources for compatibility with
  the binary distribution configuration.
- Windows: Fix build errors due to chrome_elf.dll and imm32.lib
  missing from the CMake configuration.
2016-11-18 03:19:17 -05:00

42 lines
1.2 KiB
C++

// Copyright (c) 2015 The Chromium Embedded Framework Authors. All rights
// reserved. Use of this source code is governed by a BSD-style license that
// can be found in the LICENSE file.
#ifndef CEF_TESTS_SHARED_BROWSER_UTIL_WIN_H_
#define CEF_TESTS_SHARED_BROWSER_UTIL_WIN_H_
#pragma once
#include <windows.h>
#include <string>
#include "include/internal/cef_types_wrappers.h"
namespace client {
// Set the window's user data pointer.
void SetUserDataPtr(HWND hWnd, void* ptr);
// Return the window's user data pointer.
template <typename T>
T GetUserDataPtr(HWND hWnd) {
return reinterpret_cast<T>(GetWindowLongPtr(hWnd, GWLP_USERDATA));
}
// Set the window's window procedure pointer and return the old value.
WNDPROC SetWndProcPtr(HWND hWnd, WNDPROC wndProc);
// Return the resource string with the specified id.
std::wstring GetResourceString(UINT id);
int GetCefMouseModifiers(WPARAM wparam);
int GetCefKeyboardModifiers(WPARAM wparam, LPARAM lparam);
bool IsKeyDown(WPARAM wparam);
// Returns the device scale factor. For example, 200% display scaling will
// return 2.0.
float GetDeviceScaleFactor();
} // namespace client
#endif // CEF_TESTS_SHARED_BROWSER_UTIL_WIN_H_