]> git.mxchange.org Git - flightgear.git/blobdiff - src/Canvas/window.cxx
Canvas window: Update for SimGear MouseEvent changes.
[flightgear.git] / src / Canvas / window.cxx
index 57d862fa4a157a2641d5a66fc529811bd17cc261..cdebb5d0e12df21c0bbf206e1b96f2855d696202 100644 (file)
@@ -32,6 +32,7 @@ namespace canvas
             node,
             simgear::canvas::Style() ),
     _resizable(false),
+    _capture_events(true),
     _resize_top(node, "resize-top"),
     _resize_right(node, "resize-right"),
     _resize_bottom(node, "resize-bottom"),
@@ -74,6 +75,8 @@ namespace canvas
         doRaise(node);
       else if( node->getNameString()  == "resize" )
         _resizable = node->getBoolValue();
+      else if( node->getNameString() == "capture-events" )
+        _capture_events = node->getBoolValue();
       else
         handled = false;
     }
@@ -89,7 +92,7 @@ namespace canvas
   }
 
   //----------------------------------------------------------------------------
-  const simgear::Rect<float>& Window::getRegion() const
+  const SGRect<float>& Window::getRegion() const
   {
     return _image.getRegion();
   }
@@ -106,19 +109,28 @@ namespace canvas
     return _image.getSrcCanvas();
   }
 
+  //----------------------------------------------------------------------------
+  bool Window::isVisible() const
+  {
+    return _image.isVisible();
+  }
+
   //----------------------------------------------------------------------------
   bool Window::isResizable() const
   {
     return _resizable;
   }
 
+  //----------------------------------------------------------------------------
+  bool Window::isCapturingEvents() const
+  {
+    return _capture_events;
+  }
+
   //----------------------------------------------------------------------------
   bool Window::handleMouseEvent(const simgear::canvas::MouseEventPtr& event)
   {
-    if( !getCanvas().expired() )
-      return getCanvas().lock()->handleMouseEvent(event);
-    else
-      return false;
+    return _image.handleEvent(event);
   }
 
   //----------------------------------------------------------------------------