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

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: Always update cursor image in SetCursor. Fixes initial wrong cursor. 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..307c37efb6ebb8f03ebaa0196e39fd4a9471fadb 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();
@@ -197,8 +211,11 @@ class ASH_EXPORT DisplayController : public gfx::DisplayObserver,
// display.
aura::Window* primary_root_window_for_replace_;
+ bool is_cursor_compositing_enabled_;
oshima 2014/02/05 21:49:59 looks to me that this can and probably should be i
hshi1 2014/02/05 22:55:58 Done.
+
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