1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
|
/* Copyright (C) 1997-1999 Kenneth Albanowski.
This code may be distributed under the same terms as Perl itself. */
#ifndef _Gtk_Types_h_
#define _Gtk_Types_h_
#ifndef PerlGtkDeclareFunc
#include "PerlGtkInt.h"
#endif
#if (GTK_MAJOR_VERSION < 1) || ((GTK_MAJOR_VERSION == 1) && (GTK_MINOR_VERSION < 1))
# define GTK_1_0
#else
# define GTK_1_1
#endif
typedef gchar * gstring;
struct PerlGtkTypeHelper {
SV * (*GtkGetArg_f)(GtkArg *);
int (*GtkSetArg_f)(GtkArg * a, SV * v, SV * Class, GtkObject * Object);
int (*GtkSetRetArg_f)(GtkArg * a, SV * v, SV * Class, GtkObject * Object);
SV * (*GtkGetRetArg_f)(GtkArg * a);
int (*GtkFreeArg_f)(GtkArg *);
struct PerlGtkTypeHelper * next;
};
struct PerlGtkSignalHelper {
GtkType type;
char ** signals;
int (*Unpacker_f)(SV ** * _sp, int match, GtkObject * object, char * signame, guint nparams, GtkArg * args, GtkType * arg_types, GtkType return_type);
int (*Repacker_f)(SV ** * _sp, int count, int match, GtkObject * object, char * signame, guint nparams, GtkArg * args, GtkType * arg_types, GtkType return_type);
struct PerlGtkSignalHelper * next;
};
PerlGtkDeclareVar(struct PerlGtkTypeHelper *, PerlGtkTypeHelpers);
PerlGtkDeclareFunc(void, AddTypeHelper)(struct PerlGtkTypeHelper * h);
PerlGtkDeclareVar(struct PerlGtkSignalHelper *, PerlGtkSignalHelpers);
PerlGtkDeclareFunc(void, AddSignalHelper)(struct PerlGtkSignalHelper * h);
PerlGtkDeclareFunc(void, AddSignalHelperParts)(GtkType type, char ** names, void * unpacker, void * repacker);
PerlGtkDeclareFunc(SV *, GtkGetArg)(GtkArg *);
PerlGtkDeclareFunc(void, GtkSetArg)(GtkArg * a, SV * v, SV * Class, GtkObject * Object);
PerlGtkDeclareFunc(void, GtkSetRetArg)(GtkArg * a, SV * v, SV * Class, GtkObject * Object);
PerlGtkDeclareFunc(SV *, GtkGetRetArg)(GtkArg * a);
PerlGtkDeclareVar(int, pgtk_did_we_init_gdk);
PerlGtkDeclareVar(int, pgtk_did_we_init_gtk);
PerlGtkDeclareFunc(void, GtkInit_internal)(void);
typedef GtkMenuFactory * Gtk__MenuFactory;
typedef GtkSelectionData * Gtk__SelectionData;
typedef GtkWidget * Gtk__Widget_Up;
typedef GtkWidget * Gtk__Widget_Sink_Up;
typedef GtkWidget * Gtk__Widget_OrNULL_Up;
#define CastupGtk__Widget GTK_WIDGET
typedef GtkObject * Gtk__Object_Up;
typedef GtkObject * Gtk__Object_Sink_Up;
typedef GtkObject * Gtk__Object_OrNULL_Up;
#define CastupGtk__Object GTK_OBJECT
PerlGtkDeclareFunc(SV *, newSVGtkObjectRef)(GtkObject * object, char * classname);
PerlGtkDeclareFunc(GtkObject *, SvGtkObjectRef)(SV * o, char * name);
PerlGtkDeclareFunc(SV *, newSVGtkMenuEntry)(GtkMenuEntry * o);
PerlGtkDeclareFunc(GtkMenuEntry *, SvGtkMenuEntry)(SV * o, GtkMenuEntry * e);
PerlGtkDeclareFunc(SV *, newSVGtkSelectionDataRef)(GtkSelectionData * o);
PerlGtkDeclareFunc(GtkSelectionData *, SvGtkSelectionDataRef)(SV * data);
PerlGtkDeclareFunc(int, GCGtkObjects)(void);
PerlGtkDeclareFunc(void, FreeHVObject)(HV * hv_object);
typedef guint (*gtkTypeInitFunc)(void);
PerlGtkDeclareFunc(void, pgtk_link_types)(char * gtkName, char * perlName, int gtkTypeNumber, gtkTypeInitFunc init);
PerlGtkDeclareFunc(int, gtnumber_for_ptname)(char * name);
PerlGtkDeclareFunc(int, gtnumber_for_gtname)(char * name);
PerlGtkDeclareFunc(char *, ptname_for_gtnumber)(int number);
PerlGtkDeclareFunc(char *, gtname_for_ptname)(char * name);
PerlGtkDeclareFunc(char *, ptname_for_gtname)(char * name);
PerlGtkDeclareFunc(int, pgtk_class_size_for_gtname)(char * gtkTypeName);
PerlGtkDeclareFunc(int, pgtk_obj_size_for_gtname)(char * gtkTypeName);
PerlGtkDeclareFunc(GtkType, FindArgumentTypeWithObject)(GtkObject * object, SV * name, GtkArg * result);
PerlGtkDeclareFunc(GtkType, FindArgumentTypeWithClass)(GtkObjectClass * klass, SV * name, GtkArg * result);
#if GTK_HVER >= 0x010200
PerlGtkDeclareFunc(SV *, newSVGtkTargetEntry)(GtkTargetEntry * o);
PerlGtkDeclareFunc(GtkTargetEntry *, SvGtkTargetEntry)(SV * o);
#endif
#define newSVgchar(x) newSViv(x)
#define Svgchar(x) SvIV(x)
#define newSVgshort(x) newSViv(x)
#define Svgshort(x) SvIV(x)
#define newSVglong(x) newSViv(x)
#define Svglong(x) SvIV(x)
#define newSVgint(x) newSViv(x)
#define Svgint(x) SvIV(x)
#define newSVgboolean(x) newIV(x)
#define Svgboolean(x) SvIV(x)
#define newSVgfloat(x) newSVnv(x)
#define Svgfloat(x) SvNV(x)
#define newSVgdouble(x) newSVnv(x)
#define Svgdouble(x) SvNV(x)
#define newSVguchar(x) newSViv(x)
#define Svguchar(x) SvIV(x)
#define newSVgushort(x) newSViv(x)
#define Svgushort(x) SvIV(x)
#define newSVgulong(x) newSViv(x)
#define Svgulong(x) SvIV(x)
#define newSVguint(x) newSViv(x)
#define Svguint(x) SvIV(x)
#define newSVgint8(x) newSViv(x)
#define Svgint8(x) SvIV(x)
#define newSVgint16(x) newSViv(x)
#define Svgint16(x) SvIV(x)
#define newSVgint32(x) newSViv(x)
#define Svgint32(x) SvIV(x)
#define newSVguint8(x) newSViv(x)
#define Svguint8(x) SvIV(x)
#define newSVguint16(x) newSViv(x)
#define Svguint16(x) SvIV(x)
#define newSVguint32(x) newSViv(x)
#define Svguint32(x) SvIV(x)
#endif /*_Gtk_Types_h_*/
|