diff options
author | Elliot Lee <sopwith@redhat.com> | 2000-06-20 20:22:05 +0000 |
---|---|---|
committer | Elliot Lee <sopwith@src.gnome.org> | 2000-06-20 20:22:05 +0000 |
commit | 8f4f35b392510a8b480dd0c7e6030ab834f6aa43 (patch) | |
tree | 43279f2410f52f6548858709bbb344ac4d9054e8 /gtk | |
parent | dd7510dccbf51df37e0d02d31f4daed4e52152e6 (diff) | |
download | gtk+-8f4f35b392510a8b480dd0c7e6030ab834f6aa43.tar.gz |
(follow-on from previous commit)
(follow-on from previous commit)
2000-06-18 Elliot Lee <sopwith@redhat.com>
* gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
* gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
problem by calculating event position relative to the trough
rather than the slider.
* gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
* gdk/gdkgc.h: Add GDK_NOR.
* configure.in, Makefile.am: Add modules top level dir
* configure.in: Only use pangox library if building x11 target.
* gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/Makefile.am | 13 | ||||
-rw-r--r-- | gtk/gtkbutton.c | 2 | ||||
-rw-r--r-- | gtk/gtkcolorsel.c | 4 | ||||
-rw-r--r-- | gtk/gtkdnd.c | 2 | ||||
-rw-r--r-- | gtk/gtklabel.c | 4 | ||||
-rw-r--r-- | gtk/gtkplug.c | 8 | ||||
-rw-r--r-- | gtk/gtkrange.c | 16 | ||||
-rw-r--r-- | gtk/gtkselection.c | 6 | ||||
-rw-r--r-- | gtk/gtksocket.c | 10 | ||||
-rw-r--r-- | gtk/gtkstyle.c | 6 | ||||
-rw-r--r-- | gtk/gtkwindow.c | 5 | ||||
-rw-r--r-- | gtk/testgtk.c | 9 |
12 files changed, 51 insertions, 34 deletions
diff --git a/gtk/Makefile.am b/gtk/Makefile.am index a564e53091..ec19afdbf9 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -7,9 +7,9 @@ INCLUDES = @STRIP_BEGIN@ \ -DGTK_DATA_PREFIX=\"$(prefix)\" \ -DGTK_SYSCONFDIR=\"$(sysconfdir)\" \ -DGTK_LOCALEDIR=\"$(gtklocaledir)\" \ + -DTESTGTK_RCFILE=\"`pwd`/$(srcdir)/testgtkrc\" \ -I$(top_srcdir) -I../gdk \ -I$(top_srcdir)/gdk \ - -I$(top_srcdir)/gdk/x11 \ @GTK_DEBUG_FLAGS@ \ @GTK_XIM_FLAGS@ \ @GTK_LOCALE_FLAGS@ \ @@ -35,6 +35,7 @@ LDFLAGS = @STRIP_BEGIN@ \ @more_libs@ \ -lm \ @STRIP_END@ + # $(top_builddir)/gdk/libgdk.la @@ -516,12 +517,12 @@ uninstall-local: # test programs, not to be installed # noinst_PROGRAMS = testgtk testcalendar testinput testselection testrgb testdnd testtext simple testtextbuffer # testthreads -DEPS = libgtk-x11.la $(top_builddir)/gdk/libgdk-x11.la +DEPS = @gtktargetlib@ $(top_builddir)/gdk/@gdktargetlib@ LDADDS = @STRIP_BEGIN@ \ - libgtk-x11.la \ - $(top_builddir)/gdk/libgdk-x11.la \ - @x_ldflags@ \ - @x_libs@ \ + @gtktargetlib@ \ + $(top_builddir)/gdk/@gdktargetlib@ \ + @more_ldflags@ \ + @more_libs@ \ @GDK_WLIBS@ \ @PANGO_LIBS@ \ @GLIB_LIBS@ \ diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c index 3f0e4ff620..2c9113aed7 100644 --- a/gtk/gtkbutton.c +++ b/gtk/gtkbutton.c @@ -595,7 +595,7 @@ gtk_button_paint (GtkWidget *widget, y -= 1; width += 2; height += 2; - + gtk_paint_focus (widget->style, widget->window, area, widget, "button", x, y, width - 1, height - 1); diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index d292106bfa..c43c18438c 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -33,6 +33,8 @@ #include "win32/gdkwin32.h" #elif defined (GDK_WINDOWING_NANOX) #include "nanox/gdkprivate-nanox.h" +#elif defined (GDK_WINDOWING_FB) +#include "linux-fb/gdkprivate-fb.h" #endif #include "gdk/gdkkeysyms.h" #include "gtkcolorsel.h" @@ -581,7 +583,7 @@ palette_paint (GtkWidget *drawing_area, gc = drawing_area->style->black_gc; else gc = drawing_area->style->white_gc; - + gdk_draw_rectangle (drawing_area->window, gc, FALSE, 0, 0, drawing_area->allocation.width - 1, diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index e00fa7d59f..5de66cfa2f 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -30,6 +30,8 @@ #include "x11/gdkx.h" #elif defined (GDK_WINDOWING_WIN32) #include "win32/gdkwin32.h" +#elif defined(GDK_WINDOWING_FB) +#include "linux-fb/gdkfb.h" #elif defined (GDK_WINDOWING_NANOX) #include "nanox/gdkprivate-nanox.h" #endif diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 92357439db..823dcb4970 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -622,8 +622,8 @@ gtk_label_expose (GtkWidget *widget, gdk_draw_layout (widget->window, widget->style->fg_gc [widget->state], x, y, label->layout); - gdk_gc_set_clip_mask (widget->style->white_gc, NULL); - gdk_gc_set_clip_mask (widget->style->fg_gc[widget->state], NULL); + gdk_gc_set_clip_rectangle (widget->style->white_gc, NULL); + gdk_gc_set_clip_rectangle (widget->style->fg_gc[widget->state], NULL); } return TRUE; diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index 3329218f6e..ae6397e51a 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -26,6 +26,7 @@ */ #include "gdkconfig.h" +#include "gdkprivate.h" #if defined (GDK_WINDOWING_X11) #include "x11/gdkx.h" @@ -33,6 +34,8 @@ #include "win32/gdkwin32.h" #elif defined (GDK_WINDOWING_NANOX) #include "nanox/gdkprivate-nanox.h" +#elif defined (GDK_WINDOWING_FB) +#include "linux-fb/gdkfb.h" #endif #include "gdk/gdkkeysyms.h" @@ -53,7 +56,6 @@ static void gtk_plug_set_focus (GtkWindow *window, /* From Tk */ #define EMBEDDED_APP_WANTS_FOCUS NotifyNormal+20 - static GtkWindowClass *parent_class = NULL; @@ -115,7 +117,7 @@ gtk_plug_init (GtkPlug *plug) } void -gtk_plug_construct (GtkPlug *plug, guint32 socket_id) +gtk_plug_construct (GtkPlug *plug, GdkNativeWindow socket_id) { plug->socket_window = gdk_window_lookup (socket_id); plug->same_app = TRUE; @@ -128,7 +130,7 @@ gtk_plug_construct (GtkPlug *plug, guint32 socket_id) } GtkWidget* -gtk_plug_new (guint32 socket_id) +gtk_plug_new (GdkNativeWindow socket_id) { GtkPlug *plug; diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 92f49210c4..42a59fe160 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -29,7 +29,6 @@ #include "gtkrange.h" #include "gtksignal.h" - #define SCROLL_TIMER_LENGTH 20 #define SCROLL_INITIAL_DELAY 100 #define SCROLL_DELAY_LENGTH 300 @@ -988,8 +987,6 @@ gtk_range_motion_notify (GtkWidget *widget, GdkEventMotion *event) { GtkRange *range; - GdkModifierType mods; - gint x, y, mask; g_return_val_if_fail (GTK_IS_RANGE (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); @@ -998,13 +995,14 @@ gtk_range_motion_notify (GtkWidget *widget, if (range->click_child == RANGE_CLASS (range)->slider) { - x = event->x; - y = event->y; + GdkModifierType mods; + gint x, y, mask, x2, y2; - if (event->is_hint || (event->window != range->slider)) - gdk_window_get_pointer (range->slider, &x, &y, &mods); - else - mods = event->state; + gdk_window_get_pointer (range->trough, &x, &y, &mods); + gdk_window_get_position (range->slider, &x2, &y2); + + x -= x2; + y -= y2; switch (range->button) { diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c index c443282e90..ea0abcf32d 100644 --- a/gtk/gtkselection.c +++ b/gtk/gtkselection.c @@ -844,9 +844,13 @@ gtk_selection_request (GtkWidget *widget, /* Create GdkWindow structure for the requestor */ +#if defined(GDK_WINDOWING_WIN32) || defined(GDK_WINDOWING_X11) info->requestor = gdk_window_lookup (event->requestor); if (!info->requestor) info->requestor = gdk_window_foreign_new (event->requestor); +#else + info->requestor = NULL; +#endif /* Determine conversions we need to perform */ @@ -1293,8 +1297,10 @@ gtk_selection_property_notify (GtkWidget *widget, g_return_val_if_fail (widget != NULL, FALSE); g_return_val_if_fail (event != NULL, FALSE); +#if defined(GDK_WINDOWING_WIN32) || defined(GDK_WINDOWING_X11) if ((event->state != GDK_PROPERTY_NEW_VALUE) || /* property was deleted */ (event->atom != gdk_selection_property)) /* not the right property */ +#endif return FALSE; #ifdef DEBUG_SELECTION diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index 860e06817f..28ffe4dce5 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -31,6 +31,8 @@ #include "x11/gdkx.h" #elif defined (GDK_WINDOWING_WIN32) #include "win32/gdkwin32.h" +#elif defined(GDK_WINDOWING_FB) +#include "linux-fb/gdkfb.h" #endif #include "gdk/gdkkeysyms.h" @@ -145,7 +147,7 @@ gtk_socket_new (void) } void -gtk_socket_steal (GtkSocket *socket, guint32 id) +gtk_socket_steal (GtkSocket *socket, GdkNativeWindow id) { GtkWidget *widget; @@ -543,7 +545,7 @@ gtk_socket_send_configure_event (GtkSocket *socket) } static void -gtk_socket_add_window (GtkSocket *socket, guint32 xid) +gtk_socket_add_window (GtkSocket *socket, GdkNativeWindow xid) { socket->plug_window = gdk_window_lookup (xid); socket->same_app = TRUE; @@ -757,7 +759,7 @@ gtk_socket_filter_func (GdkXEvent *gdk_xevent, GdkEvent *event, gpointer data) return return_val; } -#elif defined (GDK_WINDOWING_WIN32) +#else GtkType gtk_socket_get_type (void) @@ -774,7 +776,7 @@ gtk_socket_new () } void -gtk_socket_steal (GtkSocket *socket, guint32 id) +gtk_socket_steal (GtkSocket *socket, GdkNativeWindow id) { g_error ("GtkSocket not implemented"); } diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index 84cc604310..d2fb0f7150 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -404,20 +404,18 @@ gtk_style_new (void) style = g_new0 (GtkStyle, 1); style->font_desc = pango_font_description_from_string ("Sans 10"); - + if (!default_font) { default_font = gdk_font_from_description (style->font_desc); if (!default_font) - default_font = gdk_font_load ("fixed"); - if (!default_font) g_error ("Unable to load default font."); } style->font = default_font; gdk_font_ref (style->font); - + style->ref_count = 1; style->attach_count = 0; style->colormap = NULL; diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 1be60d5b03..11a0d83cff 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -33,6 +33,8 @@ #include "x11/gdkx.h" #elif defined (GDK_WINDOWING_WIN32) #include "win32/gdkwin32.h" +#elif defined (GDK_WINDOWING_FB) +#include "linux-fb/gdkfb.h" #elif defined (GDK_WINDOWING_NANOX) #include "nanox/gdkprivate-nanox.h" #endif @@ -1826,6 +1828,9 @@ gtk_window_compute_default_size (GtkWindow *window, *width = info->width > 0 ? info->width : *width; *height = info->height > 0 ? info->height : *height; } + + *width = MIN(*width, gdk_screen_width()); + *height = MIN(*width, gdk_screen_height()); } /* Constrain a window size to obey the hints passed in geometry diff --git a/gtk/testgtk.c b/gtk/testgtk.c index 6a2303ce68..accc42d7cf 100644 --- a/gtk/testgtk.c +++ b/gtk/testgtk.c @@ -5886,7 +5886,7 @@ create_text (void) gtk_text_freeze (GTK_TEXT (text)); - font = gdk_font_load ("-adobe-courier-medium-r-normal--*-120-*-*-*-*-*-*"); + font = NULL; for (i=0; i<ntext_colors; i++) { @@ -8510,7 +8510,7 @@ do_exit (GtkWidget *widget, GtkWidget *window) gtk_main_quit (); } -void +GtkWidget * create_main_window (void) { struct { @@ -8627,6 +8627,7 @@ create_main_window (void) for (i = 0; i < nbuttons; i++) { button = gtk_button_new_with_label (buttons[i].label); + gtk_widget_set_name(button, buttons[i].label); if (buttons[i].func) gtk_signal_connect (GTK_OBJECT (button), "clicked", @@ -8653,6 +8654,8 @@ create_main_window (void) gtk_widget_grab_default (button); gtk_widget_show_all (window); + + return window; } int @@ -8682,9 +8685,7 @@ main (int argc, char *argv[]) "debug_msg", 1, GTK_TYPE_STRING, "GtkWidgetClass <ctrl><release>9 test"); - create_main_window (); - gtk_main (); return 0; |