Upstream version 8.37.180.0
[platform/framework/web/crosswalk.git] / src / third_party / angle / samples / angle / sample_util / win32 / Win32Window.h
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 "Window.h"
11 #include <string>
12 #include <windows.h>
13
14 class Win32Window : public Window
15 {
16   public:
17     Win32Window();
18     ~Win32Window();
19
20     bool initialize(const std::string &name, size_t width, size_t height, RendererType requestedRenderer);
21     void destroy();
22
23     EGLDisplay getDisplay() const;
24     EGLNativeWindowType getNativeWindow() const;
25     EGLNativeDisplayType getNativeDisplay() const;
26
27     void messageLoop();
28
29     bool popEvent(Event *event);
30     void pushEvent(Event event);
31
32     void setMousePosition(int x, int y);
33
34   private:
35     std::string mClassName;
36
37     EGLDisplay mDisplay;
38     EGLNativeWindowType mNativeWindow;
39     EGLNativeDisplayType mNativeDisplay;
40 };
41
42 #endif // SAMPLE_UTIL_WINDOW_H