Lines Matching refs:hwnd
26 explicit BaseWindowFinder(const std::set<HWND>& ignore) : ignore_(ignore) {}
31 virtual bool ShouldStopIterating(HWND window) = 0;
33 static BOOL CALLBACK WindowCallbackProc(HWND hwnd, LPARAM lParam) {
35 if (finder->ignore_.find(hwnd) != finder->ignore_.end())
38 return finder->ShouldStopIterating(hwnd) ? FALSE : TRUE;
42 const std::set<HWND>& ignore_;
55 static bool IsTopMostWindowAtPoint(HWND window,
57 const std::set<HWND>& ignore) {
62 virtual bool ShouldStopIterating(HWND hwnd) {
63 if (hwnd == target_) {
69 if (!IsWindowVisible(hwnd)) {
75 if (!GetWindowRect(hwnd, &r) || !PtInRect(&r, screen_loc_.ToPOINT())) {
80 LONG ex_styles = GetWindowLong(hwnd, GWL_EXSTYLE);
96 // hwnd is at the point. Make sure the point is within the windows region.
97 if (GetWindowRgn(hwnd, tmp_region_.Get()) == ERROR) {
112 TopMostFinder(HWND window,
114 const std::set<HWND>& ignore)
124 HWND target_;
144 // Returns the hwnd from our process at screen_loc that is not obscured by
146 static HWND GetProcessWindowAtPoint(const gfx::Point& screen_loc,
147 const std::set<HWND>& ignore) {
158 virtual bool ShouldStopIterating(HWND hwnd) {
160 if (IsWindowVisible(hwnd) && GetWindowRect(hwnd, &r) &&
162 result_ = hwnd;
170 const std::set<HWND>& ignore)
183 HWND result_;
196 const std::set<HWND>& ignore) {
208 virtual bool ShouldStopIterating(HWND hwnd) {
209 BrowserView* window = BrowserView::GetBrowserViewForNativeWindow(hwnd);
211 if (!window || !IsWindowVisible(hwnd) ||
212 !GetWindowRect(hwnd, &bounds)) {
218 if (CheckPoint(hwnd, bounds.left, (bounds.top + bounds.bottom) / 2,
220 CheckPoint(hwnd, bounds.right - 1, (bounds.top + bounds.bottom) / 2,
222 CheckPoint(hwnd, (bounds.left + bounds.right) / 2, bounds.bottom - 1,
231 const std::set<HWND>& ignore)
243 bool CheckPoint(HWND hwnd, int x, int y, DockInfo::Type type) {
247 result_.set_window(hwnd);
273 const std::set<HWND>& ignore) {
300 HWND DockInfo::GetLocalProcessWindowAtPoint(const gfx::Point& screen_point,
301 const std::set<HWND>& ignore) {