diff options
author | evanm@google.com <evanm@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-11 18:28:50 +0000 |
---|---|---|
committer | evanm@google.com <evanm@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-11 18:28:50 +0000 |
commit | be18d3eae2db247dc5a0e211cc97579620324641 (patch) | |
tree | 4b3bfe1413bd6c714a048e5cca80a02938fce9e3 /webkit/glue/webcursor_gtk.cc | |
parent | 0d8a7a1b0662e50c962cd3f14d7ef1a65d5a630b (diff) | |
download | chromium_src-be18d3eae2db247dc5a0e211cc97579620324641.zip chromium_src-be18d3eae2db247dc5a0e211cc97579620324641.tar.gz chromium_src-be18d3eae2db247dc5a0e211cc97579620324641.tar.bz2 |
Basic cursor support.
Review URL: http://codereview.chromium.org/9744
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5185 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/glue/webcursor_gtk.cc')
-rw-r--r-- | webkit/glue/webcursor_gtk.cc | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/webkit/glue/webcursor_gtk.cc b/webkit/glue/webcursor_gtk.cc new file mode 100644 index 0000000..6224804 --- /dev/null +++ b/webkit/glue/webcursor_gtk.cc @@ -0,0 +1,107 @@ +// Copyright (c) 2008 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 "webkit/glue/webcursor.h" + +#include "config.h" +#include "PlatformCursor.h" + +#undef LOG +#include "base/logging.h" + +using WebCore::PlatformCursor; + +GdkCursorType WebCursor::GetCursorType() const { + // http://library.gnome.org/devel/gdk/2.12/gdk-Cursors.html has images + // of the default X theme, but beware that the user's cursor theme can + // change everything. + switch (type_) { + case PlatformCursor::typePointer: + return GDK_ARROW; + case PlatformCursor::typeCross: + return GDK_CROSS; + case PlatformCursor::typeHand: + return GDK_HAND2; + case PlatformCursor::typeIBeam: + return GDK_XTERM; + case PlatformCursor::typeWait: + return GDK_WATCH; + case PlatformCursor::typeHelp: + return GDK_QUESTION_ARROW; + case PlatformCursor::typeEastResize: + return GDK_RIGHT_SIDE; + case PlatformCursor::typeNorthResize: + return GDK_TOP_SIDE; + case PlatformCursor::typeNorthEastResize: + return GDK_TOP_RIGHT_CORNER; + case PlatformCursor::typeNorthWestResize: + return GDK_TOP_LEFT_CORNER; + case PlatformCursor::typeSouthResize: + return GDK_BOTTOM_SIDE; + case PlatformCursor::typeSouthEastResize: + return GDK_BOTTOM_LEFT_CORNER; + case PlatformCursor::typeSouthWestResize: + return GDK_BOTTOM_RIGHT_CORNER; + case PlatformCursor::typeWestResize: + return GDK_LEFT_SIDE; + case PlatformCursor::typeNorthSouthResize: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeEastWestResize: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeNorthEastSouthWestResize: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeNorthWestSouthEastResize: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeColumnResize: + return GDK_SB_H_DOUBLE_ARROW; // TODO(evanm): is this correct? + case PlatformCursor::typeRowResize: + return GDK_SB_V_DOUBLE_ARROW; // TODO(evanm): is this correct? + case PlatformCursor::typeMiddlePanning: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeEastPanning: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeNorthPanning: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeNorthEastPanning: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeNorthWestPanning: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeSouthPanning: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeSouthEastPanning: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeSouthWestPanning: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeWestPanning: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeMove: + return GDK_FLEUR; + case PlatformCursor::typeVerticalText: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeCell: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeContextMenu: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeAlias: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeProgress: + return GDK_WATCH; + case PlatformCursor::typeNoDrop: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeCopy: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeNone: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeNotAllowed: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeZoomIn: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeZoomOut: + NOTIMPLEMENTED(); return GDK_ARROW; + case PlatformCursor::typeCustom: + return GDK_CURSOR_IS_PIXMAP; + } + NOTREACHED(); + return GDK_ARROW; +} |