//-*-c++-*-
/**
 Authors: David Auber, Patrick Mary, Morgan Mathiaut
 from the LaBRI Visualization Team
 Email : auber@tulip-software.org
 Last modification : 13/03/2009 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by  
 the Free Software Foundation; either version 2 of the License, or     
 (at your option) any later version.
*/
#ifndef MOUSEZOOMBOX_H
#define MOUSEZOOMBOX_H

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif


#include <tulip/GWInteractor.h>

class QMouseEvent;
class QKeyEvent;

namespace tlp {

class Graph;
/** \addtogroup Mouse_interactor */ 
/*@{*/
class TLP_QT_SCOPE MouseBoxZoomer : public Interactor {
private:
  Qt::MouseButton mButton;
  Qt::KeyboardModifier kModifier;
public:
  MouseBoxZoomer(Qt::MouseButton button = Qt::LeftButton,
		 Qt::KeyboardModifier modifier = Qt::NoModifier);
  ~MouseBoxZoomer();
  bool draw(GlMainWidget *);
  bool eventFilter(QObject *, QEvent *);
  Interactor *clone() { return new MouseBoxZoomer(mButton, kModifier); }
private:
  unsigned int x, y;
  int w, h;
  bool started;
  Graph *graph;
};
/*@}*/

}
#endif //MOUSEZOOMBOX_H
