func init() { tm := []glib.TypeMarshaler{ // Enums {glib.Type(C.gdk_drag_action_get_type()), marshalDragAction}, {glib.Type(C.gdk_colorspace_get_type()), marshalColorspace}, {glib.Type(C.gdk_event_type_get_type()), marshalEventType}, {glib.Type(C.gdk_interp_type_get_type()), marshalInterpType}, {glib.Type(C.gdk_modifier_type_get_type()), marshalModifierType}, {glib.Type(C.gdk_pixbuf_alpha_mode_get_type()), marshalPixbufAlphaMode}, {glib.Type(C.gdk_event_mask_get_type()), marshalEventMask}, // Objects/Interfaces {glib.Type(C.gdk_device_get_type()), marshalDevice}, {glib.Type(C.gdk_cursor_get_type()), marshalCursor}, {glib.Type(C.gdk_device_manager_get_type()), marshalDeviceManager}, {glib.Type(C.gdk_display_get_type()), marshalDisplay}, {glib.Type(C.gdk_drag_context_get_type()), marshalDragContext}, {glib.Type(C.gdk_pixbuf_get_type()), marshalPixbuf}, {glib.Type(C.gdk_rgba_get_type()), marshalRGBA}, {glib.Type(C.gdk_screen_get_type()), marshalScreen}, {glib.Type(C.gdk_visual_get_type()), marshalVisual}, {glib.Type(C.gdk_window_get_type()), marshalWindow}, // Boxed {glib.Type(C.gdk_event_get_type()), marshalEvent}, } glib.RegisterGValueMarshalers(tm) }
// GDK3 INIT FUNCS {{{ func init() { C.gdk_init(nil, nil) GdkType.DEVICE = gobject.GType(C.gdk_device_get_type()) GdkType.RECTANGLE = gobject.GType(C.gdk_rectangle_get_type()) GdkType.RGBA = gobject.GType(C.gdk_rgba_get_type()) GdkType.COLOR = gobject.GType(C.gdk_color_get_type()) GdkType.EVENT = gobject.GType(C.gdk_event_get_type()) GdkType.DISPLAY = gobject.GType(C.gdk_display_get_type()) GdkType.SCREEN = gobject.GType(C.gdk_screen_get_type()) GdkType.WINDOW = gobject.GType(C.gdk_window_get_type()) GdkType.MODIFIER_TYPE = gobject.GType(C.gdk_modifier_type_get_type()) // Register Rectangle gobject.RegisterCType(GdkType.RECTANGLE, newRectangleFromNative) gobject.RegisterGoType(GdkType.RECTANGLE, nativeFromRectangle) // Register RGBA type gobject.RegisterCType(GdkType.RGBA, newRGBAFromNative) gobject.RegisterGoType(GdkType.RGBA, nativeFromRGBA) // Register GdkModifier gobject.RegisterCType(GdkType.MODIFIER_TYPE, gdkModifierFromNative) // Initialize GdkModifier GdkModifier.SHIFT_MASK = 1 << 0 GdkModifier.LOCK_MASK = 1 << 1 GdkModifier.CONTROL_MASK = 1 << 2 GdkModifier.MOD1_MASK = 1 << 3 GdkModifier.MOD2_MASK = 1 << 4 GdkModifier.MOD3_MASK = 1 << 5 GdkModifier.MOD4_MASK = 1 << 6 GdkModifier.MOD5_MASK = 1 << 7 GdkModifier.BUTTON1_MASK = 1 << 8 GdkModifier.BUTTON2_MASK = 1 << 9 GdkModifier.BUTTON3_MASK = 1 << 10 GdkModifier.BUTTON4_MASK = 1 << 11 GdkModifier.BUTTON5_MASK = 1 << 12 GdkModifier.SUPER_MASK = 1 << 26 GdkModifier.HYPER_MASK = 1 << 27 GdkModifier.META_MASK = 1 << 28 GdkModifier.RELEASE_MASK = 1 << 30 GdkModifier.MODIFIER_MASK = 0x5c001fff //Register GdkEvent to gobject (In Go) gobject.RegisterCType(GdkType.EVENT, newEventFromNative) init_events() init_mask() // Register GdkDisplay type gobject.RegisterCType(GdkType.DISPLAY, newDisplayFromNative) gobject.RegisterGoType(GdkType.DISPLAY, nativeFromDisplay) // Register GdkDevice type gobject.RegisterCType(GdkType.DEVICE, newDeviceFromNative) gobject.RegisterGoType(GdkType.DEVICE, nativeFromDevice) // Register GdkScreen type gobject.RegisterCType(GdkType.SCREEN, newScreenFromNative) gobject.RegisterGoType(GdkType.SCREEN, nativeFromScreen) //Register GdkWindow type gobject.RegisterCType(GdkType.WINDOW, newWindowFromNative) gobject.RegisterGoType(GdkType.WINDOW, nativeFromWindow) }