#!/usr/bin/perl -w
use
Qt
qw(%Align %Frame)
;
@ISA
=
qw(QWindow)
;
$cb_width
= 32;
$cb_height
= 32;
$cb_bits
=
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x0f\x00"
.
"\x00\x06\x30\x00\x80\x01\xc0\x00\x40\x00\x00\x01"
.
"\x20\x00\x00\x02\x10\x00\x00\x04\x08\x3e\x3e\x08"
.
"\x08\x03\xe0\x08\xc4\x00\x00\x11\x04\x1e\x78\x10"
.
"\x02\x0c\x30\x20\x02\x40\x00\x20\x02\x40\x00\x20"
.
"\x02\x40\x00\x20\x02\x20\x04\x20\x02\x20\x04\x20"
.
"\x02\x10\x08\x20\x02\x08\x08\x20\x02\xf0\x07\x20"
.
"\x04\x00\x00\x10\x04\x00\x00\x10\x08\x00\xc0\x08"
.
"\x08\x3c\x30\x08\x10\xe6\x19\x04\x20\x00\x0f\x02"
.
"\x40\x00\x00\x01\x80\x01\xc0\x00\x00\x06\x30\x00"
.
"\x00\xf8\x0f\x00\x00\x00\x00\x00"
;
$cm_width
= 32;
$cm_height
= 32;
$cm_bits
=
"\x00\x00\x00\x00\x00\xf8\x1f\x00\x00\xfe\x3f\x00"
.
"\x80\x07\xf0\x00\xc0\x01\xc0\x01\x60\x00\x00\x03"
.
"\x30\x00\x00\x06\x18\x00\x00\x0c\x0c\x3e\x3e\x18"
.
"\x0e\x03\xe0\x18\xc6\x00\x00\x31\x07\x1e\x78\x30"
.
"\x03\x0c\x30\x60\x03\x40\x00\x60\x03\x40\x00\x60"
.
"\x03\x40\x00\x60\x03\x20\x04\x60\x03\x20\x04\x60"
.
"\x03\x10\x08\x60\x03\x08\x08\x60\x03\xf0\x07\x60"
.
"\x06\x00\x00\x30\x06\x00\x00\x30\x0c\x00\xc0\x18"
.
"\x0c\x3c\x30\x18\x18\xe6\x19\x0c\x30\x00\x0f\x06"
.
"\x60\x00\x00\x03\xc0\x01\xc0\x01\x80\x07\xf0\x00"
.
"\x00\xfe\x3f\x00\x00\xf8\x0f\x00"
;
sub
new {
my
$self
=
shift
->SUPER::new();
my
@list
=
(
{
'cursor'
=>
$Cursor
{arrow},
'name'
=>
'arrowCursor'
},
{
'cursor'
=>
$Cursor
{upArrow},
'name'
=>
'upArrowCursor'
},
{
'cursor'
=>
$Cursor
{cross},
'name'
=>
'crossCursor'
},
{
'cursor'
=>
$Cursor
{
'wait'
},
'name'
=>
'waitCursor'
},
{
'cursor'
=>
$Cursor
{ibeam},
'name'
=>
'ibeamCursor'
},
{
'cursor'
=>
$Cursor
{sizeVer},
'name'
=>
'sizeVerCursor'
},
{
'cursor'
=>
$Cursor
{sizeHor},
'name'
=>
'sizeHorCursor'
},
{
'cursor'
=>
$Cursor
{sizeBDiag},
'name'
=>
'sizeBDiagCursor'
},
{
'cursor'
=>
$Cursor
{sizeFDiag},
'name'
=>
'sizeFDiagCursor'
},
{
'cursor'
=>
$Cursor
{sizeAll},
'name'
=>
'sizeAllCursor'
},
);
$self
->setCaption(
'CursorView'
);
my
$label
;
my
$i
= 0;
my
(
$x
,
$y
);
for
(
$y
= 0;
$y
< 2;
$y
++) {
for
(
$x
= 0;
$x
< 5;
$x
++) {
$label
= QLabel->new(
$self
);
$label
->setCursor(
$list
[
$i
]{
'cursor'
});
$label
->setText(
$list
[
$i
]{
'name'
});
$label
->setAlignment(
$Align
{Center});
$label
->setFrameStyle(
$Frame
{Box} |
$Frame
{Raised});
$label
->setGeometry(10+
$x
*110, 10+
$y
*50, 100, 40);
$i
++;
}
}
my
$cb
= QBitmap->new(
$cb_width
,
$cb_height
,
$cb_bits
, 1);
my
$cm
= QBitmap->new(
$cm_width
,
$cm_height
,
$cm_bits
, 1);
my
$custom
= QCursor->new(
$cb
,
$cm
);
$label
= QLabel->new(
$self
);
$label
->setCursor(
$custom
);
$label
->setText(
'Custom bitmap cursor'
);
$label
->setAlignment(
$Align
{Center});
$label
->setFrameStyle(
$Frame
{Box} |
$Frame
{Raised});
$label
->setGeometry(10, 110, 540, 40);
$self
->resize(20+5*110, 20+3*50);
return
$self
;
}
$v
= CursorView->new;
$app
->setMainWidget(
$v
);
$v
->show();
exit
$app
->
exec
();