Reviewed by Eric.
authorthatcher <thatcher@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 24 Jun 2006 05:07:08 +0000 (05:07 +0000)
committerthatcher <thatcher@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 24 Jun 2006 05:07:08 +0000 (05:07 +0000)
        Manual test added: cursor.html

        Bug 9560: should support new CSS3 cursor types to get more resizing directions
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9560

        Adds support for ew-resize, ns-resize, nesw-resize, nwse-resize,
        col-resize and row-resize CSS3 cursor values.

        Also converted some of the cursor images to grayscale tiffs,
        some were RGB but had no color data.

        * Resources/eastResizeCursor.tiff:
        * Resources/eastWestResizeCursor.tiff: Added.
        * Resources/helpCursor.tiff:
        * Resources/moveCursor.tiff:
        * Resources/northEastResizeCursor.tiff:
        * Resources/northEastSouthWestResizeCursor.tiff: Added.
        * Resources/northResizeCursor.tiff:
        * Resources/northSouthResizeCursor.tiff: Added.
        * Resources/northWestResizeCursor.tiff:
        * Resources/northWestSouthEastResizeCursor.tiff: Added.
        * Resources/southEastResizeCursor.tiff:
        * Resources/southResizeCursor.tiff:
        * Resources/southWestResizeCursor.tiff:
        * Resources/textAreaResizeCorner.tiff:
        * Resources/waitCursor.tiff:
        * Resources/westResizeCursor.tiff:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSValueKeywords.in:
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * manual-tests/cursor.html: Added.
        * page/FrameView.cpp:
        (WebCore::selectCursor):
        * platform/Cursor.h:
        * platform/mac/CursorMac.mm:
        (WebCore::northSouthResizeCursor):
        (WebCore::eastWestResizeCursor):
        (WebCore::northEastSouthWestResizeCursor):
        (WebCore::northWestSouthEastResizeCursor):
        (WebCore::columnResizeCursor):
        (WebCore::rowResizeCursor):
        * platform/win/CursorWin.cpp:
        (WebCore::northSouthResizeCursor):
        (WebCore::eastWestResizeCursor):
        (WebCore::northEastSouthWestResizeCursor):
        (WebCore::northWestSouthEastResizeCursor):
        (WebCore::columnResizeCursor):
        (WebCore::rowResizeCursor):
        * rendering/render_style.h: cursor needs 5 bits now

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@15003 268f45cc-cd09-0410-ab3c-d52691b4dbfc

27 files changed:
WebCore/ChangeLog
WebCore/Resources/eastResizeCursor.tiff
WebCore/Resources/eastWestResizeCursor.tiff [new file with mode: 0644]
WebCore/Resources/helpCursor.tiff
WebCore/Resources/moveCursor.tiff
WebCore/Resources/northEastResizeCursor.tiff
WebCore/Resources/northEastSouthWestResizeCursor.tiff [new file with mode: 0644]
WebCore/Resources/northResizeCursor.tiff
WebCore/Resources/northSouthResizeCursor.tiff [new file with mode: 0644]
WebCore/Resources/northWestResizeCursor.tiff
WebCore/Resources/northWestSouthEastResizeCursor.tiff [new file with mode: 0644]
WebCore/Resources/southEastResizeCursor.tiff
WebCore/Resources/southResizeCursor.tiff
WebCore/Resources/southWestResizeCursor.tiff
WebCore/Resources/textAreaResizeCorner.tiff
WebCore/Resources/waitCursor.tiff
WebCore/Resources/westResizeCursor.tiff
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/css/CSSComputedStyleDeclaration.cpp
WebCore/css/CSSValueKeywords.in
WebCore/css/cssparser.cpp
WebCore/manual-tests/cursor.html [new file with mode: 0644]
WebCore/page/FrameView.cpp
WebCore/platform/Cursor.h
WebCore/platform/mac/CursorMac.mm
WebCore/platform/win/CursorWin.cpp
WebCore/rendering/render_style.h

index 988bc8e..f86672c 100644 (file)
@@ -1,3 +1,60 @@
+2006-06-23  Timothy Hatcher  <timothy@apple.com>
+
+        Reviewed by Eric.
+
+        Manual test added: cursor.html
+
+        Bug 9560: should support new CSS3 cursor types to get more resizing directions
+        http://bugzilla.opendarwin.org/show_bug.cgi?id=9560
+
+        Adds support for ew-resize, ns-resize, nesw-resize, nwse-resize,
+        col-resize and row-resize CSS3 cursor values.
+
+        Also converted some of the cursor images to grayscale tiffs,
+        some were RGB but had no color data.
+
+        * Resources/eastResizeCursor.tiff:
+        * Resources/eastWestResizeCursor.tiff: Added.
+        * Resources/helpCursor.tiff:
+        * Resources/moveCursor.tiff:
+        * Resources/northEastResizeCursor.tiff:
+        * Resources/northEastSouthWestResizeCursor.tiff: Added.
+        * Resources/northResizeCursor.tiff:
+        * Resources/northSouthResizeCursor.tiff: Added.
+        * Resources/northWestResizeCursor.tiff:
+        * Resources/northWestSouthEastResizeCursor.tiff: Added.
+        * Resources/southEastResizeCursor.tiff:
+        * Resources/southResizeCursor.tiff:
+        * Resources/southWestResizeCursor.tiff:
+        * Resources/textAreaResizeCorner.tiff:
+        * Resources/waitCursor.tiff:
+        * Resources/westResizeCursor.tiff:
+        * WebCore.xcodeproj/project.pbxproj:
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+        * css/CSSValueKeywords.in:
+        * css/cssparser.cpp:
+        (WebCore::CSSParser::parseValue):
+        * manual-tests/cursor.html: Added.
+        * page/FrameView.cpp:
+        (WebCore::selectCursor):
+        * platform/Cursor.h:
+        * platform/mac/CursorMac.mm:
+        (WebCore::northSouthResizeCursor):
+        (WebCore::eastWestResizeCursor):
+        (WebCore::northEastSouthWestResizeCursor):
+        (WebCore::northWestSouthEastResizeCursor):
+        (WebCore::columnResizeCursor):
+        (WebCore::rowResizeCursor):
+        * platform/win/CursorWin.cpp:
+        (WebCore::northSouthResizeCursor):
+        (WebCore::eastWestResizeCursor):
+        (WebCore::northEastSouthWestResizeCursor):
+        (WebCore::northWestSouthEastResizeCursor):
+        (WebCore::columnResizeCursor):
+        (WebCore::rowResizeCursor):
+        * rendering/render_style.h: cursor needs 5 bits now
+
 2006-06-23  John Sullivan  <sullivan@apple.com>
 
         Reviewed by Tim Omernick
index cc53124..3678e9b 100644 (file)
Binary files a/WebCore/Resources/eastResizeCursor.tiff and b/WebCore/Resources/eastResizeCursor.tiff differ
diff --git a/WebCore/Resources/eastWestResizeCursor.tiff b/WebCore/Resources/eastWestResizeCursor.tiff
new file mode 100644 (file)
index 0000000..faee848
Binary files /dev/null and b/WebCore/Resources/eastWestResizeCursor.tiff differ
index fc4a88a..20b56b9 100644 (file)
Binary files a/WebCore/Resources/helpCursor.tiff and b/WebCore/Resources/helpCursor.tiff differ
index cccf985..7136a01 100644 (file)
Binary files a/WebCore/Resources/moveCursor.tiff and b/WebCore/Resources/moveCursor.tiff differ
index 401a01e..4c0002c 100644 (file)
Binary files a/WebCore/Resources/northEastResizeCursor.tiff and b/WebCore/Resources/northEastResizeCursor.tiff differ
diff --git a/WebCore/Resources/northEastSouthWestResizeCursor.tiff b/WebCore/Resources/northEastSouthWestResizeCursor.tiff
new file mode 100644 (file)
index 0000000..a73f553
Binary files /dev/null and b/WebCore/Resources/northEastSouthWestResizeCursor.tiff differ
index 7759336..16bd5b6 100644 (file)
Binary files a/WebCore/Resources/northResizeCursor.tiff and b/WebCore/Resources/northResizeCursor.tiff differ
diff --git a/WebCore/Resources/northSouthResizeCursor.tiff b/WebCore/Resources/northSouthResizeCursor.tiff
new file mode 100644 (file)
index 0000000..f2b5231
Binary files /dev/null and b/WebCore/Resources/northSouthResizeCursor.tiff differ
index 3beca09..00c8574 100644 (file)
Binary files a/WebCore/Resources/northWestResizeCursor.tiff and b/WebCore/Resources/northWestResizeCursor.tiff differ
diff --git a/WebCore/Resources/northWestSouthEastResizeCursor.tiff b/WebCore/Resources/northWestSouthEastResizeCursor.tiff
new file mode 100644 (file)
index 0000000..c65650c
Binary files /dev/null and b/WebCore/Resources/northWestSouthEastResizeCursor.tiff differ
index a078902..5b61d8e 100644 (file)
Binary files a/WebCore/Resources/southEastResizeCursor.tiff and b/WebCore/Resources/southEastResizeCursor.tiff differ
index f6148e2..2fe3fe5 100644 (file)
Binary files a/WebCore/Resources/southResizeCursor.tiff and b/WebCore/Resources/southResizeCursor.tiff differ
index 3841614..fe6630f 100644 (file)
Binary files a/WebCore/Resources/southWestResizeCursor.tiff and b/WebCore/Resources/southWestResizeCursor.tiff differ
index 0831ed2..0e64e6a 100644 (file)
Binary files a/WebCore/Resources/textAreaResizeCorner.tiff and b/WebCore/Resources/textAreaResizeCorner.tiff differ
index 84d0b87..014f5c0 100644 (file)
Binary files a/WebCore/Resources/waitCursor.tiff and b/WebCore/Resources/waitCursor.tiff differ
index f0937cf..2fffac2 100644 (file)
Binary files a/WebCore/Resources/westResizeCursor.tiff and b/WebCore/Resources/westResizeCursor.tiff differ
index aa2ba7c..464f829 100644 (file)
                1AE2AEC80A1D297B00B42B25 /* JSHTMLQuoteElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AE2AEC40A1D297B00B42B25 /* JSHTMLQuoteElement.h */; };
                1AE2AEE60A1D2A7500B42B25 /* JSHTMLBlockquoteElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AE2AEE40A1D2A7500B42B25 /* JSHTMLBlockquoteElement.cpp */; };
                1AE2AEE70A1D2A7500B42B25 /* JSHTMLBlockquoteElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AE2AEE50A1D2A7500B42B25 /* JSHTMLBlockquoteElement.h */; };
+               1CD4418D0A4CE76F00A007AB /* eastWestResizeCursor.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1CD441890A4CE76F00A007AB /* eastWestResizeCursor.tiff */; };
+               1CD4418E0A4CE76F00A007AB /* northEastSouthWestResizeCursor.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1CD4418A0A4CE76F00A007AB /* northEastSouthWestResizeCursor.tiff */; };
+               1CD4418F0A4CE76F00A007AB /* northSouthResizeCursor.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1CD4418B0A4CE76F00A007AB /* northSouthResizeCursor.tiff */; };
+               1CD441900A4CE76F00A007AB /* northWestSouthEastResizeCursor.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 1CD4418C0A4CE76F00A007AB /* northWestSouthEastResizeCursor.tiff */; };
                4E1959210A39DABA00220FE5 /* MediaFeatureNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E19591F0A39DABA00220FE5 /* MediaFeatureNames.cpp */; };
                4E1959220A39DABA00220FE5 /* MediaFeatureNames.h in Headers */ = {isa = PBXBuildFile; fileRef = 4E1959200A39DABA00220FE5 /* MediaFeatureNames.h */; };
                4E1959290A39DACC00220FE5 /* MediaQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4E1959230A39DACC00220FE5 /* MediaQuery.cpp */; };
                FAE04190097596C9000540BE /* SVGImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = FAE0418E097596C9000540BE /* SVGImageLoader.h */; };
 /* End PBXBuildFile section */
 
-/* Begin PBXBuildStyle section */
-               D0DAA27B0A4C8EF100703DCF /* Development */ = {
-                       isa = PBXBuildStyle;
-                       buildSettings = {
-                               COPY_PHASE_STRIP = NO;
-                       };
-                       name = Development;
-               };
-               D0DAA27C0A4C8EF100703DCF /* Deployment */ = {
-                       isa = PBXBuildStyle;
-                       buildSettings = {
-                               COPY_PHASE_STRIP = YES;
-                       };
-                       name = Deployment;
-               };
-/* End PBXBuildStyle section */
-
 /* Begin PBXContainerItemProxy section */
                DD041FF009D9E3250010AF2A /* PBXContainerItemProxy */ = {
                        isa = PBXContainerItemProxy;
                1AE2AEC40A1D297B00B42B25 /* JSHTMLQuoteElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSHTMLQuoteElement.h; sourceTree = "<group>"; };
                1AE2AEE40A1D2A7500B42B25 /* JSHTMLBlockquoteElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLBlockquoteElement.cpp; sourceTree = "<group>"; };
                1AE2AEE50A1D2A7500B42B25 /* JSHTMLBlockquoteElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSHTMLBlockquoteElement.h; sourceTree = "<group>"; };
+               1CD441890A4CE76F00A007AB /* eastWestResizeCursor.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = eastWestResizeCursor.tiff; sourceTree = "<group>"; };
+               1CD4418A0A4CE76F00A007AB /* northEastSouthWestResizeCursor.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = northEastSouthWestResizeCursor.tiff; sourceTree = "<group>"; };
+               1CD4418B0A4CE76F00A007AB /* northSouthResizeCursor.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = northSouthResizeCursor.tiff; sourceTree = "<group>"; };
+               1CD4418C0A4CE76F00A007AB /* northWestSouthEastResizeCursor.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = northWestSouthEastResizeCursor.tiff; sourceTree = "<group>"; };
                2D90660B0665D937006B6F1A /* ClipboardMac.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = ClipboardMac.h; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                2D90660C0665D937006B6F1A /* ClipboardMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ClipboardMac.mm; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                4758C44308C5F217009BAF05 /* KCanvasPath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = KCanvasPath.cpp; sourceTree = "<group>"; tabWidth = 8; usesTabs = 0; };
                                84C0FA2A052B966D000440A1 /* southEastResizeCursor.tiff */,
                                84C0FA2B052B966D000440A1 /* southResizeCursor.tiff */,
                                84C0FA2C052B966D000440A1 /* southWestResizeCursor.tiff */,
+                               1CD441890A4CE76F00A007AB /* eastWestResizeCursor.tiff */,
+                               1CD4418A0A4CE76F00A007AB /* northEastSouthWestResizeCursor.tiff */,
+                               1CD4418B0A4CE76F00A007AB /* northSouthResizeCursor.tiff */,
+                               1CD4418C0A4CE76F00A007AB /* northWestSouthEastResizeCursor.tiff */,
                                ED048ABB0833F132006E1E67 /* textAreaResizeCorner.tiff */,
                                84C0FA2D052B966D000440A1 /* waitCursor.tiff */,
                                84C0FA2E052B966D000440A1 /* westResizeCursor.tiff */,
                0867D690FE84028FC02AAC07 /* Project object */ = {
                        isa = PBXProject;
                        buildConfigurationList = 149C284308902B11008A9EFC /* Build configuration list for PBXProject "WebCore" */;
-                       buildSettings = {
-                       };
-                       buildStyles = (
-                               D0DAA27B0A4C8EF100703DCF /* Development */,
-                               D0DAA27C0A4C8EF100703DCF /* Deployment */,
-                       );
                        hasScannedForEncodings = 1;
                        knownRegions = (
                                English,
                                A7B97B850979C3A1000E8EB1 /* WKTableTransferFilter.cikernel in Resources */,
                                A7638A92099592C30007E14F /* WKDisplacementMapFilter.cikernel in Resources */,
                                AB4261D80A2F6C9700BDD17D /* missingImage.tiff in Resources */,
+                               1CD4418D0A4CE76F00A007AB /* eastWestResizeCursor.tiff in Resources */,
+                               1CD4418E0A4CE76F00A007AB /* northEastSouthWestResizeCursor.tiff in Resources */,
+                               1CD4418F0A4CE76F00A007AB /* northSouthResizeCursor.tiff in Resources */,
+                               1CD441900A4CE76F00A007AB /* northWestSouthEastResizeCursor.tiff in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
index cf75f04..8321ccf 100644 (file)
@@ -586,6 +586,18 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
                 return new CSSPrimitiveValue(CSS_VAL_S_RESIZE);
             case CURSOR_W_RESIZE:
                 return new CSSPrimitiveValue(CSS_VAL_W_RESIZE);
+            case CURSOR_EW_RESIZE:
+                return new CSSPrimitiveValue(CSS_VAL_EW_RESIZE);
+            case CURSOR_NS_RESIZE:
+                return new CSSPrimitiveValue(CSS_VAL_NS_RESIZE);
+            case CURSOR_NESW_RESIZE:
+                return new CSSPrimitiveValue(CSS_VAL_NESW_RESIZE);
+            case CURSOR_NWSE_RESIZE:
+                return new CSSPrimitiveValue(CSS_VAL_NWSE_RESIZE);
+            case CURSOR_COL_RESIZE:
+                return new CSSPrimitiveValue(CSS_VAL_COL_RESIZE);
+            case CURSOR_ROW_RESIZE:
+                return new CSSPrimitiveValue(CSS_VAL_ROW_RESIZE);
             case CURSOR_TEXT:
                 return new CSSPrimitiveValue(CSS_VAL_TEXT);
             case CURSOR_WAIT:
index 5426696..26814a8 100644 (file)
@@ -253,6 +253,12 @@ se-resize
 sw-resize
 s-resize
 w-resize
+ew-resize
+ns-resize
+nesw-resize
+nwse-resize
+col-resize
+row-resize
 text
 wait
 help
index bb33aea..caa8699 100644 (file)
@@ -695,8 +695,8 @@ bool CSSParser::parseValue(int propId, bool important)
 
     case CSS_PROP_CURSOR:
         //  [ auto | crosshair | default | pointer | progress | move | e-resize | ne-resize |
-        // nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize | text |
-        // wait | help ] ] | inherit
+        // nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize | ew-resize | 
+        // ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | text | wait | help ] ] | inherit
         if (!strict && id == CSS_VAL_HAND) { // MSIE 5 compatibility :/
             id = CSS_VAL_POINTER;
             valid_primitive = true;
diff --git a/WebCore/manual-tests/cursor.html b/WebCore/manual-tests/cursor.html
new file mode 100644 (file)
index 0000000..9dca15f
--- /dev/null
@@ -0,0 +1,23 @@
+<div>Mouse over the grey blocks to change the cursor.</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: auto">auto</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: default">default</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: hand">hand</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: pointer">pointer</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: text">text</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: help">help</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: crosshair">crosshair</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: move">move</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: w-resize">w</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: e-resize">e</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: n-resize">n</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: s-resize">s</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: nw-resize">nw</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: ne-resize">ne</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: sw-resize">sw</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: se-resize">se</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: ns-resize">ns</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: ew-resize">ew</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: nwse-resize">nwse</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: nesw-resize">nesw</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: col-resize">col</div>
+<div style="width: 20px; height: 20px; margin: 10px; background: #ddd; cursor: row-resize">row</div>
index 413420d..7cdec07 100644 (file)
@@ -639,6 +639,18 @@ static Cursor selectCursor(const MouseEventWithHitTestResults& event, Frame* fra
             return northWestResizeCursor();
         case CURSOR_SE_RESIZE:
             return southEastResizeCursor();
+        case CURSOR_NS_RESIZE:
+            return northSouthResizeCursor();
+        case CURSOR_EW_RESIZE:
+            return eastWestResizeCursor();
+        case CURSOR_NESW_RESIZE:
+            return northEastSouthWestResizeCursor();
+        case CURSOR_NWSE_RESIZE:
+            return northWestSouthEastResizeCursor();
+        case CURSOR_COL_RESIZE:
+            return columnResizeCursor();
+        case CURSOR_ROW_RESIZE:
+            return rowResizeCursor();
         case CURSOR_TEXT:
             return iBeamCursor();
         case CURSOR_WAIT:
index 8693695..94e9f31 100644 (file)
@@ -85,6 +85,12 @@ namespace WebCore {
     const Cursor& southEastResizeCursor();
     const Cursor& southWestResizeCursor();
     const Cursor& westResizeCursor();
+    const Cursor& northSouthResizeCursor();
+    const Cursor& eastWestResizeCursor();
+    const Cursor& northEastSouthWestResizeCursor();
+    const Cursor& northWestSouthEastResizeCursor();
+    const Cursor& columnResizeCursor();
+    const Cursor& rowResizeCursor();
 
 }
 
index 720998a..1512c9d 100644 (file)
@@ -187,4 +187,40 @@ const Cursor& westResizeCursor()
     return c;
 }
 
+const Cursor& northSouthResizeCursor()
+{
+    static Cursor c = leakNamedCursor("northSouthResizeCursor", 7, 7);
+    return c;
+}
+
+const Cursor& eastWestResizeCursor()
+{
+    static Cursor c = leakNamedCursor("eastWestResizeCursor", 7, 7);
+    return c;
+}
+
+const Cursor& northEastSouthWestResizeCursor()
+{
+    static Cursor c = leakNamedCursor("northEastSouthWestResizeCursor", 7, 7);
+    return c;
+}
+
+const Cursor& northWestSouthEastResizeCursor()
+{
+    static Cursor c = leakNamedCursor("northWestSouthEastResizeCursor", 7, 7);
+    return c;
+}
+
+const Cursor& columnResizeCursor()
+{
+    static Cursor c = [NSCursor resizeLeftRightCursor];
+    return c;
+}
+
+const Cursor& rowResizeCursor()
+{
+    static Cursor c = [NSCursor resizeUpDownCursor];
+    return c;
+}
+
 }
index 107afcf..8ae8f8d 100644 (file)
@@ -126,4 +126,42 @@ const Cursor& westResizeCursor()
     return c;
 }
 
+const Cursor& northSouthResizeCursor()
+{
+    static Cursor c = LoadCursor(0, IDC_SIZENS);
+    return c;
+}
+
+const Cursor& eastWestResizeCursor()
+{
+    static Cursor c = LoadCursor(0, IDC_SIZEWE);
+    return c;
+}
+
+const Cursor& northEastSouthWestResizeCursor()
+{
+    static Cursor c = LoadCursor(0, IDC_SIZENESW);
+    return c;
+}
+
+const Cursor& northWestSouthEastResizeCursor()
+{
+    static Cursor c = LoadCursor(0, IDC_SIZENWSE);
+    return c;
+}
+
+const Cursor& columnResizeCursor()
+{
+    // FIXME: Windows does not have a standard column resize cursor
+    static Cursor c = LoadCursor(0, IDC_SIZEWE);
+    return c;
+}
+
+const Cursor& rowResizeCursor()
+{
+    // FIXME: Windows does not have a standard row resize cursor
+    static Cursor c = LoadCursor(0, IDC_SIZENS);
+    return c;
+}
+
 }
index c9ed483..b7da911 100644 (file)
@@ -851,7 +851,8 @@ enum EVisibility { VISIBLE, HIDDEN, COLLAPSE };
 enum ECursor {
     CURSOR_AUTO, CURSOR_CROSS, CURSOR_DEFAULT, CURSOR_POINTER, CURSOR_MOVE,
     CURSOR_E_RESIZE, CURSOR_NE_RESIZE, CURSOR_NW_RESIZE, CURSOR_N_RESIZE, CURSOR_SE_RESIZE, CURSOR_SW_RESIZE,
-    CURSOR_S_RESIZE, CURSOR_W_RESIZE, CURSOR_TEXT, CURSOR_WAIT, CURSOR_HELP
+    CURSOR_S_RESIZE, CURSOR_W_RESIZE, CURSOR_EW_RESIZE, CURSOR_NS_RESIZE, CURSOR_NESW_RESIZE, CURSOR_NWSE_RESIZE,
+    CURSOR_COL_RESIZE, CURSOR_ROW_RESIZE, CURSOR_TEXT, CURSOR_WAIT, CURSOR_HELP
 };
 
 enum ContentType {
@@ -954,7 +955,7 @@ protected:
         unsigned _text_align : 4; // ETextAlign
         unsigned _text_transform : 2; // ETextTransform
         unsigned _text_decorations : 4;
-        unsigned _cursor_style : 4; // ECursor
+        unsigned _cursor_style : 5; // ECursor
         unsigned _direction : 1; // TextDirection
         bool _border_collapse : 1 ;
         unsigned _white_space : 3; // EWhiteSpace