Path: blob/main_old/util/windows/win32/Win32Window.h
1693 views
//1// Copyright 2014 The ANGLE Project Authors. All rights reserved.2// Use of this source code is governed by a BSD-style license that can be3// found in the LICENSE file.4//56// Win32Window.h: Definition of the implementation of OSWindow for Win32 (Windows)78#ifndef UTIL_WIN32_WINDOW_H9#define UTIL_WIN32_WINDOW_H1011#include <windows.h>12#include <string>1314#include "util/OSWindow.h"15#include "util/Timer.h"1617class Win32Window : public OSWindow18{19public:20Win32Window();21~Win32Window() override;2223void destroy() override;24void disableErrorMessageDialog() override;2526bool takeScreenshot(uint8_t *pixelData) override;2728void resetNativeWindow() override;29EGLNativeWindowType getNativeWindow() const override;30EGLNativeDisplayType getNativeDisplay() const override;3132void messageLoop() override;3334void pushEvent(Event event) override;3536void setMousePosition(int x, int y) override;37bool setOrientation(int width, int height) override;38bool setPosition(int x, int y) override;39bool resize(int width, int height) override;40void setVisible(bool isVisible) override;4142void signalTestEvent() override;4344private:45bool initializeImpl(const std::string &name, int width, int height) override;46static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);4748std::string mParentClassName;49std::string mChildClassName;5051bool mIsVisible;52Timer mSetVisibleTimer;5354bool mIsMouseInWindow;5556EGLNativeWindowType mNativeWindow;57EGLNativeWindowType mParentWindow;58EGLNativeDisplayType mNativeDisplay;59};6061#endif // UTIL_WIN32_WINDOW_H626364