/****************************************************************************
**                        WEBCAMTV		  v0.1.1
**
**                      mai-juin 2001
**              par: VIDEON, Mourad BEN SALEM
**            E-mail:mouradbs@yahoo.com, mourad@webcamtv.org
**            Videon: http://www.videontv.org
**            QT:     http://www.trolltech.com
****************************************************************************/
#ifndef WEBCAMTV_H
#define WEBCAMTV_H
#include <qpixmap.h>
#include <qvariant.h>
#include <qwidget.h>
#include "tv.h"
#include <visimsrc.h>
#include <qlineedit.h> 
#include <qsocket.h> 
#include <stdlib.h>



class QVBoxLayout; 
class QHBoxLayout; 
class QGridLayout; 
class QLabel;
class QPushButton;
class Webcamtv;




class Cam : public QWidget
{ 
    Q_OBJECT

public:
    Cam( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
    ~Cam();
	void initCam();
	void play();
	void stop();

public slots:
	void setRecived(CVisRGBAByteImage *);

signals:
	void recivedChanged(QImage *);

private:
	CVisImageSource imagesource;
    CVisSequence<CVisRGBABytePixel> sequence;
					   
};


class Webcamtv : public QWidget
{ 
    Q_OBJECT

public:
    Webcamtv( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
    ~Webcamtv();
   // TV* film;
	Cam *Camera;
    QPushButton* Send;
	QLineEdit* url1;
    TV* ImageCam;
    TV* Toki;
    QPixmap Image;

    virtual void send_ftp();

public slots:
	void send_clicked();
	void image(QPixmap *);
	void setURL(const QString & );
	void setTally();

signals:
	void tallyChanged( int );

protected:
	QPixmap *Scr;
	QPixmap *Ona;
	QString currentURL;
	int tally;
	QSocket *Sock;
};

#endif // WEBCAMTV_H

