content_type_v1 Module
**********************


WpContentTypeManagerV1
======================

class pywayland.protocol.content_type_v1.WpContentTypeManagerV1

   Surface content type manager

   This interface allows a client to describe the kind of content a
   surface will display, to allow the compositor to optimize its
   behavior for it.

   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 the content type manager object

      Destroy the content type manager. This doesn't destroy objects
      created with the manager.

   get_surface_content_type(surface: 'WlSurfaceProxy') -> 'WpContentTypeV1Proxy'

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

      Create a new content type object

      Create a new content type object associated with the given
      surface.

      Creating a "WpContentTypeV1" from a "WlSurface" which already
      has one attached is a client error: already_constructed.

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

      Returns:
         "WpContentTypeV1"


WpContentTypeV1
===============

class pywayland.protocol.content_type_v1.WpContentTypeV1

   Content type object for a surface

   The content type object allows the compositor to optimize for the
   kind of content shown on the surface. A compositor may for example
   use it to set relevant drm properties like "content type".

   The client may request to switch to another content type at any
   time. When the associated surface gets destroyed, this object
   becomes inert and the client should destroy it.

   destroy() -> 'None'

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

      Destroy the content type object

      Switch back to not specifying the content type of this surface.
      This is equivalent to setting the content type to none,
      including double buffering semantics. See set_content_type for
      details.

   set_content_type(content_type: 'int') -> 'None'

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

      Specify the content type

      Set the surface content type. This informs the compositor that
      the client believes it is displaying buffers matching this
      content type.

      This is purely a hint for the compositor, which can be used to
      adjust its behavior or hardware settings to fit the presented
      content best.

      The content type is double-buffered state, see
      "WlSurface.commit()" for details.

      Parameters:
         **content_type** (*ArgumentType.Uint*) -- the content type
