Commit Graph

840 Commits

Author SHA1 Message Date
Matthias Clasen
933b1f4546 After checking XLib sources, XGetWindowProperty does set data to NULL. 2005-08-19 13:46:11 +00:00
Matthias Clasen
859126d546 Free data returned from XGetWindowProperty.
2005-08-19  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdnd-x11.c (_gdk_drag_get_protocol_for_display)
	(xdnd_read_actions, get_client_window_at_coords_recurse):
	Free data returned from XGetWindowProperty.

	* gdk/x11/gdkevents-x11.c (fetch_net_wm_check_window)
	Free data returned from XGetWindowProperty.  (313867, Kjartan
	Maraas)

	* gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
	children in all cases.  (#313862, Kjartan Maraas)
2005-08-19 05:46:06 +00:00
Matthias Clasen
ba8fd4b9e2 Free children in all cases. (#313862, Kjartan Maraas)
2005-08-19  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdnd-x11.c (get_client_window_at_coords_recurse): Free
	children in all cases.  (#313862, Kjartan Maraas)
2005-08-19 05:16:31 +00:00
Owen Taylor
013a0b0f11 Fix have_base_pc / have_base_x_pc typo.
2005-08-15  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Fix have_base_pc / have_base_x_pc typo.

        * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
        (#313417, James Andrewartha)

        * configure.in: Add fontconfig to X_PACKAGES, since we use it for
        FcNameConstant(). (More of #313417)
2005-08-15 19:04:55 +00:00
Owen Taylor
42dc0241f3 Handle pixmap == NULL when checking for a colormap. (Allin Cottrell).
2005-08-15  Owen Taylor  <otaylor@redhat.com>

        * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap):
        * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap):
        * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap):
        Handle pixmap == NULL when checking for a colormap.
        (Allin Cottrell).
2005-08-15 12:35:04 +00:00
Owen Taylor
c24e5e2890 gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap)
2005-08-12  Owen Taylor  <otaylor@redhat.com>

        * gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_back_pixmap)
        * gdk/win32/gdkwindow-win32.c (gdk_window_set_back_pixmap)
        * gdk/x11/gdkwindow-x11.c (gdk_window_set_back_pixmap): Warn if
        gdk_drawable_get_colormap (pixmap) is NULL and return.
2005-08-12 13:13:54 +00:00
Matthias Clasen
6bd98ba0f9 Define the hint styles to make building against fc < 2.2.92 work.
2005-08-01  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkxftdefaults.c: Define the hint styles to make
	building against fc < 2.2.92 work.  (#311839, Damien Carbery)
2005-08-01 16:11:38 +00:00
Matthias Clasen
5d7b721b27 Make tracking the on_all_desktops state work better.
2005-08-01  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkevents-x11.c (gdk_check_wm_desktop_changed): Make
	tracking the on_all_desktops state work better.

	* gdk/x11/gdkwindow-x11.c (gdk_x11_window_move_to_current_desktop):
	Don't do anything if the window is on all desktops.  (#311803,
	Elijah Newren)
2005-08-01 16:01:24 +00:00
Owen Taylor
8f3399d410 Change machinery for following font rendering xsettings to set cairo font
2005-07-19  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtksettings.c gtk/gtkwidget.c: Change machinery for
        following font rendering xsettings to set cairo font
        options on PangoContext

        * gdk/x11/gdkxftdefaults.c gdk/x11/gdkevents-x11.c gdkscreen-x11.h
        gdkprivate-x11.h: Get default values for rendering options
        (such as antialiasing, dpi) from the Xft resources for the
        display, borrowing a bit of code from Xft.

        * gtk/gtksettings.c (gtk_settings_class_init): Fix docs for
        values of gtk-xft-hintstyle.
2005-07-21 13:59:22 +00:00
Keith Packard
9917173c41 Follow change in cairo API to add Screen* to
2005-07-20  Keith Packard  <keithp@keithp.com>

	* gdk/x11/gdkdrawable-x11.c: (gdk_x11_ref_cairo_surface):

	Follow change in cairo API to add Screen* to
	cairo_xlib_create_surface_for_bitmap
2005-07-21 03:57:00 +00:00
Matthias Clasen
f1dd819cfe Don't assert if the xrootwin is invalid. (#309997, Barbie LeVille)
2005-07-14  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkevents-x11.c (set_screen_from_root): Don't assert if
	the xrootwin is invalid.  (#309997, Barbie LeVille)
	(gdk_event_translate): Ignore events with an invalid root field.
2005-07-14 14:37:34 +00:00
Matthias Clasen
e5f444e9a8 Make gdk_window_present() move the window to the current desktop, instead
2005-07-11  Matthias Clasen  <mclasen@redhat.com>

	Make gdk_window_present() move the window to the current
	desktop, instead of letting the WM change the current
	desktop to where the window is.  (#166379, Elijah Newren)

	* gdk/gdk.symbols:
	* gdk/x11/gdkx.h:
	* gdk/x11/gdkwindow-x11.c (gdk_x11_window_move_to_current_desktop):
	New function to move a window to the current desktop.

	* gtk/gtkwindow.c (gtk_window_present_with_time): Move the
	window to the current desktop before giving it focus.
2005-07-11 18:28:23 +00:00
Matthias Clasen
5a997f0f37 Don't generate events on destroyed windows.
2005-07-07  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkmain-x11.c (generate_grab_broken_event): Don't
	generate events on destroyed windows.
2005-07-07 19:05:33 +00:00
Manish Singh
5cc0696de6 declare _gdk_xgrab_check_button_event.
Thu Jun 30 14:17:24 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkprivate-x11.h: declare _gdk_xgrab_check_button_event.

        * gtk/gtkbutton.c: fix signature of gtk_button_grab_broken.
2005-06-30 21:18:34 +00:00
Matthias Clasen
8833e0d3c3 Avoid infinite loop if a mask is zero. (#309222, David Saxton)
2005-06-30  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkvisual-x11.c (gdk_visual_decompose_mask): Avoid
	infinite loop if a mask is zero.  (#309222, David Saxton)
2005-06-30 19:11:58 +00:00
Matthias Clasen
87cafe5b4b Handle broken grabs.
2005-06-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkbutton.c (gtk_button_grab_broken): Handle broken
        grabs.

        * gtk/gtkrange.c (gtk_range_grab_broken): Handle broken
        grabs.

        * gdk/gdkevents.h: Add a boolean to specify wether the broken
        grab was implicit.

        * gdk/x11/gdkdisplay-x11.c (gdk_display_pointer_is_grabbed):
        As the documentation states, don't return TRUE for
        implicit grabs.

        * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
        a boolean field to store wether a pointer grab is implicit.

        * gdk/x11/gdkmain-x11.c (_gdk_xgrab_check_button_event):
        Track implicit grabs.

        * gdk/x11/gdkevents-x11.c (gdk_event_translate): Call
        _gdk_xgrab_check_button_event for button events.
2005-06-30 03:35:30 +00:00
Matthias Clasen
b2343762b1 Ignore GrabBroken events which are caused by overgrabbing inside the
2005-06-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Ignore
	GrabBroken events which are caused by overgrabbing inside
	the application; menus rely on these for their operation.

	* gdk/gdkevents.h (struct _GdkEventGrabBroken): Add a
	grab_window field.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Set
	grab_window to NULL when generating GrabBroken events for
	WM_KILLFOCUS messages.

	* gdk/x11/gdkmain-x11.c (_gdk_xgrab_check_unmap)
	(_gdk_xgrab_check_destroy): Set grab_window to NULL when
	generating GrabBroken events when the grab window becomes
	unviewable or is destroyed.

	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab):
	Generate GrabBroken events when overriding a grab inside
	the application. In this case, set grab_window to the new
	grab_window.
2005-06-27 21:06:33 +00:00
Matthias Clasen
c719b4bf3d Avoid a segfault. (#309054)
2005-06-27  Matthias Clasen  <mclasen@redhat.com>

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
	Avoid a segfault. (#309054)

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
	fields for grab timestamps.

	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab):
	Store grab timestamps when grabbing.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard_ungrab)
	(gdk_display_pointer_ungrab): Don't unset the grab_window
	if the timestamps indicate that the ungrab will fails.
2005-06-27 18:37:41 +00:00
Matthias Clasen
96cf099c47 Don't emit grab-broken for overgrabbing, until we figure out how to do
2005-06-25  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkmain-x11.c (gdk_keyboard_grab, gdk_pointer_grab):
	Don't emit grab-broken for overgrabbing, until we figure
	out how to do that without breaking the menu code.
2005-06-26 03:48:06 +00:00
Matthias Clasen
9b356ea0d8 Add a GrabBroken event to GDK, and a grab-broken-event signal to
2005-06-25  Matthias Clasen  <mclasen@redhat.com>

	Add a GrabBroken event to GDK, and a grab-broken-event
	signal to GtkWidget.  (#107320, Simon Cooke, initial patch
	by John Ehresman)

	* gdk/gdkevents.h: Add a GDK_GRAB_BROKEN event type,
	define a GdkEventGrabBroken event struct.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate):
	Generate GrabBroken events in response to WM_KILLFOCUS.

	* gdk/x11/gdkmain-x11.c: Generate GrabBroken events
	when a grab is broken by the window becoming unviewable,
	or by another grab from the same client.

	* gtk/gtkwidget.h (GtkWidgetClass): Add grab_broken_event.

	* gtk/gtkwidget.c (gtk_widget_event_internal): Translate
	GrabBroken events into grab_broken_event signals.

	* gtk/gtkmain.c (gtk_main_do_event): Propagate GrabBroken
	events.

	* gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Deactivate
	the menu when the grab is broken.

	* gtk/gtkcolorsel.c (gtk_color_selection_grab_broken): Stop
	the color picker if the grab is broken.

	* gtk/gtkpaned.c (gtk_paned_grab_broken): Stop the drag if
	the grab is broken.
2005-06-25 07:10:40 +00:00
Matthias Clasen
9c3aa23e08 Set the time field in the event. (#308573, Morten Welinder)
2005-06-22  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdnd-x11.c (xdnd_finished_filter): Set the
	time field in the event.  (#308573, Morten Welinder)
2005-06-22 16:09:41 +00:00
Matthias Clasen
0f133f4f4b New function which can be used to implement scrolling in non-window
2005-06-21  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdk.symbols:
	* gdk/gdkwindow.h:
	* gdk/x11/gdkgeometry-x11.c (gdk_window_move_region): New
	function which can be used to implement scrolling in
	non-window widgets.  (#135165, Søren Sandmann)
2005-06-21 04:09:52 +00:00
Manish Singh
8e3ea42aba remove GDK_CURSOR and GDK_IS_CURSOR, instance checks don't work on boxed
Sat Jun 18 04:22:51 2005  Manish Singh  <yosh@gimp.org>

        * gdk/gdkcursor.h: remove GDK_CURSOR and GDK_IS_CURSOR, instance
        checks don't work on boxed types.

        * gdk/x11/gdkcursor-x11.c:
        * gdk/gdkcursor.c: make return_if_fail checks != NULL instead of
        GDK_IS_CURSOR.
2005-06-18 11:25:14 +00:00
Matthias Clasen
23fabedc9d Support the ICCCM urgency hint. (#61858, Havoc Pennington)
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	Support the ICCCM urgency hint.  (#61858, Havoc Pennington)

	* gtk/gtk.symbols:
	* gtk/gtkwindow.[hc]: Add a GtkWindow::urgency-hint property
	with getter and setter.

	* gdk/gdk.symbols:
	* gdk/gdkwindow.h:
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_urgency_hint):
	Add a setter for the urgency hint.

	* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Store
	urgency hint here.

	* gdk/x11/gdkwindow-x11.c (update_wm_hints): Set the urgency
	hint in the WM_HINTS property when appropriate.
2005-06-17 20:19:32 +00:00
Matthias Clasen
3d6ed0595f Improve some return_if_fail checks, and add the missing non-Xcursor
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkcursor-x11.c:
	* gdk/gdkcursor.c: Improve some return_if_fail checks,
	and add the missing non-Xcursor fallback for
	_gdk_x11_cursor_update_theme(), noticed by Jeroen
	Zwartepoorte.
2005-06-17 19:27:04 +00:00
Matthias Clasen
beb73ece8f Handle cursor theme changes for cached cursors which are not associated
2005-06-17  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkprivate-x11.h:
	* gdk/x11/gdkcursor-x11.c: Handle cursor theme changes
	for cached cursors which are not associated with a window
	at the time of the theme change, by storing a serial
	number in each cursor, and updating the theme_serial
	counter whenever the cursor theme changes.

	* gdk/x11/gdkcursor-x11.c (_gdk_x11_cursor_update_theme):
	Private function to update a cursor to the current
	cursor theme if necessary.

	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab):
	* gdk/x11/gdkwindow-x11.c (gdk_window_set_cursor): Call
	_gdk_x11_cursor_update_theme() here.
2005-06-17 17:26:24 +00:00
Manish Singh
be53636ec1 remove unused variable.
Thu Jun 16 15:33:42 2005  Manish Singh  <yosh@gimp.org>

        * gdk/x11/gdkcursor-x11.c (update_cursor): remove unused variable.

        * gdk/x11/gdkwindow-x11.c (_gdk_x11_window_get_cursor): use
        g_return_val_if_fail.

        * gtk/gtkdnd.c (gtk_drag_get_cursor): initialize hot_x and hot_y
        for all cases.

        * gtk/gtkfilechooserdefault.c (button_new): gtk_button_set_image
        takes a GtkWidget, not a GtkImage.
2005-06-16 22:35:45 +00:00
Matthias Clasen
19b9451ce7 Get red and blue in place.
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image): Get
	red and blue in place.
2005-06-15 21:22:54 +00:00
Matthias Clasen
df517cb1d5 Add two new settings, gtk-cursor-theme-name and gtk-cursor-theme-size to
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c: Add two new settings,
	gtk-cursor-theme-name and gtk-cursor-theme-size to
	control the cursor theme.

	* gdk/x11/gdkevents-x11.c: Add two new X settings,
	Gtk/CursorThemeName and Gtk/CursorThemeSize, and map
	these to the gtk settings.

	* tests/testgtk.c (create_cursors): Add a cursor theme
	testcase.
2005-06-15 19:25:49 +00:00
Matthias Clasen
3c96358fd1 Keep a reference to the GdkCursor and add a private getter for it, so that
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.[hc]: Keep a reference to the
	GdkCursor and add a private getter for it, so that we can
	update the cursor when the cursor theme changes.

	* gdk/gdk.symbols:
	* gdk/x11/gdkx.h:
	* gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme):
	New function to change the cursor theme.
2005-06-15 18:37:18 +00:00
Matthias Clasen
cd87226986 Remove a lot of pointless g_return_if_fail() non-NULL checks.
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c: Remove a lot of pointless
	g_return_if_fail() non-NULL checks.
2005-06-15 16:59:20 +00:00
Matthias Clasen
daab95c294 Add a stub for the no-Xcursor case. (noticed by Luis Villa)
2005-06-14  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_name): Add a
	stub for the no-Xcursor case. (noticed by Luis Villa)
2005-06-14 20:43:20 +00:00
Matthias Clasen
2fad80a6bd Forgotten file 2005-06-14 16:05:52 +00:00
Matthias Clasen
6b5b269844 New functions to construct named cursors and to get the image used for a
2005-06-14  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdk.symbols:
	* gdk/gdkcursor.h:
	* gdk/x11/gdkcursor-x11.c (gdk_cursor_get_image)
	(gdk_cursor_new_from_name): New functions to construct named
	cursors and to get the image used for a cursor.
2005-06-14 15:10:13 +00:00
Kjartan Maraas
5ee5b7c4b5 Plug a leak. Closes bug #307281.
2005-06-12  Kjartan Maraas  <kmaraas@gnome.org>

	* gdk/x11/gdkasync.c: (send_event_handler): Plug
	a leak. Closes bug #307281.
2005-06-12 16:24:10 +00:00
Matthias Clasen
411241fb26 Cleanup. (#169648, Fabricio Barros Cabral)
2005-06-12  Matthias Clasen  <mclasen@redhat.com>

	* gdk/*.h: Cleanup.  (#169648, Fabricio Barros Cabral)
2005-06-12 05:32:25 +00:00
Matthias Clasen
0a8331150e Small markup fixes. 2005-06-10 03:35:30 +00:00
Matthias Clasen
13a9dd210a Update the user time on the window when a drop happens. (#169364,
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdnd-x11.c (motif_drop_start, xdnd_drop_filter): Update
	the user time on the window when a drop happens.  (#169364, Alexander
	Hunziker, patch by Elijah Newren)
2005-06-09 17:13:58 +00:00
Matthias Clasen
92690fa3c2 Small markup fixes.
2005-06-09  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c: Small markup fixes.
2005-06-09 16:40:42 +00:00
Matthias Clasen
f6906b8272 Warn if length overflows. (#161520, Ian Wienand)
2005-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkproperty-x11.c (gdk_property_get): Warn if
	length overflows.  (#161520, Ian Wienand)
2005-05-18 14:46:14 +00:00
Owen Taylor
df1cc88424 Update to changed cairo interface.
2005-05-17  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (gdk_x11_ref_cairo_surface):
        Update to changed cairo interface.

        * gdk/x11/gdkdrawable-x11.[ch]:
        Add _gdk_x11_drawable_update_size()

        * gdk/x11/gdkwindow-x11.c (gdk_window_resize)
        (gdk_window_move_resize)
        * gdk/x11/gdkevents-x11.c (gdk_event_translate):
        Call _gdk_x11_drawable_update_size().
2005-05-17 17:35:22 +00:00
Owen Taylor
c2bd238e88 Update for cairo-xlib API change.
2005-05-13  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c: Update for cairo-xlib API change.

        * gdk/x11/gdkpixmap-x11.[ch] gdk/gdk.symbols: Export
        gdk_pixmap_impl_x11_get_type(), needed in gdkdrawable-x11.c.
2005-05-14 01:04:15 +00:00
Owen Taylor
485fd85179 Fill in unused bits so they can be used for the depth-32 target case.
2005-05-09  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkrgb.c (gdk_rgb_convert_0888_br, gdk_rgb_convert_8880_br):
        Fill in unused bits so they can be used for the depth-32 target case.
        Rewrite so that that gives a marginal speedup rather than a
        marginal slowdown. (on x86)

        * gdk/gdkscreen.h gdk/x11/gdkscreen-x11.[ch] gdk/x11/gdkvisual-x11.c:
        Add gdk_screen_get_rgba_colormap/visual to get a visual for
        windows with an alpha channel, if one exists.

        * gdk/win32/gdkscreen-win32.c gdk/linux-fb/gdkscreen-fb.c:
        Stub out gdk_screen_get_rgba_colormap/visual.

        * gdk/x11/gdkcolor-x11.c (gdk_colormap_alloc_colors): computation of
        "unused" wasn't right for depth == 32, since it depended on
        shifting by 32.

        * gdk/gdkrgb.c: Fill in alpha bits with 1s. (Based on patch from
        Keith Packard,
        http://mail.gnome.org/archives/gtk-devel-list/2004-June/msg00080.html)

        * gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_picture):
        Implement again, without using Xft.

        * tests/testgtk.c: Add a test for windows with an alpha channel.
2005-05-09 22:54:10 +00:00
Matthias Clasen
ba20420e9f Small documentation additions.
2005-05-08  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkcolor.c (gdk_cairo_set_source_color):
	* gdk/gdkimage.h:
	* gdk/gdkdraw.c:
	* gdk/gdkcolor.h:
	* gdk/gdkcursor.h:
	* gdk/x11/gdkcolor-x11.c: Small documentation additions.
2005-05-08 05:47:52 +00:00
Matthias Clasen
65903c3ae7 Fix typos in the docs. (#303389, Masao Mutoh)
2005-05-07  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkscreen-x11.c (gdk_screen_get_width_mm)
	(gdk_screen_get_height_mm): Fix typos in the docs.  (#303389,
	Masao Mutoh)
2005-05-08 03:18:09 +00:00
Owen Taylor
dcedc5bcef Fix a bug in focus tracking when we move between has_pointer_focus and
2005-05-04  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.h: Fix a bug
        in focus tracking when we move between has_pointer_focus and
        has_focus_window directly. (#109246, Billy Biggs, Niko Tyni
        and others)

        * gdk/x11/gdkevents-x11.c: Also fix some extremely confusion
        that could happen in the case of no window manager + keyboard grabs,
        by moving to a more consistent model of when we pay attention
        to mode=NotifyGrab/NotifyUngrab events.

        * docs/focus_tracking.txt: Extensive writeup about how to track
        focus under X11
2005-05-05 00:12:21 +00:00
Owen Taylor
788bbf520a Add a draw-border style property to allow themes to draw outside the
2005-04-28  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c: Add a draw-border style property to allow
	themes to draw outside the widget's allocation.

	* gdk/gdkwindow.c gtk/gtkstyle.c: Remove some save/restore pairs
	that were working around the clip-leakage bug in Cairo.

	* gtk/gtkstyle.c: Use cairo_fill_preserve() rathe than
	save/fill/restore.

	* gdk/gdkgc.c gdk/gdkinternals.h: Add _gdk_gc_update_context()
	That updates a Cairo context to match a GC.

	* gdk/gdkdraw.c: Use _gdk_gc_update_context() to add support
	for tiles/stipples/clipping to gdk_draw_glyphs(),
	gdk_draw_trapezoids().

	* gdk/gdkpango.c: Use _gdk_gc_update_context() instead of internal
	implementation of stipples. Use one cairo_t across the entire
	drawing operation. Replace cairo_matrix_create() with
	stack-allocated matrices.

	* gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c
	gdk/win32/gdkgc-win32.c: Save various aspects of the
	GC state (fill, tile, stipple, foreground, background, clip region)
	in instance-private-data for future use. Add getters.
	Get rid of _gdk_windowing_gc_get_foreground() function implemented
	by the backends.

	* gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c
	gdk/win32/gdkgc-win32.c gdk/linux-fb/gdkgc-fb.c: Add
	_gdk_gc_init() to do initial setup of the GC from values;
	fixes some problems from drawable redirection.

	* gdk/gdkgc.c gdk/gdkinternals.h gdk/x11/gdkgc-x11.c
	gdk/win32/gdkgc-win32.c gdk/linux-fb/gdkgc-fb.c: Move
	gdk_gc_copy() and gdk_gc_set_clip_{region,rectangle}() into
	the generic code, add _gdk_windowing_gc_copy(),
	_gdk_windowing_gc_set_clip_region() to do backend specific
	stuff.

	* gdk/x11/{gdkprivate-x11.h,gdkgc-x11.c.c,gdkdrawable-x11.c}
	gdk/win32/{gdkprivate-win32.h,gdkgc-x11.c.c,gdkdrawable-x11.c}
	gdk/linux-fb/{gdkprivate-fb.h,gdkgc-fb.c.c,gdkdrawable-fb.c}:
	Don't duplicate state that now is stored by the generic code.

	* gdk/gdk.symbols Update
2005-05-02 23:29:24 +00:00
Matthias Clasen
324872e3b4 Some more fixes necessary to make building with gcc 4 work.
* gdk/x11/gdkinput-xfree.c:
	* gdk/x11/gdkinput-none.c:
	* gdk/gtk.symbols: Some more fixes necessary to
	make building with gcc 4 work.
2005-04-10 01:01:18 +00:00
Owen Taylor
b8663e868f Call cairo_surface_finish()
2005-03-18  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (_gdk_x11_drawable_finish):
        Call cairo_surface_finish()

        * gdk/gdkinternals.c gdk/x11/gdkdrawable-x11.c: Remoev
        _gdk_windowing_set_surface_device_offset().
2005-03-18 23:51:31 +00:00
Owen Taylor
09d7eafb15 Switch set_cairo_target() virtual function to ref_cairo_surface()
2005-03-15  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkpixmap.c gdk/gdkwindow.c
	gdk/x11/gdkdrawable-x11.c gdk/x11/gdkpixmap-x11.c gdk/x11/gdkwindow-x11.c
	gdk/gdkinternals.h: Switch set_cairo_target() virtual function to
	ref_cairo_surface()

	* gdk/gdkdrawable.h gdk/gdkdraw.h: Switch set_cairo_target() virtual
	function to create_cairo_context()

	* gdk/gdkwindow.c: Clear double buffer pixmaps with Cairo.

	* gdk/x11/gdkwindow-x11.c: Keep all components in GdkWindowObject.bg_color,
	not just the pixel.

	* tests/testcairo.c: Update for create_cairo_context()

	* gdk/gdkdraw.c (gdk_draw_trapezoids, gdk_draw_glyphs[_transformed]):
	Reimplement in terms of Cairo, bypass the vtable entries.

	* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkdisplay-x11.[ch]
	gdk/x11/gdkgc-x11.c gdk/x11/gdkpango-x11.c
	gdk/x11/gdkprivate-x11.h gdk/x11/Makefile.am: Remove
	implementation of draw_trapezoids / draw_glyphs[_transformed].

	* gdk/gdkpango.c: Switch GdkPangoRenderer to use Cairo

	* gdk/gdkpango.c gdk/x11/gdkpango-x11.c: Move
	gdk_pango_context_get_for_screen() into the backend independent code.

	* gdk/x11/gdkdrawable-x11.[ch]: Remove Xft use, use RENDER directly
	for drawing images.

	* gdk/gdkdrawable.h gdk/x11/gdkdrawable-x11.c: Remove
	gdk_draw_rectangle_alpha_libgtk_only.

	* gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c: Add
	gdk_pixbuf_set_as_cairo_source()

	* gdk/gdk.symbols: Update

	* gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkruler.[ch]
	gtk/gtk[hv]ruler.c: Convert to Cairo rendering.

	* gtk/gtkstyle.c (gtk_default_draw_check, gtk_default_draw_focus,
	gtk_default_draw_option): Switch to Cairo. Simplify the checkbutton,
	radio button style for now to get something more scalable.

	*  gtk/gtksettings.c: #if 0 out the code to use PangoXft for hinting/
	antialiasing/dpi settings.
2005-03-17 01:54:40 +00:00