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

Side by Side Diff: webkit/glue/webcursor.h

Issue 11427: Cursor support including custom cursors (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 12 years, 1 month 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 #ifndef WEBKIT_GLUE_WEBCURSOR_H_ 5 #ifndef WEBKIT_GLUE_WEBCURSOR_H_
6 #define WEBKIT_GLUE_WEBCURSOR_H_ 6 #define WEBKIT_GLUE_WEBCURSOR_H_
7 7
8 #include "base/gfx/point.h" 8 #include "base/gfx/point.h"
9 #include "base/gfx/size.h" 9 #include "base/gfx/size.h"
10 10
11 #include <vector> 11 #include <vector>
12 12
13 #if defined(OS_WIN) 13 #if defined(OS_WIN)
14 typedef struct HINSTANCE__* HINSTANCE; 14 typedef struct HINSTANCE__* HINSTANCE;
15 typedef struct HICON__* HICON; 15 typedef struct HICON__* HICON;
16 typedef HICON HCURSOR; 16 typedef HICON HCURSOR;
17 #elif defined(OS_LINUX) 17 #elif defined(OS_LINUX)
18 // GdkCursorType is an enum, which we can't forward-declare. :( 18 // GdkCursorType is an enum, which we can't forward-declare. :(
19 #include <gdk/gdkcursor.h> 19 #include <gdk/gdkcursor.h>
20 #elif defined(OS_MACOSX)
21 #ifdef __OBJC__
22 @class NSCursor;
23 #else
24 class NSCursor;
25 #endif
20 #endif 26 #endif
21 27
22 class Pickle; 28 class Pickle;
23 29
24 namespace WebCore { 30 namespace WebCore {
25 class Image; 31 class Image;
26 class PlatformCursor; 32 class PlatformCursor;
27 } 33 }
28 34
29 // This class encapsulates a cross-platform description of a cursor. Platform 35 // This class encapsulates a cross-platform description of a cursor. Platform
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 // Initialize this from the given Windows cursor. 68 // Initialize this from the given Windows cursor.
63 void InitFromCursor(HCURSOR handle); 69 void InitFromCursor(HCURSOR handle);
64 #elif defined(OS_LINUX) 70 #elif defined(OS_LINUX)
65 // Return the stock GdkCursorType for this cursor, or GDK_CURSOR_IS_PIXMAP 71 // Return the stock GdkCursorType for this cursor, or GDK_CURSOR_IS_PIXMAP
66 // if it's a custom cursor. 72 // if it's a custom cursor.
67 GdkCursorType GetCursorType() const; 73 GdkCursorType GetCursorType() const;
68 74
69 // Return a new GdkCursor* for this cursor. Only valid if GetCursorType 75 // Return a new GdkCursor* for this cursor. Only valid if GetCursorType
70 // returns GDK_CURSOR_IS_PIXMAP. 76 // returns GDK_CURSOR_IS_PIXMAP.
71 GdkCursor* GetCustomCursor() const; 77 GdkCursor* GetCustomCursor() const;
78 #elif defined(OS_MACOSX)
79 NSCursor* GetCursor() const;
darin (slow to review) 2008/11/18 18:16:27 Might be good to document the ownership model here
pink (ping after 24hrs) 2008/11/18 18:28:12 The usual nomenclature for Foundation/ObjC is that
72 #endif 80 #endif
73 81
74 private: 82 private:
75 void SetCustomData(WebCore::Image* image); 83 void SetCustomData(WebCore::Image* image);
76 84
77 // WebCore::PlatformCursor type. 85 // WebCore::PlatformCursor type.
78 int type_; 86 int type_;
79 87
80 gfx::Point hotspot_; 88 gfx::Point hotspot_;
81 89
82 // Custom cursor data, as 32-bit RGBA. 90 // Custom cursor data, as 32-bit RGBA.
83 // Platform-inspecific because it can be serialized. 91 // Platform-inspecific because it can be serialized.
84 gfx::Size custom_size_; 92 gfx::Size custom_size_;
85 std::vector<char> custom_data_; 93 std::vector<char> custom_data_;
86 }; 94 };
87 95
88 #endif // WEBKIT_GLUE_WEBCURSOR_H_ 96 #endif // WEBKIT_GLUE_WEBCURSOR_H_
OLDNEW
« no previous file with comments | « webkit/glue/SConscript ('k') | webkit/glue/webcursor.cc » ('j') | webkit/glue/webcursor_mac.mm » ('J')

Powered by Google App Engine
This is Rietveld 408576698