Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(115)

Side by Side Diff: ui/events/event.h

Issue 267723008: Retires ui::TranslatedKeyEvent and replaces it with KeyEvent. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef UI_EVENTS_EVENT_H_ 5 #ifndef UI_EVENTS_EVENT_H_
6 #define UI_EVENTS_EVENT_H_ 6 #define UI_EVENTS_EVENT_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/event_types.h" 10 #include "base/event_types.h"
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after
554 // TODO(msw): Additional work may be needed for analogues on other platforms. 554 // TODO(msw): Additional work may be needed for analogues on other platforms.
555 bool IsUnicodeKeyCode() const; 555 bool IsUnicodeKeyCode() const;
556 556
557 std::string code() const { return code_; } 557 std::string code() const { return code_; }
558 558
559 // Normalizes flags_ to make it Windows/Mac compatible. Since the way 559 // Normalizes flags_ to make it Windows/Mac compatible. Since the way
560 // of setting modifier mask on X is very different than Windows/Mac as shown 560 // of setting modifier mask on X is very different than Windows/Mac as shown
561 // in http://crbug.com/127142#c8, the normalization is necessary. 561 // in http://crbug.com/127142#c8, the normalization is necessary.
562 void NormalizeFlags(); 562 void NormalizeFlags();
563 563
564 // Returns true if the key event has already been processed by an input method
565 // and there is no need to pass the key event to the input method again.
566 bool IsTranslated() const;
567 // Marks this key event as translated or not translated.
568 void SetTranslated(bool translated);
569
564 protected: 570 protected:
565 // This allows a subclass TranslatedKeyEvent to be a non character event. 571 // This allows a subclass TranslatedKeyEvent to be a non character event.
566 void set_is_char(bool is_char) { is_char_ = is_char; } 572 void set_is_char(bool is_char) { is_char_ = is_char; }
567 573
568 private: 574 private:
569 KeyboardCode key_code_; 575 KeyboardCode key_code_;
570 576
571 // String of 'code' defined in DOM KeyboardEvent (e.g. 'KeyA', 'Space') 577 // String of 'code' defined in DOM KeyboardEvent (e.g. 'KeyA', 'Space')
572 // http://www.w3.org/TR/uievents/#keyboard-key-codes. 578 // http://www.w3.org/TR/uievents/#keyboard-key-codes.
573 // 579 //
574 // This value represents the physical position in the keyboard and can be 580 // This value represents the physical position in the keyboard and can be
575 // converted from / to keyboard scan code like XKB. 581 // converted from / to keyboard scan code like XKB.
576 std::string code_; 582 std::string code_;
577 583
578 // True if this is a translated character event (vs. a raw key down). Both 584 // True if this is a translated character event (vs. a raw key down). Both
579 // share the same type: ET_KEY_PRESSED. 585 // share the same type: ET_KEY_PRESSED.
580 bool is_char_; 586 bool is_char_;
581 587
582 uint16 character_; 588 uint16 character_;
583 }; 589 };
584 590
585 // A key event which is translated by an input method (IME).
586 // For example, if an IME receives a KeyEvent(VKEY_SPACE), and it does not
587 // consume the key, the IME usually generates and dispatches a
588 // TranslatedKeyEvent(VKEY_SPACE) event. If the IME receives a KeyEvent and
589 // it does consume the event, it might dispatch a
590 // TranslatedKeyEvent(VKEY_PROCESSKEY) event as defined in the DOM spec.
591 class EVENTS_EXPORT TranslatedKeyEvent : public KeyEvent {
592 public:
593 TranslatedKeyEvent(const base::NativeEvent& native_event, bool is_char);
594
595 // Used for synthetic events such as a VKEY_PROCESSKEY key event.
596 TranslatedKeyEvent(bool is_press, KeyboardCode key_code, int flags);
597
598 explicit TranslatedKeyEvent(const KeyEvent& key_event);
599
600 // Changes the type() of the object from ET_TRANSLATED_KEY_* to ET_KEY_* so
601 // that RenderWidgetHostViewAura and NativeWidgetAura could handle the event.
602 void ConvertToKeyEvent();
603
604 private:
605 DISALLOW_COPY_AND_ASSIGN(TranslatedKeyEvent);
606 };
607
608 class EVENTS_EXPORT ScrollEvent : public MouseEvent { 591 class EVENTS_EXPORT ScrollEvent : public MouseEvent {
609 public: 592 public:
610 explicit ScrollEvent(const base::NativeEvent& native_event); 593 explicit ScrollEvent(const base::NativeEvent& native_event);
611 template <class T> 594 template <class T>
612 ScrollEvent(const ScrollEvent& model, 595 ScrollEvent(const ScrollEvent& model,
613 T* source, 596 T* source,
614 T* target) 597 T* target)
615 : MouseEvent(model, source, target), 598 : MouseEvent(model, source, target),
616 x_offset_(model.x_offset_), 599 x_offset_(model.x_offset_),
617 y_offset_(model.y_offset_), 600 y_offset_(model.y_offset_),
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 // The set of indices of ones in the binary representation of 670 // The set of indices of ones in the binary representation of
688 // touch_ids_bitfield_ is the set of touch_ids associate with this gesture. 671 // touch_ids_bitfield_ is the set of touch_ids associate with this gesture.
689 // This value is stored as a bitfield because the number of touch ids varies, 672 // This value is stored as a bitfield because the number of touch ids varies,
690 // but we currently don't need more than 32 touches at a time. 673 // but we currently don't need more than 32 touches at a time.
691 const unsigned int touch_ids_bitfield_; 674 const unsigned int touch_ids_bitfield_;
692 }; 675 };
693 676
694 } // namespace ui 677 } // namespace ui
695 678
696 #endif // UI_EVENTS_EVENT_H_ 679 #endif // UI_EVENTS_EVENT_H_
OLDNEW
« no previous file with comments | « mojo/examples/launcher/launcher.cc ('k') | ui/events/event.cc » ('j') | ui/events/event.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698