Sleeping Wombat GUI  0.100
swGUI
INativeGUI.h
Go to the documentation of this file.
1 #pragma once
2 
3 
4 #include "INativeWindow.h"
5 #include "swCommonLib/External/FastDelegate/FastDelegate.h"
6 
8 
9 
16 namespace sw {
17 namespace gui
18 {
19 
20 typedef fastdelegate::FastDelegate2< INativeWindow*, bool > ChangedFocusDelegate;
21 
22 
26 {
27  ChangedFocusDelegate FocusChanged;
28 };
29 
30 
34 {
35 private:
36 protected:
37 public:
38  INativeGUI() = default;
39  ~INativeGUI() = default;
40 
41 
44  virtual bool MainLoop ( bool blockingMode ) = 0;
45 
48  virtual bool Init ( const NativeGUIInitData& initData ) = 0;
49 
55  virtual sw::input::IInput* UseNativeInput () = 0;
56 
58  virtual INativeWindow* CreateWindow ( NativeWindowDescriptor& descriptor ) = 0;
59 };
60 
61 
62 } // gui
63 } // sw
Interface encasulates native GUI system.
Definition: INativeGUI.h:33
Definition: DirectInputModule.cpp:11
virtual sw::input::IInput * UseNativeInput()=0
Initalize native api for this gui system and return IInput object. GUI can use native input api for s...
virtual INativeWindow * CreateWindow(NativeWindowDescriptor &descriptor)=0
Creates native GUI window.
Dedcriptor used to create native GUI window.
Definition: INativeWindow.h:17
Provides data needed for native GUI system initialization.
Definition: INativeGUI.h:25
virtual bool Init(const NativeGUIInitData &initData)=0
Initializes native GUI.
ChangedFocusDelegate FocusChanged
Definition: INativeGUI.h:27
fastdelegate::FastDelegate2< INativeWindow *, bool > ChangedFocusDelegate
Definition: INativeGUI.h:20
Interface for native window sing OS specific ffunctions.
Definition: INativeWindow.h:74
virtual bool MainLoop(bool blockingMode)=0
Invokes main loop of native GUI.
Interface for input classes for capturing user input.
Definition: IInput.h:65