FIFE  be64c707dea6b3250bd4355bf5c825d25920087d
keyevent.h
Go to the documentation of this file.
1 /***************************************************************************
2  * Copyright (C) 2005-2019 by the FIFE team *
3  * http://www.fifengine.net *
4  * This file is part of FIFE. *
5  * *
6  * FIFE is free software; you can redistribute it and/or *
7  * modify it under the terms of the GNU Lesser General Public *
8  * License as published by the Free Software Foundation; either *
9  * version 2.1 of the License, or (at your option) any later version. *
10  * *
11  * This library is distributed in the hope that it will be useful, *
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14  * Lesser General Public License for more details. *
15  * *
16  * You should have received a copy of the GNU Lesser General Public *
17  * License along with this library; if not, write to the *
18  * Free Software Foundation, Inc., *
19  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20  ***************************************************************************/
21 
22 #ifndef FIFE_EVENTCHANNEL_KEYEVENT_H
23 #define FIFE_EVENTCHANNEL_KEYEVENT_H
24 
25 // Standard C++ library includes
26 //
27 
28 // 3rd party library includes
29 //
30 
31 // FIFE includes
32 // These includes are split up in two parts, separated by one empty line
33 // First block: files included from the FIFE root src directory
34 // Second block: files included from the same folder
35 //
38 
39 #include "key.h"
40 
41 namespace FIFE {
42 
45  class KeyEvent: public InputEvent {
46  public:
47  enum KeyEventType {
48  UNKNOWN = -1,
49  PRESSED = 0,
51  };
52 
56  InputEvent(),
58  m_isNumericPad(false),
59  m_key(Key()) {}
60 
63  virtual ~KeyEvent() {}
64 
65  KeyEventType getType() const { return m_eventType; }
66  void setType(KeyEventType type) { m_eventType = type; }
67 
68  bool isNumericPad() const { return m_isNumericPad; }
69  void setNumericPad(bool ispad) { m_isNumericPad = ispad; }
70 
71  const Key& getKey() const { return m_key; }
72  void setKey(const Key& key) { m_key = key; }
73 
74  virtual bool isAltPressed() const { return InputEvent::isAltPressed(); }
75  virtual void setAltPressed(bool pressed) { InputEvent::setAltPressed(pressed); }
76  virtual bool isControlPressed() const { return InputEvent::isControlPressed(); }
77  virtual void setControlPressed(bool pressed) { InputEvent::setControlPressed(pressed); }
78  virtual bool isMetaPressed() const { return InputEvent::isMetaPressed(); }
79  virtual void setMetaPressed(bool pressed) { InputEvent::setMetaPressed(pressed); }
80  virtual bool isShiftPressed() const { return InputEvent::isShiftPressed(); }
81  virtual void setShiftPressed(bool pressed) { InputEvent::setShiftPressed(pressed); }
82 
83  virtual void consume() { InputEvent::consume(); }
84  virtual bool isConsumed() const { return InputEvent::isConsumed(); }
86  virtual bool isConsumedByWidgets() const { return InputEvent::isConsumedByWidgets(); }
87  virtual IEventSource* getSource() const { return InputEvent::getSource(); }
88  virtual void setSource(IEventSource* source) { InputEvent::setSource(source); }
89  virtual int32_t getTimeStamp() const { return InputEvent::getTimeStamp(); }
90  virtual void setTimeStamp(int32_t timestamp ) { InputEvent::setTimeStamp(timestamp); }
91 
92  virtual const std::string& getName() const {
93  const static std::string eventName("KeyEvent");
94  return eventName;
95  }
96  virtual std::string getDebugString() const { return InputEvent::getDebugString(); }
97 
98  private:
102  };
103 
104 } //FIFE
105 
106 #endif
virtual bool isConsumedByWidgets() const
Checks whether event is consumed by widget library.
Definition: inputevent.h:96
virtual void setControlPressed(bool pressed)
Sets control to pressed.
Definition: inputevent.h:72
virtual const std::string & getName() const
Gets the name of the event.
Definition: keyevent.h:92
void setKey(const Key &key)
Definition: keyevent.h:72
Base class for input events (like mouse and keyboard)
Definition: inputevent.h:42
virtual std::string getDebugString() const
Gets the debugstring of the event.
Definition: keyevent.h:96
virtual void setShiftPressed(bool pressed)
Sets shift to pressed.
Definition: inputevent.h:88
virtual bool isShiftPressed() const
Checks whether shift is pressed.
Definition: inputevent.h:84
KeyEventType getType() const
Definition: keyevent.h:65
virtual void setTimeStamp(int32_t timestamp)
Sets the timestamp of the event.
Definition: inputevent.h:120
KeyEvent()
Constructor.
Definition: keyevent.h:55
virtual bool isConsumed() const
Checks whether event is consumed.
Definition: inputevent.h:104
virtual void setAltPressed(bool pressed)
Sets alt to pressed.
Definition: inputevent.h:64
virtual void setControlPressed(bool pressed)
Sets control to pressed.
Definition: keyevent.h:77
virtual void setShiftPressed(bool pressed)
Sets shift to pressed.
Definition: keyevent.h:81
virtual bool isConsumed() const
Checks whether event is consumed.
Definition: keyevent.h:84
virtual void setSource(IEventSource *source)
Sets the source of the event.
Definition: keyevent.h:88
virtual void consumedByWidgets()
Marks events as consumed by widget library.
Definition: inputevent.h:92
virtual ~KeyEvent()
Destructor.
Definition: keyevent.h:63
KeyEventType m_eventType
Definition: keyevent.h:99
virtual void setMetaPressed(bool pressed)
Sets meta to pressed.
Definition: keyevent.h:79
bool m_isNumericPad
Definition: keyevent.h:100
virtual void setTimeStamp(int32_t timestamp)
Sets the timestamp of the event.
Definition: keyevent.h:90
const Key & getKey() const
Definition: keyevent.h:71
Represents a key.
Definition: key.h:41
void setNumericPad(bool ispad)
Definition: keyevent.h:69
virtual bool isAltPressed() const
Checks whether alt is pressed.
Definition: inputevent.h:60
virtual std::string getDebugString() const
Gets the debugstring of the event.
Definition: inputevent.h:131
virtual bool isControlPressed() const
Checks whether control is pressed.
Definition: keyevent.h:76
virtual int32_t getTimeStamp() const
Gets the timestamp of the event.
Definition: inputevent.h:116
void setType(KeyEventType type)
Definition: keyevent.h:66
virtual bool isControlPressed() const
Checks whether control is pressed.
Definition: inputevent.h:68
Class for key events.
Definition: keyevent.h:45
virtual bool isConsumedByWidgets() const
Checks whether event is consumed by widget library.
Definition: keyevent.h:86
virtual bool isAltPressed() const
Checks whether alt is pressed.
Definition: keyevent.h:74
virtual int32_t getTimeStamp() const
Gets the timestamp of the event.
Definition: keyevent.h:89
virtual void setSource(IEventSource *source)
Sets the source of the event.
Definition: inputevent.h:112
virtual bool isMetaPressed() const
Checks whether meta is pressed.
Definition: inputevent.h:76
virtual bool isMetaPressed() const
Checks whether meta is pressed.
Definition: keyevent.h:78
virtual void consume()
Marks events as consumed.
Definition: inputevent.h:100
Representation of event source (a thing sending events)
Definition: ieventsource.h:42
virtual IEventSource * getSource() const
Gets the source of the event.
Definition: keyevent.h:87
virtual void setMetaPressed(bool pressed)
Sets meta to pressed.
Definition: inputevent.h:80
virtual void consume()
Marks events as consumed.
Definition: keyevent.h:83
bool isNumericPad() const
Definition: keyevent.h:68
virtual void setAltPressed(bool pressed)
Sets alt to pressed.
Definition: keyevent.h:75
virtual void consumedByWidgets()
Marks events as consumed by widget library.
Definition: keyevent.h:85
virtual IEventSource * getSource() const
Gets the source of the event.
Definition: inputevent.h:108
virtual bool isShiftPressed() const
Checks whether shift is pressed.
Definition: keyevent.h:80