summaryrefslogtreecommitdiffstats
path: root/examples/tux/tux.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/tux/tux.cpp')
-rw-r--r--examples/tux/tux.cpp71
1 files changed, 71 insertions, 0 deletions
diff --git a/examples/tux/tux.cpp b/examples/tux/tux.cpp
new file mode 100644
index 000000000..e0d482b79
--- /dev/null
+++ b/examples/tux/tux.cpp
@@ -0,0 +1,71 @@
+#include <qapplication.h>
+#include <qwidget.h>
+#include <qimage.h>
+#include <qpixmap.h>
+#include <qbitmap.h>
+#include <qfile.h>
+
+#include <stdlib.h>
+
+class MoveMe : public TQWidget
+{
+public:
+ MoveMe( TQWidget *parent=0, const char *name=0, WFlags f = 0)
+ :TQWidget(parent,name, f) {}
+
+protected:
+ void mousePressEvent( TQMouseEvent *);
+ void mouseMoveEvent( TQMouseEvent *);
+private:
+ TQPoint clickPos;
+};
+
+void MoveMe::mousePressEvent( TQMouseEvent *e )
+{
+ clickPos = e->pos();
+}
+
+void MoveMe::mouseMoveEvent( TQMouseEvent *e )
+{
+ move( e->globalPos() - clickPos );
+}
+
+
+
+int main( int argc, char **argv )
+{
+ TQApplication a( argc, argv );
+
+ TQString fn="tux.png";
+
+ if ( argc >= 2 )
+ fn = argv[1];
+
+ if ( ! TQFile::exists( fn ) )
+ exit( 1 );
+
+ TQImage img( fn );
+ TQPixmap p;
+ p.convertFromImage( img );
+ if ( !p.mask() )
+ if ( img.hasAlphaBuffer() ) {
+ TQBitmap bm;
+ bm = img.createAlphaMask();
+ p.setMask( bm );
+ } else {
+ TQBitmap bm;
+ bm = img.createHeuristicMask();
+ p.setMask( bm );
+ }
+ MoveMe w(0,0,TQt::WStyle_Customize|TQt::WStyle_NoBorder);
+ w.setBackgroundPixmap( p );
+ w.setFixedSize( p.size() );
+ if ( p.mask() )
+ w.setMask( *p.mask() );
+ w.show();
+ a.setMainWidget(&w);
+
+
+ return a.exec();
+
+}