X11-Protocol-Other
view release on metacpan or search on metacpan
lib/X11/Protocol/Ext/Composite.pm view on Meta::CPAN
=item C<$X-E<gt>CompositeRedirectSubwindows ($window, $update)>
=item C<$X-E<gt>CompositeUnredirectWindow ($window, $update)>
=item C<$X-E<gt>CompositeUnredirectSubwindows ($window, $update)>
Enable or disable a redirect of C<$window> to off-screen storage.
C<Window()> acts on just the given C<$window>. C<Subwindows()> acts on
C<$window> and also any subwindows it has now or in the future. The root
window cannot be redirected.
C<$update> is string "Automatic" or "Manual". Only one client at a time may
use Manual mode on a given C<$window> (normally a "composite manager"
program).
Redirection is a per-client setting and is automatically unredirected if the
client disconnects. An unredirect when not redirected is a C<BadValue>
error. Off-screen storage remains in effect while at least one current
client has requested it.
=item C<$X-E<gt>CompositeCreateRegionFromBorderClip ($region, $window)>
Create C<$region> (a new XID) as a server-side region object initialized to,
umm, something about C<$window> and its current border or visible parts or
whatnot.
Region objects are from XFIXES 2.0 (L<X11::Protocol::Ext::XFIXES>).
C<CompositeCreateRegionFromBorderClip()> can be used without
C<init_extension()> of XFIXES, but there's not much which can be done with a
region except through XFIXES.
=back
=head2 Composite 0.2
=over
=item C<$X-E<gt>CompositeNameWindowPixmap ($window, $pixmap)>
Set C<$pixmap> (a new XID) to refer to the off-screen storage of C<$window>.
C<$window> must be viewable (mapped and all of its parents mapped) and must
be redirected (by any client).
my $pixmap = $X->new_rsrc;
$X->CompositeNameWindowPixmap ($window, $pixmap);
C<$pixmap> is released with C<FreePixmap()> in the usual way. If C<$window>
or a parent is unmapped then C<$pixmap> continues to exist, but it's
association with C<$window> is lost. If C<$window> is mapped and redirected
again later then it has a new off-screen storage and a new
C<CompositeNameWindowPixmap()> must be called to get a new pixmap for it.
=back
=head2 Composite 0.3
=over
=item C<$overlay_window = $X-E<gt>CompositeGetOverlayWindow ($window)>
Return the composite overlay window for the screen of C<$window>.
This window covers the whole screen and is always above ordinary windows but
below any screen saver, and doesn't appear in a C<QueryTree()>. It's
created when the first client asks for it, and shared by any further clients
who ask.
=item C<$X-E<gt>CompositeReleaseOverlayWindow ($window)>
Release the composite overlay window for the screen of C<$window>. When all
clients release it the overlay window is destroyed.
=back
=head1 SEE ALSO
L<X11::Protocol>,
L<X11::Protocol::Ext::XFIXES>,
L<X11::Protocol::Ext::DOUBLE_BUFFER>
"Composite Extension", Version 0.4, 2007-7-3,
F</usr/share/doc/x11proto-composite-dev/compositeproto.txt.gz>,
C<http://cgit.freedesktop.org/xorg/proto/compositeproto/plain/compositeproto.txt>
=head1 HOME PAGE
L<http://user42.tuxfamily.org/x11-protocol-other/index.html>
=head1 LICENSE
Copyright 2011, 2012, 2013, 2014, 2017 Kevin Ryde
X11-Protocol-Other is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3, or (at your option) any later
version.
X11-Protocol-Other is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more details.
You should have received a copy of the GNU General Public License along with
X11-Protocol-Other. If not, see <http://www.gnu.org/licenses/>.
=cut
( run in 0.708 second using v1.01-cache-2.11-cpan-5a3173703d6 )