summaryrefslogtreecommitdiffstats
path: root/qtjava/javalib/examples/tux/MoveMe.java
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();
	}

}