Ejemplo n.º 1
0
void
Init_gtk_gdk_gc(VALUE mGdk)
{
    RG_TARGET_NAMESPACE = G_DEF_CLASS(GDK_TYPE_GC, "GC", mGdk);
    gdkDrawable = rb_const_get(mGdk, rb_intern("Drawable"));

    rbgobj_add_abstract_but_create_instance_class(GDK_TYPE_GC);

    RG_DEF_METHOD(initialize, 1);
    RG_DEF_METHOD(set_foreground, 1);
    RG_DEF_METHOD(set_background, 1);
    RG_DEF_METHOD(set_rgb_fg_color, 1);
    RG_DEF_METHOD(set_rgb_bg_color, 1);
    RG_DEF_METHOD(set_function, 1);
    RG_DEF_METHOD(set_fill, 1);
    RG_DEF_METHOD(set_tile, 1);
    RG_DEF_METHOD(set_stipple, 1);
    RG_DEF_METHOD(set_ts_origin, 2);
    RG_DEF_METHOD(set_clip_origin, 2);
    RG_DEF_METHOD(set_clip_mask, 1);
    RG_DEF_METHOD(set_clip_rectangle, 1);
    RG_DEF_METHOD(set_clip_region, 1);
    RG_DEF_METHOD(set_subwindow_mode, 1);
    RG_DEF_METHOD(set_exposures, 1);
    RG_DEF_METHOD(set_line_attributes, 4);
    RG_DEF_METHOD(set_dashes, 2);
    RG_DEF_METHOD(copy, 1);
    RG_DEF_METHOD(set_colormap, 1);

    RG_DEF_METHOD(foreground, 0);
    RG_DEF_METHOD(background, 0);
    RG_DEF_METHOD(function, 0);
    RG_DEF_METHOD(fill, 0);
    RG_DEF_METHOD(tile, 0);
    RG_DEF_METHOD(stipple, 0);
    RG_DEF_METHOD(ts_origin, 0);
    RG_DEF_METHOD(clip_origin, 0);
    RG_DEF_METHOD(clip_mask, 0);
    RG_DEF_METHOD(subwindow_mode, 0);
    RG_DEF_METHOD_P(exposures, 0);
    RG_DEF_METHOD(line_attributes, 0);

    RG_DEF_METHOD(colormap, 0);
    RG_DEF_METHOD(offset, 2);

#if GTK_CHECK_VERSION(2,2,0)
    RG_DEF_METHOD(screen, 0);
#endif

    G_DEF_SETTERS(RG_TARGET_NAMESPACE);

    /* GdkGCValuesMask */
    /* Don't need them.
        G_DEF_CLASS(GDK_TYPE_GC_VALUES_MASK, "ValuesMask", RG_TARGET_NAMESPACE);
        G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_GC_VALUES_MASK, "GDK_GC_");
    */

    /* GdkFunction */
    G_DEF_CLASS(GDK_TYPE_FUNCTION, "Function", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_FUNCTION, "GDK_");

    /* GdkFill */
    G_DEF_CLASS(GDK_TYPE_FILL, "Fill", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_FILL, "GDK_");

    /* GdkSubwindowMode */
    G_DEF_CLASS(GDK_TYPE_SUBWINDOW_MODE, "SubWindowMode", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_SUBWINDOW_MODE, "GDK_");

    /* GdkLineStyle */
    G_DEF_CLASS(GDK_TYPE_LINE_STYLE, "LineStyle", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_LINE_STYLE, "GDK_");

    /* GdkCapStyle */
    G_DEF_CLASS(GDK_TYPE_CAP_STYLE, "CapStyle", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_CAP_STYLE, "GDK_");

    /* GdkJoinStyle */
    G_DEF_CLASS(GDK_TYPE_JOIN_STYLE, "JoinStyle", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_JOIN_STYLE, "GDK_");

#ifdef GDK_WINDOWING_X11
    G_DEF_CLASS3("GdkGCX11", "GCX11", mGdk);
#elif defined(GDK_WINDOWING_WIN32)
    G_DEF_CLASS3("GdkGCWin32", "GCWin32", mGdk);
#elif defined(GDK_WINDOWING_FB)
    G_DEF_CLASS3("GdkGCFB", "GCFB", mGdk);
#endif
}
Ejemplo n.º 2
0
void 
Init_gtk_gdk_display(void)
{
#if GTK_CHECK_VERSION(2,2,0)
    VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GDK_TYPE_DISPLAY, "Display", mGdk);

    RG_DEF_SMETHOD(open, 1);
    RG_DEF_SMETHOD(default, 0);
    RG_DEF_METHOD(name, 0);
    RG_DEF_METHOD(n_screens, 0);
    RG_DEF_METHOD(get_screen, 1);
    RG_DEF_ALIAS("[]", "get_screen");
    RG_DEF_METHOD(default_screen, 0);

    RG_DEF_METHOD(pointer_ungrab, 1);
    RG_DEF_METHOD(keyboard_ungrab, 1);
    RG_DEF_METHOD_P(pointer_grabbed, 0);

    RG_DEF_METHOD(beep, 0);
    RG_DEF_METHOD(sync, 0);
#if GTK_CHECK_VERSION(2,4,0)
    RG_DEF_METHOD(flush, 0);
#endif
    RG_DEF_METHOD(close, 0);

    RG_DEF_METHOD(devices, 0);
    RG_DEF_METHOD(event, 0);
    RG_DEF_METHOD(peek_event, 0);
    RG_DEF_METHOD(put_event, 1);
    RG_DEF_METHOD(set_double_click_time, 1);
    RG_DEF_METHOD(double_click_time, 0);
    RG_DEF_METHOD(button_click_time, 0);
    RG_DEF_METHOD(button_window, 0);
    RG_DEF_METHOD(button_number, 0);
    RG_DEF_METHOD_P(closed, 0);
#if GTK_CHECK_VERSION(2,4,0)
    RG_DEF_METHOD(button_x, 0);
    RG_DEF_METHOD(button_y, 0);
    RG_DEF_METHOD(set_double_click_distance, 1);
    RG_DEF_METHOD(double_click_distance, 0);
#endif
    RG_DEF_METHOD(pointer, 0);
    RG_DEF_METHOD(window_at_pointer, 0);
#if GTK_CHECK_VERSION(2,4,0)
    RG_DEF_METHOD_P(supports_cursor_color, 0);
    RG_DEF_METHOD_P(supports_cursor_alpha, 0);
    RG_DEF_METHOD(default_cursor_size, 0);
    RG_DEF_METHOD(maximal_cursor_size, 0);
    RG_DEF_METHOD(default_group, 0);
#endif
#if GTK_CHECK_VERSION(2,6,0)
    RG_DEF_METHOD_P(supports_selection_notification, 0);
    RG_DEF_METHOD_P(request_selection_notification, 1);
    RG_DEF_METHOD_P(supports_clipboard_persistence, 0);
    RG_DEF_METHOD(store_clipboard, 3);
#endif
    RG_DEF_METHOD(core_pointer, 0);
#if GTK_CHECK_VERSION(2,8,0)
    RG_DEF_METHOD(warp_pointer, 3);
#endif

    G_DEF_SETTERS(RG_TARGET_NAMESPACE);
#ifdef GDK_WINDOWING_X11
    RG_DEF_METHOD(grab, 0);
    RG_DEF_METHOD(ungrab, 0);
#if GTK_CHECK_VERSION(2,4,0)
    RG_DEF_METHOD(register_standard_event_type, 2);
#endif
#if GTK_CHECK_VERSION(2,8,0)
    RG_DEF_METHOD(user_time, 0);
    RG_DEF_METHOD(set_cursor_theme, 2);
#endif
#  if GTK_CHECK_VERSION(2, 12, 0)
/*
    RG_DEF_METHOD(broadcast_startup_message, -1);
*/
    RG_DEF_METHOD(startup_notification_id, 0);
#  endif
    G_DEF_CLASS3("GdkDisplayX11", "DisplayX11", mGdk);
#endif
#endif

#if GTK_CHECK_VERSION(2,10,0)
    RG_DEF_METHOD_P(supports_shapes, 0);
    RG_DEF_METHOD_P(supports_input_shapes, 0);
#endif
#if GTK_CHECK_VERSION(2, 12, 0)
    RG_DEF_METHOD_P(supports_composite, 0);
    RG_DEF_METHOD(trigger_tooltip_query, 0);
#endif
}
Ejemplo n.º 3
0
void
Init_gtk_gdk_window(VALUE mGdk)
{
    GObjectClass *g_class;
    VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(GDK_TYPE_WINDOW, "Window", mGdk);

    g_class = g_type_class_peek(GDK_TYPE_WINDOW);

    RG_DEF_METHOD(initialize, 3);
    RG_DEF_METHOD(destroy, 0);
    RG_DEF_METHOD(window_type, 0);
    RG_DEF_SMETHOD(at_pointer, 0);
    RG_DEF_SMETHOD(constrain_size, 4);
    RG_DEF_SMETHOD(process_all_updates, 0);
    RG_DEF_SMETHOD(set_debug_updates, 1);
    RG_DEF_METHOD(show, 0);
    RG_DEF_METHOD(show_unraised, 0);
    RG_DEF_METHOD(hide, 0);
    RG_DEF_METHOD_P(visible, 0);
    RG_DEF_METHOD_P(viewable, 0);
    RG_DEF_METHOD(withdraw, 0);
    RG_DEF_METHOD(state, 0);
    RG_DEF_METHOD(iconify, 0);
    RG_DEF_METHOD(deiconify, 0);
    RG_DEF_METHOD(stick, 0);
    RG_DEF_METHOD(unstick, 0);
    RG_DEF_METHOD(maximize, 0);
    RG_DEF_METHOD(unmaximize, 0);
    RG_DEF_METHOD(fullscreen, 0);
    RG_DEF_METHOD(unfullscreen, 0);
    RG_DEF_METHOD(set_keep_above, 1);
    RG_DEF_METHOD(set_keep_below, 1);
    RG_DEF_METHOD(move, 2);
    RG_DEF_METHOD(resize, 2);
    RG_DEF_METHOD(move_resize, 4);
    RG_DEF_METHOD(scroll, 2);
    RG_DEF_METHOD(move_region, 3);
    RG_DEF_METHOD(reparent, 3);
    RG_DEF_METHOD(clear, 0);
    RG_DEF_METHOD(clear_area, -1);
    RG_DEF_METHOD(raise, 0);
    RG_DEF_METHOD(lower, 0);
    RG_DEF_METHOD(focus, 1);
    RG_DEF_METHOD(register_dnd, 0);
#if GTK_CHECK_VERSION(2, 12, 0)
    RG_DEF_METHOD(beep, 0);
#endif
    RG_DEF_METHOD(begin_resize_drag, 5);
    RG_DEF_METHOD(begin_move_drag, 4);
    RG_DEF_METHOD(begin_paint, 1);
    RG_DEF_METHOD(end_paint, 0);
    RG_DEF_METHOD(invalidate, 2);
    RG_DEF_METHOD(invalidate_maybe_recurse, 1);
    RG_DEF_METHOD(update_area, 0);
    RG_DEF_METHOD(freeze_updates, 0);
    RG_DEF_METHOD(thaw_updates, 0);
    RG_DEF_METHOD(process_updates, 1);
    RG_DEF_METHOD(internal_paint_info, 0);
    RG_DEF_METHOD(configure_finished, 0);
    RG_DEF_METHOD(enable_synchronized_configure, 0);
    RG_DEF_METHOD(set_user_data, 1);
    RG_DEF_METHOD(set_override_redirect, 1);
    RG_DEF_METHOD(set_accept_focus, 1);
    RG_DEF_METHOD(set_focus_on_map, 1);
    RG_DEF_METHOD(shape_combine_mask, 3);
    RG_DEF_METHOD(shape_combine_region, 3);
    RG_DEF_METHOD(set_child_shapes, 0);
    RG_DEF_METHOD(merge_child_shapes, 0);
    RG_DEF_METHOD(input_shape_combine_mask, 3);
    RG_DEF_METHOD(input_shape_combine_region, 3);
    RG_DEF_METHOD(set_child_input_shapes, 0);
    RG_DEF_METHOD(merge_child_input_shapes, 0);
    RG_DEF_METHOD(set_static_gravities, 1);
    RG_DEF_METHOD(set_title, 1);
    RG_DEF_METHOD(set_background, 1);
    RG_DEF_METHOD(set_back_pixmap, 2);
    RG_DEF_METHOD(set_cursor, 1);
    RG_DEF_METHOD(user_data, 0);
    RG_DEF_METHOD(geometry, 0);
    RG_DEF_METHOD(set_geometry_hints, 2);
    RG_DEF_METHOD(set_icon_list, 1);
    RG_DEF_METHOD(set_modal_hint, 1);
    RG_DEF_METHOD(set_type_hint, 1);
    RG_DEF_METHOD(type_hint, 0);
    RG_DEF_METHOD(set_skip_taskbar_hint, 1);
    RG_DEF_METHOD(set_skip_pager_hint, 1);
    RG_DEF_METHOD(set_urgency_hint, 1);
    RG_DEF_METHOD(position, 0);
    RG_DEF_METHOD(root_origin, 0);
    RG_DEF_METHOD(frame_extents, 0);
    RG_DEF_METHOD(origin, 0);
    RG_DEF_METHOD(pointer, 0);
    RG_DEF_METHOD(parent, 0);
    RG_DEF_METHOD(toplevel, 0);
    RG_DEF_SMETHOD(default_root_window, 0);
    RG_DEF_METHOD(children, 0);
    RG_DEF_METHOD(events, 0);
    RG_DEF_METHOD(set_events, 1);
    RG_DEF_METHOD(set_icon, 3);
    RG_DEF_METHOD(set_icon_name, 1);
    RG_DEF_METHOD(set_transient_for, 1);
    RG_DEF_METHOD(set_role, 1);
    RG_DEF_METHOD(set_group, 1);
    RG_DEF_METHOD(group, 0);
    RG_DEF_METHOD(set_decorations, 1);
    RG_DEF_METHOD(decorations, 0);
    RG_DEF_METHOD(set_functions, 1);
#if GTK_CHECK_VERSION(2, 12, 0)
    RG_DEF_METHOD(set_composited, 1);
    RG_DEF_METHOD(set_opacity, 1);
    RG_DEF_METHOD(set_startup_id, 1);
#endif
    RG_DEF_SMETHOD(toplevels, 0);

    RG_DEF_SMETHOD(foreign_new, -1);
    RG_DEF_SMETHOD(lookup, -1);

    G_DEF_SETTERS(RG_TARGET_NAMESPACE);

    /* GdkWindowType */
    G_DEF_CLASS(GDK_TYPE_WINDOW_TYPE, "Type", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_WINDOW_TYPE, "GDK_WINDOW_");

    /* GdkWindowClass */
    G_DEF_CLASS(GDK_TYPE_WINDOW_CLASS, "Class", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_WINDOW_CLASS, "GDK_");

    /* GdkWindowHints */
    G_DEF_CLASS(GDK_TYPE_WINDOW_HINTS, "Hints", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_WINDOW_HINTS, "GDK_");

    /* GdkGravity */
    G_DEF_CLASS(GDK_TYPE_GRAVITY, "Gravity", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_GRAVITY, "GDK_");

    /* GdkWindowEdge */
    G_DEF_CLASS(GDK_TYPE_WINDOW_EDGE, "Edge", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_WINDOW_EDGE, "GDK_WINDOW_");

    /* GdkWindowTypeHint */
    G_DEF_CLASS(GDK_TYPE_WINDOW_TYPE_HINT, "TypeHint", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_WINDOW_TYPE_HINT, "GDK_WINDOW_");

    /* GdkWindowAttibutesType */
    G_DEF_CLASS(GDK_TYPE_WINDOW_ATTRIBUTES_TYPE, "AttributesType", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_WINDOW_ATTRIBUTES_TYPE, "GDK_");

    /* GdkFilterReturn */
    G_DEF_CLASS(GDK_TYPE_FILTER_RETURN, "FilterReturn", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_FILTER_RETURN, "GDK_");

    /* GdkModifierType */
    G_DEF_CLASS(GDK_TYPE_MODIFIER_TYPE, "ModifierType", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_MODIFIER_TYPE, "GDK_");

    /* GdkWMDecoration */
    G_DEF_CLASS(GDK_TYPE_WM_DECORATION, "WMDecoration", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_WM_DECORATION, "GDK_");

    /* GdkWMFunction */
    G_DEF_CLASS(GDK_TYPE_WM_FUNCTION, "WMFunction", RG_TARGET_NAMESPACE);
    G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, GDK_TYPE_WM_FUNCTION, "GDK_");

    rb_define_const(RG_TARGET_NAMESPACE, "PARENT_RELATIVE", INT2FIX(GDK_PARENT_RELATIVE));   

#ifdef GDK_WINDOWING_X11
    RG_DEF_METHOD(server_time, 0);

    RG_DEF_METHOD(set_user_time, 1);
    RG_DEF_METHOD(move_to_current_desktop, 0);

    G_DEF_CLASS3("GdkWindowImplX11", "WindowImplX11", mGdk);
#elif defined(GDK_WINDOWING_WIN32)
    G_DEF_CLASS3("GdkWindowImplWin32", "WindowImplWin32", mGdk);
#elif defined(GDK_WINDOWING_FB)
    G_DEF_CLASS3("GdkWindowFB", "WindowFB", mGdk);
#endif
}