Lumiera  0.pre.03
»edit your freedom«
gesture-state.hpp
Go to the documentation of this file.
1 /*
2  GESTURE-STATE.hpp - holder for interaction-state dedicated to specific gestures
3 
4  Copyright (C)
5  2015, Hermann Vosseler <Ichthyostega@web.de>
6 
7   **Lumiera** is free software; you can redistribute it and/or modify it
8   under the terms of the GNU General Public License as published by the
9   Free Software Foundation; either version 2 of the License, or (at your
10   option) any later version. See the file COPYING for further details.
11 
12 */
13 
14 
30 #ifndef STAGE_INTERACT_GESTURE_STATE_H
31 #define STAGE_INTERACT_GESTURE_STATE_H
32 
33 
34 #include "lib/error.hpp"
35 #include "lib/nocopy.hpp"
36 //#include "stage/ctrl/bus-term.hpp"
38 //#include "lib/idi/entry-id.hpp"
39 #include "lib/symbol.hpp"
40 //#include "lib/util.hpp"
41 
42 //#include <string>
43 #include <memory>
44 
45 
46 namespace stage {
47 namespace interact {
48 
49 // using lib::HashVal;
50  using lib::Symbol;
51 // using util::isnil;
52 // using std::string;
53  using std::unique_ptr;
54 
55 //class Subject;
56  class DragRelocateController;
57 
58 
69  {
70  unique_ptr<DragRelocateController> dragRelocate_;
71 
72  public:
73  GestureState();
74  ~GestureState();
75 
76  public:
77  enum Action {
78  DRAG,
79  UNKNOWN
80  };
81  enum Scope {
82  ON_TIMELINE,
83  OTHER
84  };
85 
94  InteractionState& getStateFor (Action action, Scope qualifier);
95 
96  private:
97  };
98 
99 
100 
101 }} // namespace stage::interact
102 #endif /*STAGE_INTERACT_GESTURE_STATE_H*/
Abstraction: a component to watch, maintain and guide UI state.
InteractionState & getStateFor(Action action, Scope qualifier)
Decode the classification of the kind of interaction and gesture, and thus translate to a concrete In...
Any copy and copy construction prohibited.
Definition: nocopy.hpp:37
Abstract foundation for context dependent UI interactions.
Token or Atom with distinct identity.
Definition: symbol.hpp:117
Mix-Ins to allow or prohibit various degrees of copying and cloning.
Marker types to indicate a literal string and a Symbol.
Lumiera GTK UI implementation root.
Definition: guifacade.cpp:37
Lumiera error handling (C++ interface).
Holder for InteractionState dedicated to UI gestures and complex interactions.