HatchitGame
ht_window.h
1 
15 #pragma once
16 
17 #include <ht_platform.h>
18 #include <ht_noncopy.h>
19 #include <ht_string.h>
20 
21 namespace Hatchit {
22 
23  namespace Game {
24 
28  struct WindowParams
29  {
30  std::string title;
31  int x;
32  int y;
33  int width;
34  int height;
35  bool displayFPS;
36  bool displayMouse;
37  bool debugWindowEvents;
38  };
39 
40  class HT_API IWindow : Core::INonCopy
41  {
42  public:
43  virtual ~IWindow() { };
44 
45  virtual bool VInitialize() = 0;
46  virtual void* VNativeWindowHandle() = 0;
47  virtual void* VNativeDisplayHandle() = 0;
48  virtual bool VIsRunning() = 0;
49  virtual void VPollEvents() = 0;
50  virtual void VClose() = 0;
51  virtual void VSwapBuffers() = 0;
52 
53  protected:
54  void* m_nativeWindowHandle;
55  void* m_nativeDisplayHandle;
56  bool m_running;
57  WindowParams m_params;
58  };
59 
60 
61  }
62 
63 }
Definition: ht_window.h:40
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_glfwkeyboard.h:21
struct defining various window parameters
Definition: ht_window.h:28