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

Add API for regulating if a specific event type should be compressed.

    XMLWordPrintable

Details

    • 60cd1c67759642018ef93cc45a90714729100d9d 28fab275033a6b4f8d6e78da0f729837144b0420 06713ded600d2d1fb5469dc31373a1878c366485

    Description

      In Qt4 there was a widget attribute for disabling motion event compression WA_NoX11EventCompression. This attribute is X11 specific thus only one of the supported platforms had this feature available.

      There are use cases when event compression is not desirable, a quote from GTK+ docs:

      Some types of applications, e.g. paint programs, need to see all motion events and will benefit from turning off event compression. [1]

      Currently in Qt5 if you want to get uncompressed (all) events then you would need to use QAbstractNativeEventFilter. This is not very cross-platform, because you have to deal with native event types. The solution would be to add flags that could be used to disable compression for specific event types (only those that make sense), for example:

      DontCompressMotion,
      DontCompressTouch,
      DontCompressAll

      The question are:

      • do we want to disable this for selected windows or for the whole QPA plugin?
      • where the actual compression should take a place (it needs to work in both - in widget code and in qtquick code)?

      [1] https://developer.gnome.org/gdk3/stable/gdk3-Windows.html#gdk-window-set-event-compression

      Attachments

        1. application.zip
          17 kB
        2. bad-resize.png
          bad-resize.png
          135 kB

        Issue Links

          Activity

            People

              srutledg Shawn Rutledge
              paeglis Gatis Paeglis
              Votes:
              3 Vote for this issue
              Watchers:
              23 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: