guit  0.1
 All Classes Functions Variables Typedefs Enumerations Friends
gcontrolimpl.hpp
1 //
2 // Interaction Controller
3 // Guit GUI Toolkit
4 // Copyright © 2019/2020 Eric Lecolinet. All rights reserved.
5 // http://www.telecom-paris.fr/~elc
6 //
7 
8 #ifndef Guit_ControlImpl_hpp
9 #define Guit_ControlImpl_hpp
10 #include <list>
11 #include <gcontrol.hpp>
12 namespace guit {
13 
15 class GControlImpl : public GCore {
16 public:
17  enum {TimerEvent, FunEvent};
18 
19  static GControlImpl& instance();
20  GControlImpl();
21  ~GControlImpl();
22 
23 private:
24  friend class GNatContext;
25  friend class GNatWindow;
26 
27  bool doInspect(GWindow*, Gadget* obj, GMouseEvent&, GPoint const& pos);
28  bool checkModal(GWindow*);
29  void funCallDone();
30  void paintWindow(GWindow*);
31 
32  void mouseDown(GMouseEvent&);
33  void mouseUp(GMouseEvent&);
34  void mouseMove(GMouseEvent&);
35  void wheelMove(GMouseEvent&);
36  void keyDown(GKeyEvent&);
37  void keyUp(GKeyEvent&);
38  void keyType(GKeyEvent&);
39  void touchEvent(GTouchEvent&);
40  void gestureEvent(GGestureEvent&);
41  void windowShown(GWindow&, GTime);
42  void windowHidden(GWindow&, GTime);
43  void windowResized(GWindow&, GTime, float w, float h);
44  void windowMoved(GWindow&, GTime, float x, float y);
45  void windowMaximized(GWindow&, GTime);
46  void windowMinimized(GWindow&, GTime);
47  void windowClosed(GWindow&, GTime);
48  void windowEntered(GWindow&, GTime);
49  void windowExited(GWindow&, GTime);
50  void windowfocusIn(GWindow&, GTime);
51  void windowfocusOut(GWindow&, GTime);
52 };
53 
54 }
55 #endif