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

Side by Side Diff: webkit/glue/webcursor_gtk.cc

Issue 6591105: Implement the grab/grabbing cursors (for Mac/GTK).... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "webkit/glue/webcursor.h" 5 #include "webkit/glue/webcursor.h"
6 6
7 #include <gdk/gdk.h> 7 #include <gdk/gdk.h>
8 #include <gtk/gtk.h> 8 #include <gtk/gtk.h>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebCursorInfo.h" 11 #include "third_party/WebKit/Source/WebKit/chromium/public/WebCursorInfo.h"
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 // See comment above |GetInvisibleCustomCursor()|. 146 // See comment above |GetInvisibleCustomCursor()|.
147 #if !GTK_CHECK_VERSION(2, 16, 0) 147 #if !GTK_CHECK_VERSION(2, 16, 0)
148 return GDK_CURSOR_IS_PIXMAP; 148 return GDK_CURSOR_IS_PIXMAP;
149 #else 149 #else
150 return GDK_BLANK_CURSOR; 150 return GDK_BLANK_CURSOR;
151 #endif 151 #endif
152 case WebCursorInfo::TypeNotAllowed: 152 case WebCursorInfo::TypeNotAllowed:
153 NOTIMPLEMENTED(); return GDK_LAST_CURSOR; 153 NOTIMPLEMENTED(); return GDK_LAST_CURSOR;
154 case WebCursorInfo::TypeZoomIn: 154 case WebCursorInfo::TypeZoomIn:
155 case WebCursorInfo::TypeZoomOut: 155 case WebCursorInfo::TypeZoomOut:
156 case WebCursorInfo::TypeGrab:
157 case WebCursorInfo::TypeGrabbing:
156 case WebCursorInfo::TypeCustom: 158 case WebCursorInfo::TypeCustom:
157 return GDK_CURSOR_IS_PIXMAP; 159 return GDK_CURSOR_IS_PIXMAP;
158 } 160 }
159 NOTREACHED(); 161 NOTREACHED();
160 return GDK_LAST_CURSOR; 162 return GDK_LAST_CURSOR;
161 } 163 }
162 164
163 gfx::NativeCursor WebCursor::GetNativeCursor() { 165 gfx::NativeCursor WebCursor::GetNativeCursor() {
164 int type = GetCursorType(); 166 int type = GetCursorType();
165 if (type == GDK_CURSOR_IS_PIXMAP) 167 if (type == GDK_CURSOR_IS_PIXMAP)
166 return GetCustomCursor(); 168 return GetCustomCursor();
167 return gfx::GetCursor(type); 169 return gfx::GetCursor(type);
168 } 170 }
169 171
170 GdkCursor* WebCursor::GetCustomCursor() { 172 GdkCursor* WebCursor::GetCustomCursor() {
171 switch (type_) { 173 switch (type_) {
172 // See comment above |GetInvisibleCustomCursor()|. 174 // See comment above |GetInvisibleCustomCursor()|.
173 #if !GTK_CHECK_VERSION(2, 16, 0) 175 #if !GTK_CHECK_VERSION(2, 16, 0)
174 case WebCursorInfo::TypeNone: 176 case WebCursorInfo::TypeNone:
175 return GetInvisibleCustomCursor(); 177 return GetInvisibleCustomCursor();
176 #endif 178 #endif
177 case WebCursorInfo::TypeZoomIn: 179 case WebCursorInfo::TypeZoomIn:
178 return GetInlineCustomCursor(CustomCursorZoomIn); 180 return GetInlineCustomCursor(CustomCursorZoomIn);
179 case WebCursorInfo::TypeZoomOut: 181 case WebCursorInfo::TypeZoomOut:
180 return GetInlineCustomCursor(CustomCursorZoomOut); 182 return GetInlineCustomCursor(CustomCursorZoomOut);
183 case WebCursorInfo::TypeGrab:
184 return GetInlineCustomCursor(CustomCursorGrab);
185 case WebCursorInfo::TypeGrabbing:
186 return GetInlineCustomCursor(CustomCursorGrabbing);
181 } 187 }
182 188
183 if (type_ != WebCursorInfo::TypeCustom) { 189 if (type_ != WebCursorInfo::TypeCustom) {
184 NOTREACHED(); 190 NOTREACHED();
185 return NULL; 191 return NULL;
186 } 192 }
187 193
188 SkBitmap bitmap; 194 SkBitmap bitmap;
189 bitmap.setConfig(SkBitmap::kARGB_8888_Config, 195 bitmap.setConfig(SkBitmap::kARGB_8888_Config,
190 custom_size_.width(), custom_size_.height()); 196 custom_size_.width(), custom_size_.height());
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 unref_ = NULL; 234 unref_ = NULL;
229 } 235 }
230 return; 236 return;
231 } 237 }
232 238
233 void WebCursor::CopyPlatformData(const WebCursor& other) { 239 void WebCursor::CopyPlatformData(const WebCursor& other) {
234 if (other.unref_) 240 if (other.unref_)
235 unref_ = gdk_cursor_ref(other.unref_); 241 unref_ = gdk_cursor_ref(other.unref_);
236 return; 242 return;
237 } 243 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698