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

Unified Diff: ash/display/display_controller.h

Issue 145313003: Implement cursor compositing mode on Ash (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Get rid of current_cursor_set_ and requested_cursor_set_ Created 6 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: ash/display/display_controller.h
diff --git a/ash/display/display_controller.h b/ash/display/display_controller.h
index 839e70b5651c97dbc7bc0f3f988529f5027f8c24..0fc68aec0ed7210e8b5220478e7f716f5995ee4a 100644
--- a/ash/display/display_controller.h
+++ b/ash/display/display_controller.h
@@ -38,6 +38,7 @@ class Insets;
namespace ash {
namespace internal {
+class CursorWindowController;
class DisplayInfo;
class DisplayManager;
class FocusActivationStore;
@@ -76,6 +77,10 @@ class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
// TODO(oshima): Move this out from DisplayController;
static int64 GetPrimaryDisplayId();
+ internal::CursorWindowController* cursor_window_controller() {
+ return cursor_window_controller_.get();
+ }
+
internal::MirrorWindowController* mirror_window_controller() {
return mirror_window_controller_.get();
}
@@ -107,6 +112,13 @@ class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
// Swap primary and secondary display.
void SwapPrimaryDisplay();
+ // Enable/Disable cursor compositing.
+ void SetCursorCompositingEnabled(bool enabled);
+
+ // Sets the display on which to draw cursor.
+ // Only applicable when cursor compositing is enabled.
+ void SetDisplayForCursor(const gfx::Display& display);
+
// Sets the ID of the primary display. If the display is not connected, it
// will switch the primary display when connected.
void SetPrimaryDisplayId(int64 id);
@@ -168,6 +180,8 @@ class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
void UpdateHostWindowNames();
+ void UpdateCursorWindowContainer();
+
class DisplayChangeLimiter {
public:
DisplayChangeLimiter();
@@ -199,6 +213,7 @@ class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
scoped_ptr<internal::FocusActivationStore> focus_activation_store_;
+ scoped_ptr<internal::CursorWindowController> cursor_window_controller_;
scoped_ptr<internal::MirrorWindowController> mirror_window_controller_;
scoped_ptr<internal::VirtualKeyboardWindowController>
virtual_keyboard_window_controller_;

Powered by Google App Engine
This is Rietveld 408576698