tearing_control_v1 Module
*************************


WpTearingControlManagerV1
=========================

class pywayland.protocol.tearing_control_v1.WpTearingControlManagerV1

   Protocol for tearing control

   For some use cases like games or drawing tablets it can make sense
   to reduce latency by accepting tearing with the use of asynchronous
   page flips. This global is a factory interface, allowing clients to
   inform which type of presentation the content of their surfaces is
   suitable for.

   Graphics APIs like EGL or Vulkan, that manage the buffer queue and
   commits of a "WlSurface" themselves, are likely to be using this
   extension internally. If a client is using such an API for a
   "WlSurface", it should not directly use this extension on that
   surface, to avoid raising a tearing_control_exists protocol error.

   Warning! The protocol described in this file is currently in the
   testing phase. Backward compatible changes may be added together
   with the corresponding interface version bump. Backward
   incompatible changes can only be done by creating a new major
   version of the extension.

   destroy() -> 'None'

      -[ Request -- opcode 0 (attached to "Resource" instance) ]-

      Destroy tearing control factory object

      Destroy this tearing control factory object. Other objects,
      including "WpTearingControlV1" objects created by this factory,
      are not affected by this request.

   get_tearing_control(surface: 'WlSurfaceProxy') -> 'WpTearingControlV1Proxy'

      -[ Request -- opcode 1 (attached to "Resource" instance) ]-

      Extend surface interface for tearing control

      Instantiate an interface extension for the given "WlSurface" to
      request asynchronous page flips for presentation.

      If the given "WlSurface" already has a "WpTearingControlV1"
      object associated, the tearing_control_exists protocol error is
      raised.

      Parameters:
         **surface** ("WlSurface")

      Returns:
         "WpTearingControlV1"


WpTearingControlV1
==================

class pywayland.protocol.tearing_control_v1.WpTearingControlV1

   Per-surface tearing control interface

   An additional interface to a "WlSurface" object, which allows the
   client to hint to the compositor if the content on the surface is
   suitable for presentation with tearing. The default presentation
   hint is vsync. See presentation_hint for more details.

   If the associated "WlSurface" is destroyed, this object becomes
   inert and should be destroyed.

   set_presentation_hint(hint: 'int') -> 'None'

      -[ Request -- opcode 0 (attached to "Resource" instance) ]-

      Set presentation hint

      Set the presentation hint for the associated "WlSurface". This
      state is double- buffered, see "WlSurface.commit()".

      The compositor is free to dynamically respect or ignore this
      hint based on various conditions like hardware capabilities,
      surface state and user preferences.

      Parameters:
         **hint** (*ArgumentType.Uint*)

   destroy() -> 'None'

      -[ Request -- opcode 1 (attached to "Resource" instance) ]-

      Destroy tearing control object

      Destroy this surface tearing object and revert the presentation
      hint to vsync. The change will be applied on the next
      "WlSurface.commit()".
