]> git.mxchange.org Git - flightgear.git/commitdiff
New cursor shapes.
authorJames Turner <zakalawe@mac.com>
Sun, 10 Mar 2013 12:05:14 +0000 (12:05 +0000)
committerJames Turner <zakalawe@mac.com>
Sun, 10 Mar 2013 12:05:14 +0000 (12:05 +0000)
Unfortunately OSG lacks the 'closed hand' (aka 'grab') cursor, really time to get platform cursor working reliably.

src/GUI/CocoaMouseCursor.mm
src/GUI/MouseCursor.cxx
src/GUI/MouseCursor.hxx

index 03798d4f05861d1db05586a9ce2f203d710d1d31..8858ff52aa6c67d014a54c6f700eda6af31cb064 100644 (file)
@@ -45,9 +45,11 @@ NSCursor* cocoaCursorForKey(FGMouseCursor::Cursor aKey)
     case FGMouseCursor::CURSOR_HAND: return [NSCursor pointingHandCursor];
     case FGMouseCursor::CURSOR_CROSSHAIR: return [NSCursor crosshairCursor];
     case FGMouseCursor::CURSOR_IBEAM: return [NSCursor IBeamCursor];
-    
+    case FGMouseCursor::CURSOR_CLOSED_HAND: return [NSCursor closedHandCursor];
+            
     // FIXME - use a proper left-right cursor here.
     case FGMouseCursor::CURSOR_LEFT_RIGHT: return [NSCursor resizeLeftRightCursor];
+    case FGMouseCursor::CURSOR_UP_DOWN: return [NSCursor resizeUpDownCursor];
             
     case FGMouseCursor::CURSOR_SPIN_CW:
         path = [path stringByAppendingPathComponent:@"cursor-spin-cw.png"];
index 7dc6fbc530ac692adb7fa9dfe47f5d7abcfa73b1..5d8bff6acce7ab316291a145084921a3574bf6a8 100644 (file)
@@ -105,10 +105,11 @@ private:
         switch (aCursor) {
                case CURSOR_ARROW: return osgViewer::GraphicsWindow::RightArrowCursor;
         case CURSOR_HAND: return osgViewer::GraphicsWindow::HandCursor;
+        case CURSOR_CLOSED_HAND: return osgViewer::GraphicsWindow::HandCursor;
         case CURSOR_CROSSHAIR: return osgViewer::GraphicsWindow::CrosshairCursor;
         case CURSOR_IBEAM: return osgViewer::GraphicsWindow::TextCursor;
         case CURSOR_LEFT_RIGHT: return osgViewer::GraphicsWindow::LeftRightCursor;
-                    
+        case CURSOR_UP_DOWN: return osgViewer::GraphicsWindow::UpDownCursor;
         default:
                        return osgViewer::GraphicsWindow::RightArrowCursor;  
         }
@@ -223,7 +224,12 @@ const MouseCursorMap mouse_cursor_map[] = {
     { "crosshair", FGMouseCursor::CURSOR_CROSSHAIR },
     { "left-right", FGMouseCursor::CURSOR_LEFT_RIGHT },
     { "hand", FGMouseCursor::CURSOR_HAND },
+    { "closed-hand", FGMouseCursor::CURSOR_CLOSED_HAND },
     { "text", FGMouseCursor::CURSOR_IBEAM },
+    
+// aliases
+    { "drag-horizontal", FGMouseCursor::CURSOR_LEFT_RIGHT },
+    { "drag-vertical", FGMouseCursor::CURSOR_UP_DOWN },
     { 0, FGMouseCursor::CURSOR_ARROW }
 };
 
index 94b7d3032b86225728507e7143c1fa9fe69730e4..077504cf1b9cdb5fb4f760a40fcd6414a97f0a8f 100644 (file)
@@ -33,7 +33,8 @@ public:
     enum Cursor
     {
         CURSOR_ARROW,
-        CURSOR_HAND,
+        CURSOR_HAND, ///< the browser 'link' cursor
+        CURSOR_CLOSED_HAND,
         CURSOR_CROSSHAIR,
         CURSOR_IBEAM, ///< for editing text
         CURSOR_IN_OUT, ///< arrow pointing into / out of the screen