Blast-Radius Aware AI Code Review for Business-Critical Systems
LiveReview LiveReview Explore LiveReview

X11::Protocol::Ext::SHAPE - Perl module for the X11 Protocol Nonrectangular Window Shape Extension

Author

       Stephen McCamant <SMCCAM@cpan.org>.

Description

       This module is used by the X11::Protocol module to participate in the shaped window extension to the X
       protocol, allowing windows to be of any shape, not just rectangles.

Events

       This extension adds the event type 'ShapeNotify', with values as specified in the standard. This event is
       selected using the ShapeSelectInput() request.

Name

       X11::Protocol::Ext::SHAPE - Perl module for the X11 Protocol Nonrectangular Window Shape Extension

Requests

       This extension adds several requests, called as shown below:

         $x->ShapeQueryVersion
         =>
         ($major, $minor)

         $x->ShapeRectangles($dest, $destKind, $op, $xOff, $yOff,
                             $ordering, @rectangles)

         $x->ShapeMask($dest, $destKind, $op, $xOff, $yOff, $source)

         $x->ShapeCombine($dest, $destKind, $op, $xOff, $yOff, $source,
                          $sourceKind)

         $x->ShapeOffset($dest, $destKind, $xOff, $yOff)

         $x->ShapeQueryExtents($dest)
         =>
         ($boundingShaped, $clipShaped,
          ($xBoundingShape, $yBoundingShape,
           $widthBoundingShape, $heightBoundingShape)
          ($xClipShape, $yClipShape, $widthClipShape, $heightClipShape))

         $x->ShapeSelectInput($window, $enable)

         $x->ShapeInputSelected($window)
         =>
         $enable

         $x->ShapeGetRectangles($window, $kind)
         =>
         ($ordering, [$x, $y, $width, $height], ...)

See Also

perl(1), X11::Protocol, NonrectangularWindowShapeExtension(XConsortiumStandard).

perl v5.36.0                                       2022-10-13                          Protocol::Ext::SHAPE(3pm)

Symbolic Constants

       This extension adds the constant types 'ShapeKind' and 'ShapeOp', with values as defined in the standard.

Synopsis

         use X11::Protocol;
         $x = X11::Protocol->new($ENV{'DISPLAY'});
         $x->init_extension('SHAPE') or die;

See Also