1package X11::Xlib::Opaque;
2use X11::Xlib ();
3
4# All modules in dist share a version
5BEGIN { our $VERSION= $X11::Xlib::VERSION; }
6
7@X11::Xlib::Visual::ISA= ( __PACKAGE__ );
8@X11::Xlib::GC::ISA= ( __PACKAGE__ );
9
101;
11__END__
12
13=head1 NAME
14
15X11::Xlib::Opaque - Base class for X11 opaque structures
16
17=head1 DESCRIPTION
18
19Base class for the various hidden C-structs of Xlib, which are represented
20as a blessed opaque perl scalar, or blessed perl Hashref with the pointer
21tucked away in XS magic.
22
23=head1 ATTRIBUTES
24
25=head2 display
26
27Find the display associated with this object.  This may return undef if the
28opaque object was constructed from a source where the Display was unknown.
29(for example, accessing the L<X11::Xlib::XVisualInfo/visual> when that struct
30itself doesn't have a known Display.
31
32(all display references are stored in a private hashref in X11::Xlib package
33 namespace, keyed by L<refaddr|Scalar::Util/refaddr>.
34 All objects with a display attached in that
35 manner should have a DESTROY that removes the reference.)
36
37=head2 pointer_bytes
38
39Return the raw pointer as a string of bytes (i.e. length 8 for 64-bit)
40
41=head2 pointer_int
42
43Return the raw pointer value as an integer
44
45=head1 AUTHOR
46
47Olivier Thauvin, E<lt>nanardon@nanardon.zarb.orgE<gt>
48
49Michael Conrad, E<lt>mike@nrdvana.netE<gt>
50
51=head1 COPYRIGHT AND LICENSE
52
53Copyright (C) 2009-2010 by Olivier Thauvin
54
55Copyright (C) 2017 by Michael Conrad
56
57This library is free software; you can redistribute it and/or modify
58it under the same terms as Perl itself, either Perl version 5.10.0 or,
59at your option, any later version of Perl 5 you may have available.
60
61=cut
62