// 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 #include #include "include/internal/cef_types_wrappers.h" namespace client { // Returns the current time in microseconds. uint64_t GetTimeNow(); // Set the window's user data pointer. void SetUserDataPtr(HWND hWnd, void* ptr); // Return the window's user data pointer. template T GetUserDataPtr(HWND hWnd) { return reinterpret_cast(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_