diff options
Diffstat (limited to 'chrome/views/event.h')
-rw-r--r-- | chrome/views/event.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/chrome/views/event.h b/chrome/views/event.h index 92f93ef..37524eb 100644 --- a/chrome/views/event.h +++ b/chrome/views/event.h @@ -6,6 +6,11 @@ #define CHROME_VIEWS_EVENT_H_ #include "base/basictypes.h" + +#if defined(OS_LINUX) +#include <gdk/gdk.h> +#endif + #include "base/gfx/point.h" #include "webkit/glue/window_open_disposition.h" @@ -86,6 +91,9 @@ class Event { // Convert windows flags to views::Event flags static int ConvertWindowsFlags(uint32 win_flags); +#elif defined(OS_LINUX) + // Convert the state member on a GdkEvent to views::Event flags + static int GetFlagsFromGdkState(int state); #endif // Convert WebInputEvent::Modifiers flags to views::Event flags. @@ -221,13 +229,12 @@ class MouseEvent : public LocatedEvent { //////////////////////////////////////////////////////////////////////////////// class KeyEvent : public Event { public: +#if defined(OS_WIN) // Create a new key event - KeyEvent(EventType type, int ch, int repeat_count, int message_flags) - : Event(type, GetKeyStateFlags()), - character_(ch), - repeat_count_(repeat_count), - message_flags_(message_flags) { - } + KeyEvent(EventType type, int ch, int repeat_count, int message_flags); +#elif defined(OS_LINUX) + KeyEvent(GdkEventKey* event); +#endif int GetCharacter() const { return character_; @@ -242,7 +249,9 @@ class KeyEvent : public Event { } private: +#if defined(OS_WIN) int GetKeyStateFlags() const; +#endif int character_; int repeat_count_; |