Upstream version 10.38.222.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);
21     void destroy();
22
23     EGLNativeWindowType getNativeWindow() const;
24     EGLNativeDisplayType getNativeDisplay() const;
25
26     void messageLoop();
27
28     bool popEvent(Event *event);
29     void pushEvent(Event event);
30
31     void setMousePosition(int x, int y);
32
33   private:
34     std::string mClassName;
35
36     EGLNativeWindowType mNativeWindow;
37     EGLNativeDisplayType mNativeDisplay;
38 };
39
40 #endif // SAMPLE_UTIL_WINDOW_H