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

Side by Side Diff: ui/views/widget/desktop_aura/x11_topmost_window_finder.h

Issue 1003863005: Fix tab drag and drop with hi-dpi. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: noop whitespace changes Created 5 years, 9 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 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_VIEWS_WIDGET_DESKTOP_AURA_X11_TOPMOST_WINDOW_FINDER_H_ 5 #ifndef UI_VIEWS_WIDGET_DESKTOP_AURA_X11_TOPMOST_WINDOW_FINDER_H_
6 #define UI_VIEWS_WIDGET_DESKTOP_AURA_X11_TOPMOST_WINDOW_FINDER_H_ 6 #define UI_VIEWS_WIDGET_DESKTOP_AURA_X11_TOPMOST_WINDOW_FINDER_H_
7 7
8 #include <set> 8 #include <set>
9 9
10 #include "ui/base/x/x11_util.h" 10 #include "ui/base/x/x11_util.h"
11 #include "ui/gfx/geometry/point.h" 11 #include "ui/gfx/geometry/point.h"
12 #include "ui/views/views_export.h" 12 #include "ui/views/views_export.h"
13 13
14 namespace aura { 14 namespace aura {
15 class Window; 15 class Window;
16 } 16 }
17 17
18 namespace views { 18 namespace views {
19 19
20 // Utility class for finding the topmost window at a given screen position. 20 // Utility class for finding the topmost window at a given screen position.
21 class VIEWS_EXPORT X11TopmostWindowFinder 21 class VIEWS_EXPORT X11TopmostWindowFinder
22 : public ui::EnumerateWindowsDelegate { 22 : public ui::EnumerateWindowsDelegate {
23 public: 23 public:
24 X11TopmostWindowFinder(); 24 X11TopmostWindowFinder();
25 ~X11TopmostWindowFinder() override; 25 ~X11TopmostWindowFinder() override;
26 26
27 // Returns the topmost window at |screen_loc|, ignoring the windows in 27 // Returns the topmost window at |screen_loc_in_pixels|, ignoring the windows
28 // |ignore|. Returns NULL if the topmost window at |screen_loc| does not 28 // in |ignore|. Returns NULL if the topmost window at |screen_loc_in_pixels|
29 // belong to Chrome. 29 // does not belong to Chrome.
30 aura::Window* FindLocalProcessWindowAt(const gfx::Point& screen_loc, 30 aura::Window* FindLocalProcessWindowAt(const gfx::Point& screen_loc_in_pixels,
31 const std::set<aura::Window*>& ignore); 31 const std::set<aura::Window*>& ignore);
32 32
33 // Returns the topmost window at |screen_loc|. 33 // Returns the topmost window at |screen_loc_in_pixels|.
34 XID FindWindowAt(const gfx::Point& screen_loc); 34 XID FindWindowAt(const gfx::Point& screen_loc_in_pixels);
35 35
36 private: 36 private:
37 // ui::EnumerateWindowsDelegate: 37 // ui::EnumerateWindowsDelegate:
38 bool ShouldStopIterating(XID xid) override; 38 bool ShouldStopIterating(XID xid) override;
39 39
40 // Returns true if |window| does not not belong to |ignore|, is visible and 40 // Returns true if |window| does not not belong to |ignore|, is visible and
41 // contains |screen_loc_|. 41 // contains |screen_loc_|.
42 bool ShouldStopIteratingAtLocalProcessWindow(aura::Window* window); 42 bool ShouldStopIteratingAtLocalProcessWindow(aura::Window* window);
43 43
44 gfx::Point screen_loc_; 44 gfx::Point screen_loc_;
sadrul 2015/03/20 22:02:03 Add _in_pixels_ here too
stapelberg 2015/03/20 23:17:05 Done.
45 std::set<aura::Window*> ignore_; 45 std::set<aura::Window*> ignore_;
46 XID toplevel_; 46 XID toplevel_;
47 47
48 DISALLOW_COPY_AND_ASSIGN(X11TopmostWindowFinder); 48 DISALLOW_COPY_AND_ASSIGN(X11TopmostWindowFinder);
49 }; 49 };
50 50
51 } // namespace 51 } // namespace
52 52
53 #endif // UI_VIEWS_WIDGET_DESKTOP_AURA_X11_TOPMOST_WINDOW_FINDER_H_ 53 #endif // UI_VIEWS_WIDGET_DESKTOP_AURA_X11_TOPMOST_WINDOW_FINDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698