summaryrefslogtreecommitdiffstats
path: root/views
diff options
context:
space:
mode:
authorerikkay@google.com <erikkay@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-01 16:58:02 +0000
committererikkay@google.com <erikkay@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-01 16:58:02 +0000
commit8bc502307f9ff73c31a5cd0a61ebfba0d27ffcb9 (patch)
tree438882c7cd975eb9e192477c5c8c695f75652576 /views
parent3fbeee9677362e033db2600ea3c3f3db1ab83d86 (diff)
downloadchromium_src-8bc502307f9ff73c31a5cd0a61ebfba0d27ffcb9.zip
chromium_src-8bc502307f9ff73c31a5cd0a61ebfba0d27ffcb9.tar.gz
chromium_src-8bc502307f9ff73c31a5cd0a61ebfba0d27ffcb9.tar.bz2
A helper class for screen related queries. Currently only has a single method for getting the current cursor position in screen coordinates.
Review URL: http://codereview.chromium.org/112072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17322 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views')
-rw-r--r--views/screen.h22
-rw-r--r--views/screen_gtk.cc19
-rw-r--r--views/screen_win.cc19
-rw-r--r--views/views.gyp3
4 files changed, 63 insertions, 0 deletions
diff --git a/views/screen.h b/views/screen.h
new file mode 100644
index 0000000..eed83bf
--- /dev/null
+++ b/views/screen.h
@@ -0,0 +1,22 @@
+// Copyright (c) 2009 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 VIEWS_SCREEN_H_
+#define VIEWS_SCREEN_H_
+
+#include "base/gfx/point.h"
+
+namespace views {
+
+// A utility class for getting various info about screen size, monitors,
+// cursor position, etc.
+// TODO(erikkay) add more of those methods here
+class Screen {
+ public:
+ static gfx::Point GetCursorScreenPoint();
+};
+
+} // namespace views
+
+#endif // VIEWS_SCREEN_H_
diff --git a/views/screen_gtk.cc b/views/screen_gtk.cc
new file mode 100644
index 0000000..964d580
--- /dev/null
+++ b/views/screen_gtk.cc
@@ -0,0 +1,19 @@
+// Copyright (c) 2009 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.
+
+#include "views/screen.h"
+
+#include <gtk/gtk.h>
+
+namespace views {
+
+// static
+gfx::Point Screen::GetCursorScreenPoint() {
+ gint x, y;
+ gdk_display_get_pointer(NULL, NULL, &x, &y, NULL);
+ return gfx::Point(x, y);
+}
+
+} // namespace
+
diff --git a/views/screen_win.cc b/views/screen_win.cc
new file mode 100644
index 0000000..04191af
--- /dev/null
+++ b/views/screen_win.cc
@@ -0,0 +1,19 @@
+// Copyright (c) 2009 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.
+
+#include "views/screen.h"
+
+#include <windows.h>
+
+namespace views {
+
+// static
+gfx::Point Screen::GetCursorScreenPoint() {
+ POINT pt;
+ GetCursorPos(&pt);
+ return gfx::Point(pt);
+}
+
+} // namespace
+
diff --git a/views/views.gyp b/views/views.gyp
index 42423be..750588a 100644
--- a/views/views.gyp
+++ b/views/views.gyp
@@ -177,6 +177,9 @@
'painter.h',
'repeat_controller.cc',
'repeat_controller.h',
+ 'screen.h',
+ 'screen_gtk.cc',
+ 'screen_win.cc',
'standard_layout.h',
'view.cc',
'view.h',