void Init_gobject_value_array(void) { /* ValueArray is treated as Array */ rbgobj_register_g2r_func(G_TYPE_VALUE_ARRAY, value_array_to_ruby); rbgobj_register_r2g_func(G_TYPE_VALUE_ARRAY, value_array_from_ruby); }
void Init_gobject_gboxed(void) { RG_TARGET_NAMESPACE = G_DEF_CLASS(G_TYPE_BOXED, "Boxed", mGLib); rbgobj_register_g2r_func(G_TYPE_BOXED, boxed_to_ruby); rbgobj_register_r2g_func(G_TYPE_BOXED, boxed_from_ruby); rb_define_alloc_func(RG_TARGET_NAMESPACE, (VALUE(*)_((VALUE)))rbgobj_boxed_s_allocate); rbg_define_singleton_method(RG_TARGET_NAMESPACE, "gtype", generic_s_gtype, 0); rbg_define_method(RG_TARGET_NAMESPACE, "gtype", generic_gtype, 0); RG_DEF_METHOD(initialize, 0); RG_DEF_METHOD(inspect, 0); RG_DEF_METHOD(initialize_copy, 1); RG_DEF_ALIAS("copy", "dup"); }
void Init_gdk_event(VALUE mGdk) { /* GdkEvent */ rb_cGdkEvent = G_DEF_CLASS(GDK_TYPE_EVENT, "Event", mGdk); rbg_define_method(rb_cGdkEvent, "initialize", gdkevent_initialize, 1); rbg_define_method(rb_cGdkEvent, "event_type", gdkevent_type, 0); rbg_define_singleton_method(rb_cGdkEvent, "events_pending?", gdkevent_s_events_pending, 0); rbg_define_singleton_method(rb_cGdkEvent, "peek", gdkevent_s_peek, 0); rbg_define_singleton_method(rb_cGdkEvent, "get", gdkevent_s_get, 0); rbg_define_method(rb_cGdkEvent, "put", gdkevent_put, 0); rbg_define_method(rb_cGdkEvent, "get_axis", gdkevent_get_axis, 1); rbg_define_method(rb_cGdkEvent, "coords", gdkevent_get_coords, 0); rbg_define_method(rb_cGdkEvent, "root_coords", gdkevent_get_root_coords, 0); rbg_define_singleton_method(rb_cGdkEvent, "handler_set", gdkevent_s_handler_set, 0); rbg_define_singleton_method(rb_cGdkEvent, "show_events?", gdkevent_s_get_show_events, 0); rbg_define_singleton_method(rb_cGdkEvent, "set_show_events", gdkevent_s_set_show_events, 1); rbg_define_singleton_method(rb_cGdkEvent, "setting_get", gdkevent_s_setting_get, -1); rbg_define_method(rb_cGdkEvent, "screen", gdkevent_screen, 0); rbg_define_method(rb_cGdkEvent, "set_screen", gdkevent_set_screen, 1); /* * GdkEvent's Constants */ rb_define_const(rb_cGdkEvent, "CURRENT_TIME", INT2FIX(GDK_CURRENT_TIME)); rb_define_const(rb_cGdkEvent, "PRIORITY_EVENTS", INT2FIX(GDK_PRIORITY_EVENTS)); rb_define_const(rb_cGdkEvent, "PRIORITY_REDRAW", INT2FIX(GDK_PRIORITY_REDRAW)); /* GdkEventType */ /* XXX */ G_RENAME_CONSTANT("2BUTTON_PRESS","BUTTON2_PRESS"); G_RENAME_CONSTANT("3BUTTON_PRESS","BUTTON3_PRESS"); G_DEF_CLASS(GDK_TYPE_EVENT_TYPE, "Type", rb_cGdkEvent); G_RENAME_CONSTANT("2BUTTON_PRESS","BUTTON2_PRESS"); G_RENAME_CONSTANT("3BUTTON_PRESS","BUTTON3_PRESS"); G_DEF_CONSTANTS(rb_cGdkEvent, GDK_TYPE_EVENT_TYPE, "GDK_"); /* GdkEventMask */ G_DEF_CLASS(GDK_TYPE_EVENT_MASK, "Mask", rb_cGdkEvent); G_DEF_CONSTANTS(rb_cGdkEvent, GDK_TYPE_EVENT_MASK, "GDK_"); /* GdkEventAny */ rb_cGdkEventAny = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_ANY, "EventAny", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventAny, any, window); rbg_define_method(rb_cGdkEventAny, "send_event?", gdkeventany_send_event, 0); rbg_define_method(rb_cGdkEventAny, "set_send_event", gdkeventany_set_send_event, 1); /* GdkEventExpose */ rb_cGdkEventExpose = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_EXPOSE, "EventExpose", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventExpose, expose, area); DEFINE_ACCESSOR(rb_cGdkEventExpose, expose, region); DEFINE_ACCESSOR(rb_cGdkEventExpose, expose, count); DEFINE_INIT(rb_cGdkEventExpose, expose); /* GdkEventVisibility */ rb_cGdkEventVisibility = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_VISIBILITY, "EventVisibility", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventVisibility, visibility, state); DEFINE_INIT(rb_cGdkEventVisibility, visibility); /* GdkVisibilityState */ G_DEF_CLASS(GDK_TYPE_VISIBILITY_STATE, "State", rb_cGdkEventVisibility); G_DEF_CONSTANTS(rb_cGdkEventVisibility, GDK_TYPE_VISIBILITY_STATE, "GDK_VISIBILITY_"); /* GdkEventMotion */ rb_cGdkEventMotion = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_MOTION, "EventMotion", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventMotion, motion, time); DEFINE_ACCESSOR(rb_cGdkEventMotion, motion, x); DEFINE_ACCESSOR(rb_cGdkEventMotion, motion, y); rbg_define_method(rb_cGdkEventMotion, "axes", gdkeventmotion_axes, 0); rbg_define_method(rb_cGdkEventMotion, "set_axes", gdkeventmotion_set_axes, 1); DEFINE_ACCESSOR(rb_cGdkEventMotion, motion, state); rbg_define_method(rb_cGdkEventMotion, "hint?", gdkeventmotion_is_hint, 0); rbg_define_method(rb_cGdkEventMotion, "set_hint", gdkeventmotion_set_is_hint, 1); DEFINE_ACCESSOR(rb_cGdkEventMotion, motion, device); DEFINE_ACCESSOR(rb_cGdkEventMotion, motion, x_root); DEFINE_ACCESSOR(rb_cGdkEventMotion, motion, y_root); DEFINE_INIT(rb_cGdkEventMotion, motion); rbg_define_method(rb_cGdkEventMotion, "request", gdkeventmotion_request_motions, 0); /* GdkEventButton */ rb_cGdkEventButton = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_BUTTON, "EventButton", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventButton, button, time); DEFINE_ACCESSOR(rb_cGdkEventButton, button, x); DEFINE_ACCESSOR(rb_cGdkEventButton, button, y); rbg_define_method(rb_cGdkEventButton, "axes", gdkeventbutton_axes, 0); rbg_define_method(rb_cGdkEventButton, "set_axes", gdkeventbutton_set_axes, 2); DEFINE_ACCESSOR(rb_cGdkEventButton, button, state); DEFINE_ACCESSOR(rb_cGdkEventButton, button, button); DEFINE_ACCESSOR(rb_cGdkEventButton, button, device); DEFINE_ACCESSOR(rb_cGdkEventButton, button, x_root); DEFINE_ACCESSOR(rb_cGdkEventButton, button, y_root); /* GdkEventTouch */ rb_cGdkEventTouch = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_TOUCH, "EventTouch", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventTouch, touch, window); rbg_define_method(rb_cGdkEventTouch, "send_event?", gdkeventtouch_send_event, 0); rbg_define_method(rb_cGdkEventTouch, "set_send_event", gdkeventtouch_set_send_event, 1); DEFINE_ACCESSOR(rb_cGdkEventTouch, touch, time); DEFINE_ACCESSOR(rb_cGdkEventTouch, touch, x); DEFINE_ACCESSOR(rb_cGdkEventTouch, touch, y); rbg_define_method(rb_cGdkEventTouch, "axes", gdkeventtouch_axes, 0); rbg_define_method(rb_cGdkEventTouch, "set_axes", gdkeventtouch_set_axes, 2); DEFINE_ACCESSOR(rb_cGdkEventTouch, touch, state); DEFINE_ACCESSOR(rb_cGdkEventTouch, touch, emulating_pointer); DEFINE_ACCESSOR(rb_cGdkEventTouch, touch, device); DEFINE_ACCESSOR(rb_cGdkEventTouch, touch, x_root); DEFINE_ACCESSOR(rb_cGdkEventTouch, touch, y_root); /* GdkEventScroll */ rb_cGdkEventScroll = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_SCROLL, "EventScroll", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventScroll, scroll, time); DEFINE_ACCESSOR(rb_cGdkEventScroll, scroll, x); DEFINE_ACCESSOR(rb_cGdkEventScroll, scroll, y); DEFINE_ACCESSOR(rb_cGdkEventScroll, scroll, state); DEFINE_ACCESSOR(rb_cGdkEventScroll, scroll, direction); DEFINE_ACCESSOR(rb_cGdkEventScroll, scroll, device); DEFINE_ACCESSOR(rb_cGdkEventScroll, scroll, x_root); DEFINE_ACCESSOR(rb_cGdkEventScroll, scroll, y_root); DEFINE_INIT(rb_cGdkEventScroll, scroll); /* GdkScrollDirection */ G_DEF_CLASS(GDK_TYPE_SCROLL_DIRECTION, "Direction", rb_cGdkEventScroll); G_DEF_CONSTANTS(rb_cGdkEventScroll, GDK_TYPE_SCROLL_DIRECTION, "GDK_SCROLL_"); /* GdkEventKey */ rb_cGdkEventKey = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_KEY, "EventKey", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventKey, key, time); DEFINE_ACCESSOR(rb_cGdkEventKey, key, state); DEFINE_ACCESSOR(rb_cGdkEventKey, key, keyval); DEFINE_ACCESSOR(rb_cGdkEventKey, key, hardware_keycode); DEFINE_ACCESSOR(rb_cGdkEventKey, key, group); /* GdkEventCrossing */ rb_cGdkEventCrossing = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_CROSSING, "EventCrossing", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventCrossing, crossing, subwindow); DEFINE_ACCESSOR(rb_cGdkEventCrossing, crossing, time); DEFINE_ACCESSOR(rb_cGdkEventCrossing, crossing, x); DEFINE_ACCESSOR(rb_cGdkEventCrossing, crossing, y); DEFINE_ACCESSOR(rb_cGdkEventCrossing, crossing, x_root); DEFINE_ACCESSOR(rb_cGdkEventCrossing, crossing, y_root); DEFINE_ACCESSOR(rb_cGdkEventCrossing, crossing, mode); DEFINE_ACCESSOR(rb_cGdkEventCrossing, crossing, detail); rbg_define_method(rb_cGdkEventCrossing, "focus?", gdkeventcrossing_focus, 0); rbg_define_method(rb_cGdkEventCrossing, "set_focus", gdkeventcrossing_set_focus, 1); DEFINE_ACCESSOR(rb_cGdkEventCrossing, crossing, state); /* GdkCrossingMode */ G_DEF_CLASS(GDK_TYPE_CROSSING_MODE, "Mode", rb_cGdkEventCrossing); G_DEF_CONSTANTS(rb_cGdkEventCrossing, GDK_TYPE_CROSSING_MODE, "GDK_CROSSING_"); /* GdkNotifyType */ G_DEF_CLASS(GDK_TYPE_NOTIFY_TYPE, "NotifyType", rb_cGdkEventScroll); G_DEF_CONSTANTS(rb_cGdkEventScroll, GDK_TYPE_NOTIFY_TYPE, "GDK_"); /* GdkEventFocus */ rb_cGdkEventFocus = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_FOCUS, "EventFocus", mGdk, rb_cGdkEvent); rbg_define_method(rb_cGdkEventFocus, "in?", gdkeventfocus_change_in, 0); rbg_define_method(rb_cGdkEventFocus, "set_in", gdkeventfocus_change_set_in, 1); DEFINE_INIT(rb_cGdkEventFocus, focus_change); /* GdkEventConfigure */ rb_cGdkEventConfigure = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_CONFIGURE, "EventConfigure", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventConfigure, configure, x); DEFINE_ACCESSOR(rb_cGdkEventConfigure, configure, y); DEFINE_ACCESSOR(rb_cGdkEventConfigure, configure, width); DEFINE_ACCESSOR(rb_cGdkEventConfigure, configure, height); DEFINE_INIT(rb_cGdkEventConfigure, configure); /* GdkEventProperty */ rb_cGdkEventProperty = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_PROPERTY, "EventProperty", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventProperty, property, atom); DEFINE_ACCESSOR(rb_cGdkEventProperty, property, time); DEFINE_ACCESSOR(rb_cGdkEventProperty, property, state); DEFINE_INIT(rb_cGdkEventProperty, property); /* GdkPropertyState */ G_DEF_CLASS(GDK_TYPE_PROPERTY_STATE, "State", rb_cGdkEventProperty); G_DEF_CONSTANTS(rb_cGdkEventProperty, GDK_TYPE_PROPERTY_STATE, "GDK_"); /* GdkEventSelection */ rb_cGdkEventSelection = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_SELECTION, "EventSelection", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventSelection, selection, selection); DEFINE_ACCESSOR(rb_cGdkEventSelection, selection, target); DEFINE_ACCESSOR(rb_cGdkEventSelection, selection, property); DEFINE_ACCESSOR(rb_cGdkEventSelection, selection, requestor); DEFINE_ACCESSOR(rb_cGdkEventSelection, selection, time); /* GdkEventOwnerChange */ rb_cGdkEventOwnerChange = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_OWNER_CHANGE, "EventOwnerChange", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventOwnerChange, owner_change, owner); DEFINE_ACCESSOR(rb_cGdkEventOwnerChange, owner_change, reason); DEFINE_ACCESSOR(rb_cGdkEventOwnerChange, owner_change, selection); DEFINE_ACCESSOR(rb_cGdkEventOwnerChange, owner_change, time); DEFINE_ACCESSOR(rb_cGdkEventOwnerChange, owner_change, selection_time); DEFINE_INIT(rb_cGdkEventOwnerChange, owner_change); /* GdkOwnerChange */ G_DEF_CLASS(GDK_TYPE_OWNER_CHANGE, "OwnerChange", rb_cGdkEventScroll); G_DEF_CONSTANTS(rb_cGdkEventScroll, GDK_TYPE_OWNER_CHANGE, "GDK_OWNER_CHANGE_"); /* GdkEventProximity */ rb_cGdkEventProximity = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_PROXIMITY, "EventProximity", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventProximity, proximity, time); DEFINE_ACCESSOR(rb_cGdkEventProximity, proximity, device); /* GdkEventDND */ rb_cGdkEventDND = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_DND, "EventDND", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventDND, dnd, context); DEFINE_ACCESSOR(rb_cGdkEventDND, dnd, time); DEFINE_ACCESSOR(rb_cGdkEventDND, dnd, x_root); DEFINE_ACCESSOR(rb_cGdkEventDND, dnd, y_root); /* GdkEventWindowState */ rb_cGdkEventWindowState = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_WINDOW_STATE, "EventWindowState", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventWindowState, window_state, changed_mask); DEFINE_ACCESSOR(rb_cGdkEventWindowState, window_state, new_window_state); DEFINE_INIT(rb_cGdkEventWindowState, window_state); /* GdkWindowState */ G_DEF_CLASS(GDK_TYPE_WINDOW_STATE, "WindowState", rb_cGdkEventScroll); G_DEF_CONSTANTS(rb_cGdkEventWindowState, GDK_TYPE_WINDOW_STATE, "GDK_WINDOW_STATE_"); /* GdkEventSetting */ rb_cGdkEventSetting = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_SETTING, "EventSetting", mGdk, rb_cGdkEvent); DEFINE_ACCESSOR(rb_cGdkEventSetting, setting, action); DEFINE_ACCESSOR(rb_cGdkEventSetting, setting, name); DEFINE_INIT(rb_cGdkEventSetting, setting); /* GdkSettingAction */ G_DEF_CLASS(GDK_TYPE_SETTING_ACTION, "Action", rb_cGdkEventScroll); G_DEF_CONSTANTS(rb_cGdkEventSetting, GDK_TYPE_SETTING_ACTION, "GDK_SETTING_"); /* GdkEventGrabBroken */ rb_cGdkEventGrabBroken = G_DEF_CLASS_WITH_PARENT(GDK_TYPE_EVENT_GRAB_BROKEN, "EventGrabBroken", mGdk, rb_cGdkEvent); rbg_define_method(rb_cGdkEventGrabBroken, "keyboard?", gdkeventgrab_broken_keyboard, 0); rbg_define_method(rb_cGdkEventGrabBroken, "set_keyboard", gdkeventgrab_broken_set_keyboard, 1); rbg_define_method(rb_cGdkEventGrabBroken, "implicit?", gdkeventgrab_broken_implicit, 0); rbg_define_method(rb_cGdkEventGrabBroken, "set_implicit", gdkeventgrab_broken_set_implicit, 1); DEFINE_ACCESSOR(rb_cGdkEventGrabBroken, grab_broken, grab_window); DEFINE_INIT(rb_cGdkEventGrabBroken, grab_broken); rbgobj_register_g2r_func(GDK_TYPE_EVENT, &gdkevent_g2r); }