
/* Copyright (C) 1997, Kenneth Albanowski.
   This code may be distributed under the same terms as Perl itself. */
   

typedef GtkShadowType Gtk__ShadowType;
typedef GtkPositionType Gtk__PositionType;
typedef GtkSelectionMode Gtk__SelectionMode;
typedef GtkSubmenuPlacement Gtk__SubmenuPlacement;
typedef GtkMetricType Gtk__MetricType;
typedef GtkPolicyType Gtk__PolicyType;
typedef GtkStateType Gtk__StateType;
typedef GtkUpdateType Gtk__UpdateType;
typedef GtkWindowType Gtk__WindowType;
typedef GtkWindowPosition Gtk__WindowPosition;
typedef GtkAttachOptions Gtk__AttachOptions;
typedef GtkArrowType Gtk__ArrowType;
typedef GtkMenuFactoryType Gtk__MenuFactoryType;
typedef GtkMenuEntry Gtk__MenuEntry;
typedef GtkPreviewType Gtk__PreviewType;

typedef GtkAcceleratorTable * Gtk__AcceleratorTable;
typedef GtkStyle * Gtk__Style;
typedef GtkTooltips * Gtk__Tooltips;
typedef GtkMenuFactory * Gtk__MenuFactory;

typedef GtkAdjustment * Gtk__Adjustment;
typedef GtkAlignment * Gtk__Alignment;
typedef GtkAspectFrame * Gtk__AspectFrame;
typedef GtkArrow * Gtk__Arrow;
typedef GtkBin * Gtk__Bin;
typedef GtkBox * Gtk__Box;
typedef GtkButton * Gtk__Button;
typedef GtkCheckButton * Gtk__CheckButton;
typedef GtkColorSelection * Gtk__ColorSelection;
typedef GtkColorSelectionDialog * Gtk__ColorSelectionDialog;
typedef GtkContainer * Gtk__Container;
typedef GtkCurve * Gtk__Curve;
typedef GtkData * Gtk__Data;
typedef GtkDialog * Gtk__Dialog;
typedef GtkDrawingArea * Gtk__DrawingArea;
typedef GtkEntry * Gtk__Entry;
typedef GtkFileSelection * Gtk__FileSelection;
typedef GtkFrame * Gtk__Frame;
typedef GtkHBox * Gtk__HBox;
typedef GtkHRuler * Gtk__HRuler;
typedef GtkHScale * Gtk__HScale;
typedef GtkHScrollbar * Gtk__HScrollbar;
typedef GtkHSeparator * Gtk__HSeparator;
typedef GtkImage * Gtk__Image;
typedef GtkItem * Gtk__Item;
typedef GtkLabel * Gtk__Label;
typedef GtkList * Gtk__List;
typedef GtkListItem * Gtk__ListItem;
typedef GtkMenu * Gtk__Menu;
typedef GtkMenuBar * Gtk__MenuBar;
typedef GtkMenuItem * Gtk__MenuItem;
typedef GtkMenuShell * Gtk__MenuShell;
typedef GtkMisc * Gtk__Misc;
typedef GtkNotebook * Gtk__Notebook;
typedef GtkObject * Gtk__Object;
typedef GtkOptionMenu * Gtk__OptionMenu;
typedef GtkPixmap * Gtk__Pixmap;
typedef GtkPreview * Gtk__Preview;
typedef GtkProgressBar * Gtk__ProgressBar;
typedef GtkRadioButton * Gtk__RadioButton;
typedef GtkRadioMenuItem * Gtk__RadioMenuItem;
typedef GtkRange * Gtk__Range;
typedef GtkRuler * Gtk__Ruler;
typedef GtkScale * Gtk__Scale;
typedef GtkScrollbar * Gtk__Scrollbar;
typedef GtkScrolledWindow * Gtk__ScrolledWindow;
typedef GtkSeparator * Gtk__Separator;
typedef GtkTable * Gtk__Table;
typedef GtkText * Gtk__Text;
typedef GtkToggleButton * Gtk__ToggleButton;
typedef GtkTree * Gtk__Tree;
typedef GtkTreeItem * Gtk__TreeItem;
typedef GtkVBox * Gtk__VBox;
typedef GtkViewport * Gtk__Viewport;
typedef GtkVRuler * Gtk__VRuler;
typedef GtkVScale * Gtk__VScale;
typedef GtkVScrollbar * Gtk__VScrollbar;
typedef GtkVSeparator * Gtk__VSeparator;
typedef GtkWidget * Gtk__Widget;
typedef GtkWindow * Gtk__Window;

typedef GtkWidget * upGtk__Widget;


#define CastupGtk__Widget GTK_WIDGET

#define CastGtk__Adjustment GTK_ADJUSTMENT
#define CastGtk__Alignment GTK_ALIGNMENT
#define CastGtk__AspectFrame GTK_ASPECT_FRAME
#define CastGtk__Arrow GTK_ARROW
#define CastGtk__Bin GTK_BIN
#define CastGtk__Box GTK_BOX
#define CastGtk__Button GTK_BUTTON
#define CastGtk__CheckButton GTK_CHECK_BUTTON
#define CastGtk__ColorSelection GTK_COLOR_SELECTION
#define CastGtk__ColorSelectionDialog GTK_COLOR_SELECTION_DIALOG
#define CastGtk__Container GTK_CONTAINER
#define CastGtk__Curve GTK_CURVE
#define CastGtk__Data GTK_DATA
#define CastGtk__Dialog GTK_DIALOG
#define CastGtk__DrawingArea GTK_DRAWING_AREA
#define CastGtk__Entry GTK_ENTRY
#define CastGtk__FileSelection GTK_FILE_SELECTION
#define CastGtk__Frame GTK_FRAME
#define CastGtk__Hbox GTK_HBOX
#define CastGtk__Hruler GTK_HRULER
#define CastGtk__Hscale GTK_HSCALE
#define CastGtk__Hscrollbar GTK_HSCROLLBAR
#define CastGtk__Hseparator GTK_HSEPARATOR
#define CastGtk__Image GTK_IMAGE
#define CastGtk__Item GTK_ITEM
#define CastGtk__Label GTK_LABEL
#define CastGtk__List GTK_LIST
#define CastGtk__ListItem GTK_LIST_ITEM
#define CastGtk__Menu GTK_MENU
#define CastGtk__MenuBar GTK_MENU_BAR
#define CastGtk__MenuItem GTK_MENU_ITEM
#define CastGtk__MenuShell GTK_MENU_SHELL
#define CastGtk__Misc GTK_MISC
#define CastGtk__Notebook GTK_NOTEBOOK
#define CastGtk__Object GTK_OBJECT
#define CastGtk__OptionMenu GTK_OPTION_MENU
#define CastGtk__Pixmap GTK_PIXMAP
#define CastGtk__Preview GTK_PREVIEW
#define CastGtk__ProgressBar GTK_PROGRESS_BAR
#define CastGtk__RadioButton GTK_RADIO_BUTTON
#define CastGtk__RadioMenuItem GTK_RADIO_MENU_ITEM
#define CastGtk__Range GTK_RANGE
#define CastGtk__Ruler GTK_RULER
#define CastGtk__Scale GTK_SCALE
#define CastGtk__Scrollbar GTK_SCROLLBAR
#define CastGtk__ScrolledWindow GTK_SCROLLED_WINDOW
#define CastGtk__Separator GTK_SEPARATOR
#define CastGtk__Table GTK_TABLE
#define CastGtk__Text GTK_TEXT
#define CastGtk__ToggleButton GTK_TOGGLE_BUTTON
#define CastGtk__Tree GTK_TREE
#define CastGtk__TreeItem GTK_TREE_ITEM
#define CastGtk__Vbox GTK_VBOX
#define CastGtk__Viewport GTK_VIEWPORT
#define CastGtk__Vruler GTK_VRULER
#define CastGtk__Vscale GTK_VSCALE
#define CastGtk__Vscrollbar GTK_VSCROLLBAR
#define CastGtk__Vseparator GTK_VSEPARATOR
#define CastGtk__Widget GTK_WIDGET
#define CastGtk__Window GTK_WINDOW


extern void UnregisterGtkObject(SV * sv_object, GtkObject * gtk_object);
extern void RegisterGtkObject(SV * sv_object, GtkObject * gtk_object);
extern SV * RetrieveGtkObject(GtkObject * gtk_object);

extern SV * newSVGtkObjectRef(GtkObject * object, char * classname);
extern GtkObject * SvGtkObjectRef(SV * o, char * name);

extern SV * newSVGtkMenuEntry(GtkMenuEntry * o);
extern GtkMenuEntry * SvGtkMenuEntry(SV * o, GtkMenuEntry * e);

extern int SvGtkShadowType(SV * value);
extern SV * newSVGtkShadowType(int value);

extern int SvGtkSelectionMode(SV * value);
extern SV * newSVGtkSelectionMode(int value);

extern int SvGtkSubmenuPlacement(SV * value);
extern SV * newSVGtkSubmenuPlacement(int value);

extern int SvGtkPositionType(SV * value);
extern SV * newSVGtkPositionType(int value);

extern int SvGtkMetricType(SV * value);
extern SV * newSVGtkMetricType(int value);

extern int SvGtkPolicyType(SV * value);
extern SV * newSVGtkPolicyType(int value);

extern int SvGtkStateType(SV * value);
extern SV * newSVGtkStateType(int value);

extern int SvGtkUpdateType(SV * value);
extern SV * newSVGtkUpdateType(int value);

extern int SvGtkWindowType(SV * value);
extern SV * newSVGtkWindowType(int value);

extern int SvGtkPositionType(SV * value);
extern SV * newSVGtkPositionType(int value);

extern int SvGtkDirectionType(SV * value);
extern SV * newSVGtkDirectionType(int value);

extern int SvGtkAttachOptions(SV * value);
extern SV * newSVGtkAttachOptions(int value);

extern int SvGtkArrowType(SV * value);
extern SV * newSVGtkArrowType(int value);

extern int SvGtkMenuFactoryType(SV * value);
extern SV * newSVGtkMenuFactoryType(int value);

extern int SvGtkMenuPreviewType(SV * value);
extern SV * newSVGtkMenuPreviewType(int value);

void init_typecasts(void);

int type_name(char * name);
