Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-96457

"infinite plane" Item2D prevents event propagation to 2D content behind it

    XMLWordPrintable

Details

    • 792ddf542dd5ab5d78d779c80891aaa4d4266d77

    Description

      For example: anytime you put a WasdController behind a View3D, if the scene contains an Item2D, you will not be able to drag to change the camera angle, because QQuick3DViewport::internalPick() finds the Item2D and delivers the events to it, unless the camera is turned to such an angle that you can mouse somewhere beyond that plane.

      It seems like geometry will have to be considered to limit the region receiving events, even though the Item2D is treated like an infinite plane for rendering purposes. But currently QQuick3DItem2D's m_contentItem has a null bounding box. Maybe it needs to be bound to childrenRect() or something like that, so that hit testing can depend on it; or maybe we can use childrenRect() directly.

      Also, what if the 2D subscene doesn't actually handle mouse events? Lately event delivery still stops anyway. Earlier I don't think it stopped there.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              srutledg Shawn Rutledge
              srutledg Shawn Rutledge
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews