summaryrefslogtreecommitdiffstats
path: root/ash/shell.h
diff options
context:
space:
mode:
authorsheckylin@chromium.org <sheckylin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-10 06:49:11 +0000
committersheckylin@chromium.org <sheckylin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-10 06:49:11 +0000
commit682990f75f1a8684d42be83129b6ca30caa9eca2 (patch)
tree61e62372ac7bb6fe03ee700739dba376c1dab424 /ash/shell.h
parent002de2f6f5aa1287b779c178f39dd112861b9c69 (diff)
downloadchromium_src-682990f75f1a8684d42be83129b6ca30caa9eca2.zip
chromium_src-682990f75f1a8684d42be83129b6ca30caa9eca2.tar.gz
chromium_src-682990f75f1a8684d42be83129b6ca30caa9eca2.tar.bz2
Scaling scroll/fling events in multi-monitor setup
The CL adds an event filter that transforms input event properties in the extended desktop environment. It currently scales scroll/fling events' offset values based on the following logic: 1. Linear scaling w.r.t. the device scale factor, which is 2x for highDPI displays. 2. 1.2x scaling for external displays, since they are usually larger than internal ones. Both scalings can stack on each other, i.e. you can get as high as a 2.4x boost if you have a high DPI external display. Contributed by sheckylin@chromium.org BUG=chromium:166392 TEST=Tested on link w/o external display. Change-Id: Ie29e03fcf9f6e5ae1dd6231990103237c3129fd6 Review URL: https://chromiumcodereview.appspot.com/11743013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176038 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.h')
-rw-r--r--ash/shell.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/ash/shell.h b/ash/shell.h
index 0e2919d..bc86059 100644
--- a/ash/shell.h
+++ b/ash/shell.h
@@ -102,6 +102,7 @@ class DisplayManager;
class DragDropController;
class EventClientImpl;
class EventRewriterEventFilter;
+class EventTransformationHandler;
class FocusCycler;
class MouseCursorEventFilter;
class OutputConfiguratorAnimation;
@@ -317,6 +318,9 @@ class ASH_EXPORT Shell
internal::MouseCursorEventFilter* mouse_cursor_filter() {
return mouse_cursor_filter_.get();
}
+ internal::EventTransformationHandler* event_transformation_handler() {
+ return event_transformation_handler_.get();
+ }
CursorManager* cursor_manager() { return &cursor_manager_; }
ShellDelegate* delegate() { return delegate_.get(); }
@@ -535,6 +539,8 @@ class ASH_EXPORT Shell
scoped_ptr<internal::ScreenPositionController> screen_position_controller_;
scoped_ptr<internal::SystemModalContainerEventFilter> modality_filter_;
scoped_ptr<internal::EventClientImpl> event_client_;
+ scoped_ptr<internal::EventTransformationHandler>
+ event_transformation_handler_;
scoped_ptr<RootWindowHostFactory> root_window_host_factory_;
// An event filter that rewrites or drops an event.