Upstream version 11.39.266.0
[platform/framework/web/crosswalk.git] / src / mojo / services / public / cpp / input_events / lib / mojo_extended_key_event_data.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef MOJO_SERVICES_PUBLIC_CPP_INPUT_EVENTS_LIB_MOJO_EXTENDED_KEY_EVENT_DATA_H_
6 #define MOJO_SERVICES_PUBLIC_CPP_INPUT_EVENTS_LIB_MOJO_EXTENDED_KEY_EVENT_DATA_H_
7
8 #include "ui/events/event.h"
9 #include "mojo/services/public/cpp/input_events/mojo_input_events_export.h"
10
11 namespace mojo {
12
13 // A structure to store all mojo specific data on a KeyEvent.
14 class MOJO_INPUT_EVENTS_EXPORT MojoExtendedKeyEventData
15     : public ui::ExtendedKeyEventData {
16  public:
17   MojoExtendedKeyEventData(int32_t windows_key_code,
18                            uint16_t text,
19                            uint16_t unmodified_text);
20   virtual ~MojoExtendedKeyEventData();
21
22   int32_t windows_key_code() const { return windows_key_code_; }
23   uint16_t text() const { return text_; }
24   uint16_t unmodified_text() const { return unmodified_text_; }
25
26   // ui::ExtendedKeyEventData:
27   virtual ui::ExtendedKeyEventData* Clone() const OVERRIDE;
28
29  private:
30   const int32_t windows_key_code_;
31   const uint16_t text_;
32   const uint16_t unmodified_text_;
33
34   DISALLOW_COPY_AND_ASSIGN(MojoExtendedKeyEventData);
35 };
36
37 }  // namespace mojo
38
39 #endif  // MOJO_SERVICES_PUBLIC_CPP_INPUT_EVENTS_LIB_MOJO_EXTENDED_KEY_EVENT_DATA_H_