| OLD | NEW |
| (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_CLIENT_CAPTURE_CLIENT_H_ | |
| 6 #define UI_AURA_CLIENT_CAPTURE_CLIENT_H_ | |
| 7 | |
| 8 #include "ui/aura/aura_export.h" | |
| 9 | |
| 10 namespace aura { | |
| 11 class Window; | |
| 12 | |
| 13 namespace client { | |
| 14 | |
| 15 // An interface implemented by an object that manages input capture. | |
| 16 class AURA_EXPORT CaptureClient { | |
| 17 public: | |
| 18 // Does a capture on the |window|. | |
| 19 virtual void SetCapture(Window* window) = 0; | |
| 20 | |
| 21 // Releases a capture from the |window|. | |
| 22 virtual void ReleaseCapture(Window* window) = 0; | |
| 23 | |
| 24 // Returns the current capture window. This may only return a Window if the | |
| 25 // Window that has capture is a child of the Window the CaptureClient is | |
| 26 // installed on. GetGlobalCaptureWindow() can be used to locate the Window | |
| 27 // that has capture regardless of the Window the CaptureClient is installed | |
| 28 // on. | |
| 29 virtual Window* GetCaptureWindow() = 0; | |
| 30 | |
| 31 // See description of GetCaptureWindow() for details. | |
| 32 virtual Window* GetGlobalCaptureWindow() = 0; | |
| 33 | |
| 34 protected: | |
| 35 virtual ~CaptureClient() {} | |
| 36 }; | |
| 37 | |
| 38 // Sets/Gets the capture client on the root Window. | |
| 39 AURA_EXPORT void SetCaptureClient(Window* root_window, | |
| 40 CaptureClient* client); | |
| 41 AURA_EXPORT CaptureClient* GetCaptureClient(Window* root_window); | |
| 42 | |
| 43 // A utility function to get the current capture window. Returns NULL | |
| 44 // if the window doesn't have a root window, or there is no capture window. | |
| 45 AURA_EXPORT Window* GetCaptureWindow(Window* window); | |
| 46 | |
| 47 } // namespace clients | |
| 48 } // namespace aura | |
| 49 | |
| 50 #endif // UI_AURA_CLIENT_CAPTURE_CLIENT_H_ | |
| OLD | NEW |