// -*- c++ -*-
//  Generated by gtkmmproc from ./../arrow.gen_h -- DO NOT MODIFY!
#include <gtk--/arrow.h>
#include <gtk--/private/arrow_p.h>
namespace Gtk
{

#define MIN_ARROW_SIZE  11

Arrow::Arrow(GtkArrowType arrow_type, GtkShadowType shadow_type)
  : Misc((GtkMisc*)(gtk_object_new(get_type(),0)))
{
  initialize_class();
  GtkArrow *arrow=(GtkArrow*)gtkobject;

  GTK_WIDGET (arrow)->requisition.width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2;
  GTK_WIDGET (arrow)->requisition.height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2;

  arrow->arrow_type = arrow_type;
  arrow->shadow_type = shadow_type;
}

} /* namespace Gtk */

namespace Gtk {
Gtk::Arrow *wrap (GtkArrow *o)
  {
    return static_cast<Gtk::Arrow *> (Gtk::wrap_auto ((GtkObject *) (o)));
  }
}

namespace Gtk {
Arrow_Class Arrow::arrow_class = {0};

Object* Arrow_Class::wrap_new(GtkObject* o)
  {
    Object* cpp=manage(new Arrow((GtkArrow*)(o)));
    return cpp;
  }

bool Arrow::isA( Object *checkcast)
  {
    return GTK_IS_ARROW(checkcast->gtkobj());
  }

GtkType Arrow::get_type()
  {
    return arrow_class.get_type();
  }

GtkType Arrow_Class::get_type()
  {
    if (!type)
      {
        CppClassParent::CppObjectType::get_type();
        GtkTypeInfo info =
          {
            "Gtk__Arrow",
            sizeof(BaseObjectType),
            sizeof(BaseClassType),
            (GtkClassInitFunc) class_init_function,
            (GtkObjectInitFunc) object_init_function,
            /* reserved_1 */ NULL,
            /* reserved_2 */ NULL,
            /*base_class_init_func */ (GtkClassInitFunc) NULL
          };
        type=gtk_type_unique(gtk_arrow_get_type(), &info);
      }
    return type;
  }

const char* const Arrow::signal_names[]={
   0};

void Arrow::initialize_class()
  {

  }

void Arrow_Class::class_init_function(GtkArrowClass *klass)
  {
    CppClassParent::class_init_function((BaseClassParent*)klass);
  }

void Arrow_Class::object_init_function(GtkArrow *)
  {}

}

Gtk::Arrow::Arrow(GtkArrow *castitem)
  :     Gtk::Misc((GtkMisc*)(castitem))
  {
    initialize_class();
  }

Gtk::Arrow::~Arrow() { destroy_(); }

void Gtk::Arrow::set(GtkArrowType arrow_type,GtkShadowType shadow_type)
  {
    gtk_arrow_set(gtkobj(),arrow_type,shadow_type);
  }
