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

Side by Side Diff: ui/aura/test/test_window_delegate.h

Issue 851853002: It is time. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Trying to reup because the last upload failed. Created 5 years, 11 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
« no previous file with comments | « ui/aura/test/test_screen.cc ('k') | ui/aura/test/test_window_delegate.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // found in the LICENSE file.
4
5 #ifndef UI_AURA_TEST_TEST_WINDOW_DELEGATE_H_
6 #define UI_AURA_TEST_TEST_WINDOW_DELEGATE_H_
7
8 #include <string>
9
10 #include "base/compiler_specific.h"
11 #include "third_party/skia/include/core/SkColor.h"
12 #include "ui/aura/window_delegate.h"
13 #include "ui/events/keycodes/keyboard_codes.h"
14 #include "ui/gfx/rect.h"
15
16 namespace aura {
17 namespace test {
18
19 // WindowDelegate implementation with all methods stubbed out.
20 class TestWindowDelegate : public WindowDelegate {
21 public:
22 TestWindowDelegate();
23 virtual ~TestWindowDelegate();
24
25 // Returns a TestWindowDelegate that delete itself when
26 // the associated window is destroyed.
27 static TestWindowDelegate* CreateSelfDestroyingDelegate();
28
29 void set_window_component(int window_component) {
30 window_component_ = window_component;
31 }
32
33 void set_minimum_size(const gfx::Size& minimum_size) {
34 minimum_size_ = minimum_size;
35 }
36
37 void set_maximum_size(const gfx::Size& maximum_size) {
38 maximum_size_ = maximum_size;
39 }
40
41 // Sets the return value for CanFocus(). Default is true.
42 void set_can_focus(bool can_focus) { can_focus_ = can_focus; }
43
44 // Overridden from WindowDelegate:
45 virtual gfx::Size GetMinimumSize() const override;
46 virtual gfx::Size GetMaximumSize() const override;
47 virtual void OnBoundsChanged(const gfx::Rect& old_bounds,
48 const gfx::Rect& new_bounds) override;
49 virtual gfx::NativeCursor GetCursor(const gfx::Point& point) override;
50 virtual int GetNonClientComponent(const gfx::Point& point) const override;
51 virtual bool ShouldDescendIntoChildForEventHandling(
52 Window* child,
53 const gfx::Point& location) override;
54 virtual bool CanFocus() override;
55 virtual void OnCaptureLost() override;
56 virtual void OnPaint(gfx::Canvas* canvas) override;
57 virtual void OnDeviceScaleFactorChanged(float device_scale_factor) override;
58 virtual void OnWindowDestroying(Window* window) override;
59 virtual void OnWindowDestroyed(Window* window) override;
60 virtual void OnWindowTargetVisibilityChanged(bool visible) override;
61 virtual bool HasHitTestMask() const override;
62 virtual void GetHitTestMask(gfx::Path* mask) const override;
63
64 private:
65 int window_component_;
66 bool delete_on_destroyed_;
67 gfx::Size minimum_size_;
68 gfx::Size maximum_size_;
69 bool can_focus_;
70
71 DISALLOW_COPY_AND_ASSIGN(TestWindowDelegate);
72 };
73
74 // A simple WindowDelegate implementation for these tests. It owns itself
75 // (deletes itself when the Window it is attached to is destroyed).
76 class ColorTestWindowDelegate : public TestWindowDelegate {
77 public:
78 explicit ColorTestWindowDelegate(SkColor color);
79 virtual ~ColorTestWindowDelegate();
80
81 ui::KeyboardCode last_key_code() const { return last_key_code_; }
82
83 // Overridden from TestWindowDelegate:
84 virtual void OnKeyEvent(ui::KeyEvent* event) override;
85 virtual void OnWindowDestroyed(Window* window) override;
86 virtual void OnPaint(gfx::Canvas* canvas) override;
87
88 private:
89 SkColor color_;
90 ui::KeyboardCode last_key_code_;
91
92 DISALLOW_COPY_AND_ASSIGN(ColorTestWindowDelegate);
93 };
94
95 // A simple WindowDelegate that has a hit-test mask.
96 class MaskedWindowDelegate : public TestWindowDelegate {
97 public:
98 explicit MaskedWindowDelegate(const gfx::Rect mask_rect);
99
100 // Overridden from TestWindowDelegate:
101 virtual bool HasHitTestMask() const override;
102 virtual void GetHitTestMask(gfx::Path* mask) const override;
103
104 private:
105 gfx::Rect mask_rect_;
106
107 DISALLOW_COPY_AND_ASSIGN(MaskedWindowDelegate);
108 };
109
110 // Keeps track of mouse/key events.
111 class EventCountDelegate : public TestWindowDelegate {
112 public:
113 EventCountDelegate();
114
115 // Overridden from TestWindowDelegate:
116 virtual void OnKeyEvent(ui::KeyEvent* event) override;
117 virtual void OnMouseEvent(ui::MouseEvent* event) override;
118 virtual void OnGestureEvent(ui::GestureEvent* event) override;
119
120 // Returns the counts of mouse motion events in the
121 // form of "<enter> <move> <leave>".
122 std::string GetMouseMotionCountsAndReset();
123
124 // Returns the counts of mouse button events in the
125 // form of "<press> <release>".
126 std::string GetMouseButtonCountsAndReset();
127
128 // Returns the counts of key events in the form of
129 // "<press> <release>".
130 std::string GetKeyCountsAndReset();
131
132 // Returns number of gesture events.
133 int GetGestureCountAndReset();
134
135 private:
136 int mouse_enter_count_;
137 int mouse_move_count_;
138 int mouse_leave_count_;
139 int mouse_press_count_;
140 int mouse_release_count_;
141 int key_press_count_;
142 int key_release_count_;
143 int gesture_count_;
144
145 DISALLOW_COPY_AND_ASSIGN(EventCountDelegate);
146 };
147
148 } // namespace test
149 } // namespace aura
150
151 #endif // UI_AURA_TEST_TEST_WINDOW_DELEGATE_H_
OLDNEW
« no previous file with comments | « ui/aura/test/test_screen.cc ('k') | ui/aura/test/test_window_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698