/**************************************************************************** ** ** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. ** ** This file is part of an example program for Qt. This example ** program may be used, distributed and modified without limitation. ** *****************************************************************************/ #include #include #include #include const int MAXPOINTS = 2000; // maximum number of points const int MAXCOLORS = 40; // // ConnectWidget - draws connected lines // class ConnectWidget : public QWidget { public: ConnectWidget( QWidget *parent=0, const char *name=0 ); ~ConnectWidget(); protected: void paintEvent( QPaintEvent * ); void mousePressEvent( QMouseEvent *); void mouseReleaseEvent( QMouseEvent *); void mouseMoveEvent( QMouseEvent *); private: QPoint *points; // point array QColor *colors; // color array int count; // count = number of points bool down; // TRUE if mouse down }; // // Constructs a ConnectWidget. // ConnectWidget::ConnectWidget( QWidget *parent, const char *name ) : QWidget( parent, name, WStaticContents ) { setBackgroundColor( white ); // white background count = 0; down = FALSE; points = new QPoint[MAXPOINTS]; colors = new QColor[MAXCOLORS]; for ( int i=0; ipos(); // add point paint.drawPoint( e->pos() ); // plot point } } // // Create and display a ConnectWidget. // int main( int argc, char **argv ) { QApplication a( argc, argv ); ConnectWidget connect; #ifndef QT_NO_WIDGET_TOPEXTRA // for Qt/Embedded minimal build connect.setCaption( "Qt Example - Draw lines"); #endif a.setMainWidget( &connect ); connect.show(); return a.exec(); }