blob: 02c4bf9a94354ecf32c0ea41f05765a2ef50b216 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
import org.kde.qt.*;
class MoveMe extends QWidget
{
public MoveMe( QWidget parent, String name, int f)
{
super(parent,name, f);
}
private QPoint clickPos;
protected void mousePressEvent( QMouseEvent e )
{
// if ( e.button() == LeftButton )
clickPos = e.pos();
}
protected void mouseMoveEvent( QMouseEvent e )
{
// if ( e.state() & LeftButton )
move( new QPoint( e.globalPos().x() - clickPos.x(),
e.globalPos().y() - clickPos.y() ) );
}
public static void main(String[] args)
{
QApplication a = new QApplication( args );
String fn="tux.png";
if ( args.length >= 1 )
fn = args[0];
if ( ! QFile.exists( fn ) )
System.exit( 1 );
QImage img = new QImage( fn );
QPixmap p = new QPixmap();
p.convertFromImage( img );
if ( p.mask() == null )
if ( img.hasAlphaBuffer() ) {
QBitmap bm = new QBitmap(img.createAlphaMask());
p.setMask( bm );
} else {
QBitmap bm = new QBitmap(img.createHeuristicMask());
p.setMask( bm );
}
MoveMe w = new MoveMe(null,null,Qt.WStyle_Customize|Qt.WStyle_NoBorder);
w.setBackgroundPixmap( p );
w.setFixedSize( p.size() );
if ( p.mask() != null )
w.setMask( p.mask() );
w.show();
a.setMainWidget(w);
a.exec();
return;
}
static {
qtjava.initialize();
}
}
|