1// 2// Copyright (c) 2014 The ANGLE Project Authors. All rights reserved. 3// Use of this source code is governed by a BSD-style license that can be 4// found in the LICENSE file. 5// 6 7#ifndef SAMPLE_UTIL_WIN32_WINDOW_H 8#define SAMPLE_UTIL_WIN32_WINDOW_H 9 10#include "OSWindow.h" 11#include <string> 12#include <windows.h> 13 14class Win32Window : public OSWindow 15{ 16 public: 17 Win32Window(); 18 ~Win32Window(); 19 20 bool initialize(const std::string &name, size_t width, size_t height); 21 void destroy(); 22 23 EGLNativeWindowType getNativeWindow() const; 24 EGLNativeDisplayType getNativeDisplay() const; 25 26 void messageLoop(); 27 28 virtual void pushEvent(Event event); 29 30 void setMousePosition(int x, int y); 31 bool resize(int width, int height); 32 bool setVisible(bool isVisible); 33 34 private: 35 std::string mParentClassName; 36 std::string mChildClassName; 37 38 EGLNativeWindowType mNativeWindow; 39 EGLNativeWindowType mParentWindow; 40 EGLNativeDisplayType mNativeDisplay; 41}; 42 43#endif // SAMPLE_UTIL_WINDOW_H 44