Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
45
Task/Window-creation-X11/Perl/window-creation-x11.pl
Normal file
45
Task/Window-creation-X11/Perl/window-creation-x11.pl
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use X11::Protocol;
|
||||
|
||||
my $X = X11::Protocol->new;
|
||||
|
||||
my $window = $X->new_rsrc;
|
||||
$X->CreateWindow ($window,
|
||||
$X->root, # parent window
|
||||
'InputOutput', # class
|
||||
0, # depth, copy from parent
|
||||
0, # visual, copy from parent
|
||||
0,0, # X,Y (window manager will override)
|
||||
300,100, # width,height
|
||||
0, # border width
|
||||
background_pixel => $X->black_pixel,
|
||||
event_mask => $X->pack_event_mask('Exposure',
|
||||
'ButtonPress'),
|
||||
);
|
||||
|
||||
my $gc = $X->new_rsrc;
|
||||
$X->CreateGC ($gc, $window,
|
||||
foreground => $X->white_pixel);
|
||||
|
||||
$X->{'event_handler'} = sub {
|
||||
my %event = @_;
|
||||
my $event_name = $event{'name'};
|
||||
|
||||
if ($event_name eq 'Expose') {
|
||||
$X->PolyRectangle ($window, $gc, [ 10,10, # x,y top-left corner
|
||||
30,20 ]); # width,height
|
||||
$X->PolyText8 ($window, $gc,
|
||||
10, 55, # X,Y of text baseline
|
||||
[ 0, # delta X
|
||||
'Hello ... click mouse button to exit.' ]);
|
||||
|
||||
} elsif ($event_name eq 'ButtonPress') {
|
||||
exit 0;
|
||||
}
|
||||
};
|
||||
|
||||
$X->MapWindow ($window);
|
||||
for (;;) {
|
||||
$X->handle_input;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue