// -*- c++ -*-
/*  Generated by gensig from curve.gen_h. DO NOT MODIFY!!! */
#ifndef GTKMM_CURVE_HEADER
#define GTKMM_CURVE_HEADER
/* $Id: curve.gen_h,v 1.22.2.3 1999/05/07 22:30:27 glaurent Exp $ */

/* curve.h
 * 
 * Copyright (C) 1998-1999 
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public
 * License along with this library; if not, write to the Free
 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#include <gtk--/box.h>
#include <gtk--/drawingarea.h>
#include <gtk/gtkcurve.h>
#include <gtk/gtkgamma.h>
#include <gtk/gtkdrawingarea.h>

class Gtk_Curve_Class;
class Gtk_GammaCurve_Class;
#line 28 "curve.gen_h"

class Gtk_Curve : public Gtk_DrawingArea {
public:
protected:
  typedef Gtk_Curve_Class    CppClassType;
  typedef GtkCurve           BaseObjectType;
  typedef GtkCurveClass      BaseClassType;

  virtual void *get_parent_class();

private:
  friend CppClassType;
  static CppClassType curve_class; 
  GtkType get_type(); 

public:


  Gtk_Curve();
  Gtk_Curve(GtkCurve *castitem);

  void reset();
  void set_gamma(gfloat gamma);
  void set_range(gfloat min_x, gfloat max_x,
		 gfloat min_y, gfloat max_y);
  void get_vector(int veclen, vector<gfloat> *vect) const;
  void set_vector(const vector<gfloat> &vect);
  void set_curve_type(GtkCurveType type);

  Signal_proxy0<BaseObjectType> curve_type_changed;
  
protected:
  /* impl functions */
  virtual void curve_type_changed_impl();
public:
  GtkCurve* gtkobj() { return GTK_CURVE(gtkobject); }
  const GtkCurve* gtkobj() const { return GTK_CURVE(gtkobject); }
  static bool isGtkCurve(Gtk_Object *checkcast);
#line 46 "curve.gen_h"


};

class Gtk_GammaCurve : public Gtk_VBox
{
public:
protected:
  typedef Gtk_GammaCurve_Class    CppClassType;
  typedef GtkGammaCurve           BaseObjectType;
  typedef GtkGammaCurveClass      BaseClassType;

  virtual void *get_parent_class();

private:
  friend CppClassType;
  static CppClassType gamma_curve_class; 
  GtkType get_type(); 

public:

  Gtk_GammaCurve();
  Gtk_GammaCurve(GtkGammaCurve *castitem);
protected:
  /* impl functions */
public:
  GtkGammaCurve* gtkobj() { return GTK_GAMMA_CURVE(gtkobject); }
  const GtkGammaCurve* gtkobj() const { return GTK_GAMMA_CURVE(gtkobject); }
  static bool isGtkGammaCurve(Gtk_Object *checkcast);
#line 56 "curve.gen_h"


};

#endif
