blob: 41093fae78477854b2e48ccd74889ab370452255 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef UI_VIEWS_BRIDGE_MAC_COCOA_MOUSE_CAPTURE_DELEGATE_H_
#define UI_VIEWS_BRIDGE_MAC_COCOA_MOUSE_CAPTURE_DELEGATE_H_
@class NSEvent;
@class NSWindow;
namespace views_bridge_mac {
// Delegate for receiving captured events from a CocoaMouseCapture.
class CocoaMouseCaptureDelegate {
public:
// Called when an event has been captured. This may be an event local to the
// application, or a global event (sent to another application). If it is a
// local event, regular event handling will be suppressed.
virtual void PostCapturedEvent(NSEvent* event) = 0;
// Called once. When another window acquires capture, or when the
// CocoaMouseCapture is destroyed.
virtual void OnMouseCaptureLost() = 0;
// Returns the associated NSWindow.
virtual NSWindow* GetWindow() const = 0;
};
} // namespace views_bridge_mac
#endif // UI_VIEWS_BRIDGE_MAC_COCOA_MOUSE_CAPTURE_DELEGATE_H_