/* Insert header here. */
#ifndef __DEB_PANNER_H_
#define __DEB_PANNER_H_


typedef struct _DebPanner DebPanner;
typedef struct _DebPannerClass DebPannerClass;

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

#include <gtk/gtkdrawingarea.h>

GtkType deb_panner_get_type();
#define DEB_TYPE_PANNER			(deb_panner_get_type ())
#define DEB_PANNER(obj)              (GTK_CHECK_CAST ((obj), DEB_TYPE_PANNER, DebPanner))
#define DEB_PANNER_CLASS(klass)      (GTK_CHECK_CLASS_CAST ((klass), DEB_TYPE_PANNER, DebPannerClass))
#define DEB_PANNER_GET_CLASS(obj)    (DEB_PANNER_CLASS(GTK_OBJECT(obj)->klass))
#define DEB_IS_PANNER(obj)           (GTK_CHECK_TYPE ((obj), DEB_TYPE_PANNER))
#define DEB_IS_PANNER_CLASS(klass)   (GTK_CHECK_CLASS_TYPE ((klass), DEB_TYPE_PANNER))

struct _DebPannerClass {
  GtkDrawingAreaClass		drawing_area_class;
};
struct _DebPanner {
  GtkDrawingArea		drawing_area;
  GtkAdjustment                *x_range;
  GtkAdjustment                *y_range;

  guint				x_changed;
  guint				x_value_changed;
  guint				y_changed;
  guint				y_value_changed;
  gboolean			is_dragging;
};

GtkWidget    *deb_panner_new       (GtkAdjustment      *x,
                                    GtkAdjustment      *y);

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif
