1. 04 Jun, 2003 1 commit
    • Owen Taylor's avatar
      Keep track of when we have a clip mask set for the GC, and when we unset · 76fc08a3
      Owen Taylor authored
      Wed Jun  4 19:24:28 2003  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Keep
              track of when we have a clip mask set for the GC,
              and when we unset it, or switch to a clip region,
              immediately call XSetClipMask (..., None) to avoid
              Xlib caching stale data. (#111806)
      
              * gtk/gtktextdisplay.c: Don't set a clip mask
              when drawing alpha pixmaps; it isn't necessary any more.
              (#111806)
      76fc08a3
  2. 24 Sep, 2002 1 commit
    • Owen Taylor's avatar
      Delete unused private gdk_visual_lookup(), make gdk_colormap_lookup() · f9d267ae
      Owen Taylor authored
      Tue Sep 24 16:04:44 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdkprivate-x11.h gdkcolor-x11.c gdkvisual-x11.c
              gdkwindow-x11.c: Delete unused private gdk_visual_lookup(),
              make gdk_colormap_lookup() private gdkcolor-x11.c.
              make gdk_window_add_colormap_windows private to gdkwindow-x11.c
              (#85674)
      
              * gdk/x11/gdkx.h gdk/x11/gdkcolor-x11.c
              gdkscreen-x11.h: Add gdk_x11_colormap_foreign_new(),
              GDK_ENABLE_BROKEN gdkx_colormap_get(), make the
              colormap hash per-screen. (#85697)
      
              * gdk/x11/gdkxid.c (gdk_xid_table_lookup_for_display):
              Remove a bit of unecessary code.
      f9d267ae
  3. 23 Sep, 2002 1 commit
    • Owen Taylor's avatar
      Add a keys_changed signal emitted when the keymap changes. (#72148) · a16b63eb
      Owen Taylor authored
      Mon Sep 23 16:48:46 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/gdkkeys.[ch] gdk/x11/gdkkeys-x11.c gdk/x11/gdkevents-x11.c:
              Add a keys_changed signal emitted when the keymap changes.
              (#72148)
      
              * gtk/gtkkeyhash.c (_gtk_key_hash_remove_entry):
              Hook up code to handle keymap changes, change to keep
              a linked list of keymap entries so that we can reinsert
              them in the same order on a keymap change.
      a16b63eb
  4. 02 Aug, 2002 1 commit
    • Owen Taylor's avatar
      Switch back to using XftDraw so that we take advantage of the · d5f0576c
      Owen Taylor authored
      Fri Aug  2 00:43:15 2002  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkgc-x11.c
      	gdk/x11/gdkpango-x11.c gdk/x11/gdkpixmap-x11.c
      	gdk/x11/gdkprivate-x11.h gdk/x11/gdkwindow-x11.c:
      	Switch back to using XftDraw so that we take
      	advantage of the draw-to-non-RENDER capabilities
      	of Xft2.
      
      	* demos/gtk-demo/changedisplay.c (query_for_toplevel):
      	Fix the case where the user clicks on the "click on
      	a window popup".
      d5f0576c
  5. 01 Aug, 2002 1 commit
    • Owen Taylor's avatar
      New demo for window migration between different displays and screens. · 63489392
      Owen Taylor authored
      Thu Aug  1 19:09:39 2002  Owen Taylor  <otaylor@redhat.com>
      
      	* demos/gtk-demo/changedisplay.c: New demo for
      	window migration between different displays and screens.
      
      	* gtk/gtkrc.c gtkstyle.[ch]: Add
      	_gtk_style_init_for_settings(), so that gtkrc.c
      	can initialize the styles it creates for the
      	right display.
      
      	* gdk/gdkdisplaymanager.c (gdk_screen_get_default)
      	* gtk/gtksettings.c (gtk_settings_get_default)
      	* gtk/gtkstyle.c (gtk_style_init): Handle absence of
      	a default screen.
      
      	* gdk/x11/gdkmain-x11.c (_gdk_windowing_set_default_display):
      	Handle display == NULL.x
      
      	* gdk/gdkdisplay.c (gdk_display_dispose): Free the
      	event queue.
      
      	* gdk/x11/gdkevents-x11.c gdk/x11/gdkdisplay-x11.c:
      	Remove the event source when closing a display.
      
      	* gdk/gdkdisplay.[ch]: Add a ::closed signal, dispose()
      	isn't convenient enough by itself.
      
      	* gdk/x11/gdkevents-x11.c (gdk_xsettings_watch_cb):
      	Create foreign windows for watch windows if there isn't
      	an existing window, instead of installing a global filter.
      
      	* gdk/x11/gdkscreen-x11.c gdk/x11/gdkprivate-x11.h
      	gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen):
      	Clean up the xsettings_client when we are done with
      	it.
      
      	* gdk/x11/gdkevents-x11.c (_gdk_events_init): Remove
      	excess call to _gdk_x11_events_init_screen()
      63489392
  6. 18 Jun, 2002 1 commit
    • Owen Taylor's avatar
      Replace gdk_cursor_new_for_screen() with gdk_cursor_new_for_display(). · 621fb746
      Owen Taylor authored
      Tue Jun 18 14:41:48 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/gdkcursor.[ch] gdk/x11/gdkcursor-x11.c
              gdk/x11/gdkprivate-x11.h gdk/win32/gdkcursor-win32.c: Replace
              gdk_cursor_new_for_screen() with gdk_cursor_new_for_display().
              (#85671)
      
              * gtk/gtkclist.c gtk/gtkcombo.c gtk/gtkcurve.c gtk/gtkdnd.c
              gtk/gtkentry.c gtk/gtkhandlebox.c gtk/gtkhsv.c gtk/gtklabel.c
              gtk/gtkpaned.c gtk/gtktext.c gtk/gtktextview.c
              gtk/gtktipsquery.c gtk/gtktreeviewcolumn.c:
              Adapt to above change.
      621fb746
  7. 06 Jun, 2002 1 commit
    • Owen Taylor's avatar
      Changes multihead reorganizing code for win32 support, mostly from a patch · aeaaae04
      Owen Taylor authored
      Wed Jun  5 18:34:47 2002  Owen Taylor  <otaylor@redhat.com>
      
      	Changes multihead reorganizing code for win32 support,
      	mostly from a patch by Hans Breuer.
      
      	* gdk/gdkcolor.c gdk/x11/gdkcolor-x11.c gdk/gdkcursor.c
      	  gdk/x11/gdkcursor-x11.c gdk/gdkevents.c gdk/x11/gdkevents-x11.c
      	  gdk/gdkfont.c gdk/x11/gdkfont-x11.c gdk/gdkkeys.c
      	  gdk/x11/gdkkeys-x11.c gdk/gdkimage.c gdk/x11/gdkimage-x11.c
      	  gdk/gdkscreen.c gdk/x11/gdkmain-x11.c
      	  gdk/gdkdisplay.c gdk/gdkevents-x11.c gdk/gdkpango.c
      	  gdk/x11/gdkpango-x11.c gdk/gdkselection.c
      	  gdk/x11/gdkselection-x11.c gdk/gdkwindow.c
      	  gdk/x11/gdkwindow-x11.c gdk/gdkvisual.c gdk/x11/gdkvisual-x11.c:
      	  Move port-independent singlehead wrapper functions into
      	  port-independent part of GDK. (#80009)
      
      	* gdk/win32/gdkcolor-win32.c gdk/win32/gdkcursor-win32.c
      	  gdk/win32/gdkevents-win32.c gdk/win32/gdkfont-win32.c
      	  gdk/win32/gdkimage-win32.c gdk/win32/gdkkeys-win32.c
      	  gdk/win32/gdkmain-win32.c gdk/win32/gdkproperty-win32.c
      	  gdk/win32/gdkselection-win32.c gdk/win32/gkwindow-win32.c:
      	Turn singlehead functions into "multihead" functions that ignore
      	their GdkDisplay or GdkScreen arguments.
      
      	* gdk/win32/gdkdrawable-win32.c gdk/win32/gdkevents-win32.c
      	gdk/win32/gdkinput-win32.c gdk/win32/gdkprivate-win32.h:
      	Misc multihead-compatibility changes.
      
      	* gtk/gtk.def gdk/gdk.def: Update for multihead functions.
      
      	* gdk/gdkcolormap.h gdk/gdkvisual.h gdk/x11/gdkcolormap-x11.c
      	gdk/x11/gdkvisual-x11.c: Remove the screen fields
      	from the public parts of the colormap/visual structures, add accessors
      	instead.
      
      	* gdk/gdkpixbuf-render.c gdk/gdkpixmap.c gdk/gdkrgb.c
      	  gdk/x11/gdkcolormap-x11.c gdk/x11/gdkimage-x11.c
      	  gdk/x11/gdkimage-x11.c gdk/x11/gdkprivate-x11.h gtk/gtkgc.c
      	  gtk/gtkstyle.c gtk/gtkwidget.c: Use accessors to get the screen
      	for colormaps, visuals; move the fields into the private
      	structures for the x11 backend.
      
      	* gdk/gdkdisplay.[ch] gdk/x11/gdkdisplay-x11.[ch]
      	  gdk/gdkscreen.[ch] gdk/x11/gdkscreen-x11.c:
      	Remove virtualization of screen and display functions.
      	(#79990, patch from Erwann Chenede)
      
      	* gdk/win32/gdkdisplay-x11.c gdk/win32/gdkscreen-win32.c
      	gdk/win32/{Makefile.am, makefile.msc, makefile.mingw}:
      	New files containing stub implementations of Display,
      	Screen functions.
      
      	* gdk/x11/gdkscreen-x11.[ch] gdk/x11/gdkdisplay-x11.[ch]
      	gdk/x11/gdkx.h: Clean up function exports and what
      	headers they are in. (#79954)
      
      	* gdk/x11/gdkx.h: Fix macro that was referring to a non-existant
      	screen->screen_num. (In the patch for #79972, Erwann Chenede)
      
      	* gdk/gdkscreen.c gdk/gdkwindow.c gdk/x11/gdkinternals.h
      	 gdk/x11/gdkscreen-x11.c: Fix gdk_screen_get_window_at_pointer()
      	to use window hooks. (#79972, patch partly from Erwann Chenede)
      
      	* gdk/x11/gdkdisplay-x11.c gdk/x11/gdkevents-x11.c: Fix
      	some warnings.
      aeaaae04
  8. 25 Apr, 2002 1 commit
    • Owen Taylor's avatar
      Start of integration of Erwann Chenede's multihead work from the · 425b9886
      Owen Taylor authored
      Thu Apr 25 16:51:40 2002  Owen Taylor  <otaylor@redhat.com>
      
              Start of integration of Erwann Chenede's multihead work
              from the gtk-multihead branch.
      
              * gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch]
              gdk/x11/gdkdisplay-x11.[ch] gdk/x11/gdkscreen-x11.[ch]
              New classes representing a set of screens with attached
              input devices and a single contiguous area, respectively.
      
              * gdk/gdk.[ch] gdk/gdkinternals.h gdk/x11/gdkmain-x11.c:
              gdk/x11/gdkprivate-x11.h: Make the initialization interface
              simple _gdk_windowing_init() and do the rest in
              gdk_open_display() calls.
      
              * gdk/gdk.[ch]: Add gdk_parse_args() which can be used
              to do the display-independent part of initialization
              instead of gdk_init_[check].
      
              * gdk/gdkcursor.h gdk/gdkfont.h gdk/gdkkeys.h gdk/gdkpixmap.h
              gdk/gdkproperty.h gdk/gdkselection.h gdk/gdkwindow.h:
              Add multihead variants (_for_display(), for_screen()) of functions
              getting information specific to a particular screen screen or
              display.
      
              * gdk/gdkscreen.[ch]: Add gdk_screen__* variants of functions
              like gdk_rgb_get_colormap() that used to get/list global
              objects.
      
              * gdk/x11/gdkx.h: Add functions for converting GdkScreen
              and GdkDisplay into the X equivalents.
      
              * gdk/x11/gdkwindow-x11.c: Removed gdk_window_xid_at_coords()
              not in the headers and unused.
      
              * configure.in gdk/x11/{gxid.c,gxid_lib.[ch],gdkinput-gxi.c}:
              Remove gxid support ... has not been tested for a long time...
              "xfree" support is more portable to non XFree86.
      
              * gdk/**.h: Add a GDK_MULTIHEAD_SAFE define that can be
              used to turn off functions that are inherently non-multihead
              safe.
      
              * gdk/**.c: add GDK_NOTE(multihead, ...) calls when functions
              are used in non-multihead-safe ways.
      
              * gdk/*.c gdk/x11/*.c: Changes to make the internals of GDK
              multihead safe.
      425b9886
  9. 04 Mar, 2002 1 commit
    • Owen Taylor's avatar
      Fixes for non XKB operation. (#73103) · b543bbff
      Owen Taylor authored
      Mon Mar  4 12:43:48 2002  Owen Taylor  <otaylor@redhat.com>
      
              Fixes for non XKB operation. (#73103)
      
              * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
              Fix problem where GDK_Tab was converted to GDK_ISO_Left_Tab
              always, not just if Shift was pressed.
      
              * gdk/x11/gdkkeys-x11.c gdk/x11/gdkprivate-x11.c
              gdk/x11/gdkevents-x11.c: Move determination of group
              to _gdk_x11_get_group_for_state(), fix to handle non-XKB.
      
              * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Only
              add in SHIFT_MASK | LOCK_MASK to consumed_modifiers if the shifted
              and unshifted keysyms are different. Only add in group_switch_mask
              if the group-switched and non-group-switched keysyms are diferent.
      
              * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
              When calling XKeycodeToKeysym, use group * keysyms_per_keycode / 2
              not group * keysyms_per_keycode. (Tor Lillquist)
      
              * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
              Remove the hack to fudge the return value for GDK_Tab + Shift
              since that didn't work -- it didn't affect the reverse mapping.
              Instead fudge the non-XKB keymap instead.
      b543bbff
  10. 02 Mar, 2002 1 commit
    • Owen Taylor's avatar
      Robustify tracking of pointer grab window. · b54e5f4c
      Owen Taylor authored
      Fri Mar  1 18:39:44 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/x11/{gdkevents-x11.c,gdkmain-x11.c,gdkprivate-x11.h,
              gdkwindow-x11.c}: Robustify tracking of pointer grab window.
      
              * gdk/x11/gdkmain-x11.c: Keep track of current keyboard
              grab window.
      
              * gdk/x11/gdkmain-x11.c (gdk_pointer_grab_info_libgtk_only,
              gdk_keyboard_grab_info_libgtk_only): Private libgtk => libgtk
              API for finding out current grab information.
      
              * gtk/gtkmain.c (rewrite_event_for_grabs): Rewrite events
              so that the effective behavior of owner_events = TRUE is changed
              to "deliver events to same window group normally" instead
              of "deliver events to same application normally. #69934
      
              * gtk/gtkrange.c: Use an explicit gtk_grab_add() so that
              it works within the GtkList combo, where there is a
              owner_events = FALSE gdk_pointer_grab() already in effect.
              (#65006, reported by Damon Chaplin)
      b54e5f4c
  11. 04 Jan, 2002 1 commit
    • Owen Taylor's avatar
      Private function to tell if we have RENDER extension. · d12c9702
      Owen Taylor authored
      Thu Jan  3 22:18:15 2002  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkprivate-x11.h
      	(_gdk_x11_have_render): Private function to tell if we have RENDER
      	extension.
      
      	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_get_fg_picture): Return
      	None if we don't have RENDER extension.
      
      	* gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Don't
      	use Xft unless we have render extension.
      
      	* gdk/x11/gdkdrawable-x11.c (gdk_x11_drawable_get_picture):
      	Handle missing render extension.
      
      	* gdk/gdkdraw.c gdk/gdkdrawable.h gdk/gdkpixmap.c gdk/gdkwindow.c
      	gdk/gdkinternals.h: Add a private copy_to_image() virtual function
      	to the GdkDrawable vtable that extends get_image() to allow
      	copying onto existing images.  Make the default implementation of
      	get_image() use this so that backends don't have to implement
      	both. Add private wrapper _gdk_drawable_copy_to_image().
      
      	* gdk/x11/gdkimage-x11.c gdk/x11/gdkprivate-x11.c
      	gdk/x11/gdkdrawable-x11.c (_gdk_x11_copy_to_image): Implement
      	copy_to_image() semantics, speed up by using ShmPixmaps and
      	XCopyArea when possible, XFlush() after ungrabbing the server,
      	generally redo the logic once again.
      
      	* gdk/gdkinternals.h gdk/x11/gdkimage-x11.c
      	_gdk_windowing_bits_per_depth(): Function to convert from depth to
      	bits-per-pixel. (We assume only one bpp per depth - X requires
      	this.)
      
      	* gdk/gdkinternals.h gdk/gdkrgb.c gdk/gdkimage.c: Move the GdkRGB
      	scratch image code into a generic _gdk_image_get_scratch() chunk
      	of code that we can use other places we need scratch images.
      
      	* gdk/gdkimage.c gdk/x11/gdkimage.c gdk/gdkinternals.h:
      	Add _gdk_image_new_for_depth() as the backend
      	to _gdk_image_new() to allowing creating images with
      	a depth and no visual.
      
      	* gdk/gdkpixbuf-drawable.c: Fix so that getting
      	parts of images not at 0,0 actually works.
      
      	* gdk/gdkdrawable.h gdk/gdkinternals.h gdk/gdkdraw.c
      	gdk/gdkwindow.c gdk/gdkpixmap.c gdk/gdkpixbuf-render.c:
      	 - Add a new GdkDrawableClass vfunc _draw_pixbuf, and
      	  _gdk_draw_pixbuf() [ will be made public later ], to allow
      	  backends to accelerate drawing pixbufs.
      	 - Move the implementation of gdk_pixbuf_render_to_drawable_alpha()
      	   to be the default implementation.
      	 - Update docs for gdk_pixbuf_render_to_drawable_alpha().
      	 - Optimize the default implementation by using
      	   _gdk_image_copy_to_pixmap() and scratch shared images, and
      	   special casing the compositing.
      
      	* gdk/x11/gdkdrawable-x11.c: Accelerate _gdk_draw_pixbuf()
      	with alpha using the RENDER extension.
      
              * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
      	Optimize by _gdk_image_copy_to_pixmap() and scratch images.
      
      	* tests/testrgb.c: Add test for speed of alpha composition,
      	reduce the number of iterations since alpha composition
      	can be a bit slow.
      
      	* gdk/x11/gdkimage-x11.c gdk/gdkprivate-x11.h (_gdk_x11_image_get_shm_pixmap):
      	Private function to get a ShmPixmap for an image, if possible.
      d12c9702
  12. 05 Nov, 2001 1 commit
    • Owen Taylor's avatar
      Redo Xft support to go directly to Picture objects instead of using · 42634ee7
      Owen Taylor authored
      Mon Nov  5 12:46:44 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkgc-x11.c
      	gdk/x11/gdkpixmap-x11.c gdk/x11/gdkprivate-x11.h
      	gdk/x11/gdkwindow-x11.c: Redo Xft support to go
      	directly to Picture objects instead of using XftDraw.
      	This fixes the problem where we weren't able to
      	properly destroy XftDraw objects before destroying
      	the accompanying windows, and probably improves
      	efficiency a bit too. (#50214)
      42634ee7
  13. 22 Oct, 2001 1 commit
    • Owen Taylor's avatar
      Fix problem with g_return_if_fail return value. · 46dde804
      Owen Taylor authored
      Sun Oct 21 23:27:00 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_translate_coordinates): Fix
      	problem with g_return_if_fail return value.
      
       	* gdk/x11/gdkproperty-x11.c docs/Changes-2.0.txt: Move over the
      	virtual atom code from the gdk-multihead branch, removing the per-display
      	part. Virtualizing atoms needs to be done now to prevent compat
      	breakage in direct Xlib accessing code in the future. (#62208)
      
       	* gdk/x11/gdkx.h: gdk/gdk/x11/gdkproperty-x11.c: Export
       	gdk_x11_xatom_to_atom, gdk_x11_atom_to_xatom().
      
      	* gdk/gdktypes.h docs/Changes-2.0.txt: Make GdkAtom
      	an opaque pointer type so the compiler catches attempts
      	to mingle it with X atoms.
      
      	* gdk/x11/{gdkdnd-x11.c,gdkevents-x11.c,gdkglobals-x11.c,
      	  gdkkeys-x11.c, gdkmain-x11.c, gdkprivate-x11.c,
      	  gdkproperty-x11.c, gdkselection-x11.c, gdkwindow-x11.c}
      	  gtk/{gtkclist.c,gtkctree.c,gtkdnd.c,gtkplug.c,gtksocket.c}
      	  tests/testdnd.c,tests/testselection.c:
      	Fix up for above atom changes.
      
      	* gdk/gdkselection.h (GDK_SELECTION_CLIPBOARD): Add, since we
      	now have the ability to add custom predefines.
      
      	* gtk/{gtkentry.c,gtklabel.c,gtkoldeditable.c,gtktextview.c}:
      	Use GDK_SELECTION_CLIPBOARD instead of GDK_NONE in calls
      	to gtk_clipboard_get().
      
      	* gdk/win32/gdkproperty-win32.c: Add CLIPBOARD, fix up
      	for GdkAtom => pointer change.
      
      	* gdk/linux-fb/gdkproperty-fb.c: Fix handling of predefined
      	atoms, fix for GdkAtom => pointer change.
      46dde804
  14. 10 Oct, 2001 1 commit
    • Owen Taylor's avatar
      Call setlocale (LC_ALL, ""). (#60606) · ca9158fa
      Owen Taylor authored
      Wed Oct 10 12:48:38 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkmain.c (gtk_init_check): Call setlocale (LC_ALL, "").
      	(#60606)
      
      	* gtk/gtkmain.c (gtk_disable_setlocale): Add function
      	to disable calling setlocale (LC_ALL, "").
      
      	* gtk/gtkmain.c (gtk_set_locale): Indicate in the
      	docs that this function is not typically useful.
      
      	* gdk/x11/{gdkim-x11.c,gdkmain-x11.c,gdkprivate-x11.h}:
      	Automatically initialize GDK for the current locale
      	on gdk_init(). Don't reset locale to C when
      	XSupportsLocale() fails.
      
      	* gdk/linux-fb/gdkim-fb.c (gdk_set_locale): Remove
      	useless checks for UTF-8 locale breakage that mattered
      	only for X.
      
      	* examples/calendar/calendar.c
      	tests/{testgtk.c,testtext.c,testcalendar.c}: Remove calls to
      	gtk_set_locale().
      
      	* gtk/gtkiconfactory.c gtk/gtkitemfactory.c:
      	gdk_pixbuf_new_from_stream => gdk_pixbuf_new_from_inline.
      ca9158fa
  15. 07 Sep, 2001 1 commit
    • Owen Taylor's avatar
      Make gdkx.h the only installed header from gdk/x11. All structures in · 1bbf2ac7
      Owen Taylor authored
      Fri Sep  7 11:51:44 2001  Owen Taylor  <otaylor@redhat.com>
      
            Make gdkx.h the only installed header from gdk/x11.
            All structures in gdk/x11 are opaque.
      
      	* gdk/x11/Makefile.am gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h:
      	Don't install gdk{drawable,pixmap,window}-x11.h.
      
      	* gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c:
      	Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11,
      	GdkVisualClass into C files.
      
      	* gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static.
      
      	* gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c,
      	gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c}
      	Add public functions to replace previously exported direct
      	structure access.
      	gdk_x11_colormap_get_{xdisplay,xcolormap}
      	gdk_x11_cursor_get_{xdisplay,xcursor},
      	gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual,
      	gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage},
      	gdk_x11_gc_get_{xdisplay,ximage}
      
      	* gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo,
      	GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals.
      
            Fix a number of variables and functions that were exported
            "accidentally" from GDK.
      
      	* gdk/**.[ch]: gdk => _gdk for gdk_visual_init,
      	gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit,
      	gdk_input_exit,	gdk_windowing_exit, gdk_event_func, gdk_event_data,
      	gdk_event_notify, gdk_queued_events, gdk_queued_tail,
      	gdk_event_new, gdk_events_queue, gdk_events_unqueue,
      	gdk_event_queue_find_first, gdk_event_queue_remove_link,
      	gdk_event_queue_append, gdk_event_button_generate,
      	gdk_debug_flags, gdk_default_filters, gdk_parent_root.
      
      	* gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c,
      	   gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}:
      	gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks,
      	gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window,
      	gdk_use_xshm, gdk_input_ignore_core.
      
      	* gdk/x11/xsettings-common.h (xsettings_list_insert): Add
      	#defines to namespace functions into the private _gdk_
      	namespace.
      
      	* gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window ()
      	to replace gdk_parent_root exported variable. Adjust and
      	deprecate GDK_ROOT_PARENT().
      
      	* demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix
      	GDK_ROOT_PARENT usage, remove includes of port-specific
      	headers.
      
      	* gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for
      	_gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core,
      	gdk_input_devices, _gdk_input_windows, gdk_init_input_core.
      
      	* gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c}
      	docs/Changes-2.0.txt: Remove gdk_wm_protocols,
      	gdk_wm_delete_window functions, gdk_wm_take_focus,
      	use gdk_atom_intern() instead.
      
      	* gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h}
      	  gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h}
      	  gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h}
      	  gtk/gtkselection.c
              Unexport gdk_selection_property, just use
      	gdk_atom_intern ("GDK_SELECTION").
      
      	* gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}:
      	Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type,
      	GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate,
      	GdkVisualprivate, gdk_x11_gc_flush.
      
            Make a number of public exports of variables into functions
            to increase encapsulation.
      
      	* gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h
      	gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer,
      	move to gdkinternals.h. Add gdk_device_get_core_pointer ().
      
      	* gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h
      	docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code,
      	gdk_error_warnings.
      
      	* gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h}
      	  docs/Changes-2.0.txt:
      	s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen()
      	s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow()
      	Add gdk_x11_get_default_xdisplay().
      
      	* gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c
      	win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c
      	gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class,
      	Don't export gdk_progclass, move --class command line
      	option and handling to common portion of GDK.
      
            Miscellaneous fixes:
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix
      	g_return_val_if_fail that should have been g_return_if_fail.
      
      	* gdk/gdkinternals.h gdk/gdkprivate.h: Move
      	gdk_synthesize_window_state() to the semi-public gdkprivate.h.
      
      	* gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded
      	X11 dependency.
      
      	* gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO:
      	Remove unused gdk_key_repeat_disable/restore.
      
      	* linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c
      	x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def:
      	Remove unused gdk_null_window_warnings variable.
      
      	* gdk/Makefile.am (DIST_SUBDIRS) nanox/*: cvs remove nanox;
      	it can be retrieved from the repository; it is too far
      	from functional to be worth having people check out;
      	it would be easier to start from scratch, I suspect.
      
      	* gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID().
      
      	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
      	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
      	Fix some accidentally global variables and unused global variables.
      
      	* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
      	gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
      	Fix some accidentally global variables and unused global variables.
      
            Add some space for future expansion to multihead.
      
      	* gdk/gdkdrawable.h: Add four reserved function pointers
      	for future expansion of GdkDrawableClass.
      
      	* gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer
      	where we can put a GdkScreen * later.
      1bbf2ac7
  16. 08 Jun, 2001 1 commit
    • Owen Taylor's avatar
      Add a direction-changed signal, and gdk_keymap_get_current_direction(). · da562f4d
      Owen Taylor authored
      Fri Jun  8 12:03:07 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkkeys.[ch]: Add a direction-changed signal,
      	and gdk_keymap_get_current_direction().
      
      	* gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
      	  gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
      	the current locked group, use it to set the keymap
      	direction.
      
      	* gtk/gtksettings.c: Add a new gtk-split-cursor setting
      	to determine whether we draw a split cursor or use
      	a jumping cursor based on the current direction.
      
      	* gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
      	Obey the split cursor setting.
      
      Fri Jun  8 11:57:50 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkimmulticontext.c (activate_cb): Only activate
      	when toggling on, not when toggling off... (#55906)
      
      Wed Jun  6 10:37:07 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtkwidget.c (gtk_widget_set_double_buffered):
      	s/gdk_window_begin_paint/gdk_window_begin_paint_region/
      	in docs. (#55812, Vitaly Tishkov)
      da562f4d
  17. 29 Mar, 2001 1 commit
  18. 09 Mar, 2001 1 commit
    • Owen Taylor's avatar
      Remove old XIM code. · 79fed460
      Owen Taylor authored
      Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
      	gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c
      	gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
      	gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
      
      	* gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
      	gdk_im/gdk_ic.
      79fed460
  19. 03 Mar, 2001 1 commit
    • Owen Taylor's avatar
      Detectable auto-repeat - make a repeating key generate · 445e90fa
      Owen Taylor authored
      Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c
      	  gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
      
      	Detectable auto-repeat - make a repeating key generate
      	press/press/press/release instead of press/release pairs.
      
      	If we have Xkb and XkbSetDectableAutoRepeat supports
      	that, we do it that way. Otherwise, when we get
      	a release event, we check ahead with XPending to see
      	if the next key is a KeyPress with the same keycode
      	and timestamp. (Not 100% reliable, but pretty close.)
      
      Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
      
        	* gtk/gtkmain.c (gtk_propagate_event): Only do special
              special key-press grab handling for widgets within
              GtkWindows. Otherwise, fall through to normal case.
      
              This prevents key events being sent twice to GtkInvisible
              widgets, which can cause all sorts of mischief.
      445e90fa
  20. 02 Mar, 2001 1 commit
    • Havoc Pennington's avatar
      use _gdk_region_get_xrectangles() · 8860615d
      Havoc Pennington authored
      2001-03-02  Havoc Pennington  <hp@redhat.com>
      
      	* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
      	_gdk_region_get_xrectangles()
      
      	* gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
      
      	* gtk/testgtk.c (create_shapes): add test for shape_combine_region
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
      	function, contributed by Ron Steinke
      
      	* gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
      	gdk_net_wm_supports
      
      	* gdk/gdkregion-generic.c (gdk_region_get_rectangles):
      	New function, contributed by Ron Steinke
      
      	* gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function,
      	used to line up the text in the entry when using the entry for
      	editable sheet cell hacks
      
      	* gtk/testgtk.c (create_entry): test the activate_default setting
      	on GtkEntry
      
      	* gtk/gtkentry.c (gtk_entry_set_activates_default): New function to
      	cause the entry to activate the default button for a dialog when
      	activated
      	(gtk_entry_get_activates_default): new function
      8860615d
  21. 15 Dec, 2000 1 commit
    • Owen Taylor's avatar
      Add two virtualized functions gdk_drawable_get_clip_region - to get the · 6e5a269f
      Owen Taylor authored
      Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
      	Add two virtualized functions gdk_drawable_get_clip_region - to
      	get the clip region when drawing.
      
      	* gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
      	use invalidate_region.
      
      	* gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
      	region.
      
      	* acconfig.h configure.in: Check for Xft. For now, assume
      	that if Xft is found, Pango was compiled with Xft support
      	as well.
      
      	* gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add
      	gdk_colormap_query_color().
      
      	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
      	with Xft if appropriate.
      
      	* gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
      	a pangoxft context if we have XFT and the environment
      	variable GD_USE_XFT is set.
      
      	* gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
      	and also possibly an XftDraw structure.
      
              * gtk/gtkfontsel.c: Handle the case where the font from the
      	style doesn't match any of the fonts a bit better.
      
      	* gtk/testgtk.c: Add tabs between directional segments for
      	hebrew/arabic test. (Not really necessary, just a little
      	prettier.)
      6e5a269f
  22. 06 Dec, 2000 1 commit
    • Havoc Pennington's avatar
      add gdkkeys.[hc] · 36aac017
      Havoc Pennington authored
      2000-12-03  Havoc Pennington  <hp@pobox.com>
      
      * gdk/Makefile.am: add gdkkeys.[hc]
      
      * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
      files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
      
      * acconfig.h, configure.in: add checks and command line options
      for XKB
      
      * gdk/x11/gdkkeys-x11.c: Implement the above functions
      
      * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
      and group in the key event
      
      * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
      field with the low-level hardware key code, and a group
      field with the keyboard group
      
      * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
      and declare a couple globals used for keymap handling
      
      * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
      hold down Shift-Control and type a hex number to get a Unicode
      character corresponding to the hex number
      (gtk_im_context_simple_get_preedit_string): Fix cursor position
      (return bytes not chars)
      36aac017
  23. 24 Oct, 2000 1 commit
    • Havoc Pennington's avatar
      Re-enable the "find" dialog · 86b5c82a
      Havoc Pennington authored
      2000-10-23  Havoc Pennington  <hp@redhat.com>
      
              * gtk/testtext.c: Re-enable the "find" dialog
      
      	* gtk/testgtk.c: Add test for gdk_drawable_get_image
      
      	* gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
      	the arguments to gdk_draw_drawable were in the wrong order
      	(gdk_window_paint_init_bg): This function was ignoring the
      	init_region, instead of clipping to it, so the entire backing
      	pixmap was cleared on every begin_paint()
      	(gdk_window_begin_paint_region): Hmm, the same list-walking bug
      	was in here again, the loop kept using the same GtkWindowPaint
      	over and over.
      	(gdk_window_begin_paint_region): Fix a bug where we had two
      	x_offset instead of x_offset and y_offset
      
      	* gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
      	before we get the image.
      	(gdk_draw_drawable): get the composite before we draw the drawable.
      	(gdk_drawable_real_get_composite_drawable): default
      	get_composite_drawable implementation that returns the drawable
      	itself
      
      	* gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
      	get_composite_drawable virtual function
      
      	* gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
      	list-walking bug
      
      	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
      	make this work if the source drawable is a GdkDrawableImplX11
      	instead of a public drawable type. This is really broken; the
      	problem is that GdkDrawable needs a virtual method get_xid(), but
      	of course that doesn't work in practice. Enter RTTI.
      
      	Also, improve mismatched depth message.
      
      	* gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
      	GdkPixmap
      
      	* gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
      	install _gdk_x11_get_image as our implementation of get_image
      
      	* gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
      	_gdk_x11_get_image and export for use in gdkdrawable-x11.c
      
      	* gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
      	gdk_drawable_get_image
      
      	* gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
      
      	* gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
      	get_image
      
      	* gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
      	trailing semicolon after for loop
      86b5c82a
  24. 14 Sep, 2000 1 commit
    • Owen Taylor's avatar
      Remove g_convert (moved to glib) and now useless utf_to_latin1() · 39339f14
      Owen Taylor authored
      Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
      	glib) and now useless utf_to_latin1() latin1_to_utf()
      
      	* gtk/gtktextview.[ch]: Change ::move_insert and
      	::delete_text action signals to ::move and ::delete;
      	create the signals with the right enumeration type,
      	not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
      	C-v bindings, change Home, End to move to beginning/end
      	of line, Add C-Home C-End to move to beginning/end
      	of buffer. Change ::cut_text to ::cut_clipboard, etc;
      	combine ::scroll_text into ::move; use new GtkSelectionData
      	functions to simplify DND text handling.
      
      	* gtk/gtkenums.h gtk/gtktextview.h: Move movement,
      	deletion enumerations here, rename enumeration values to
      	be consistently plural.
      
      	* gtk/gtktextbuffer.c: Use new clipboard interfaces
      	for cut/copy/paste and primary selection.
      
      	* gtk/gtktextbuffer.[ch]: Remove excess time and
      	'interactive' arguments from cut/copy/paste;
      	rename cut to cut_clipboard, etc; remove
      	gtk_text_buffer_get_clipboard_contents().
      
      	* gtk/gtktextlayout.[ch]: Add
      	gtk_text_layout_move_iter_to_line_end() to move	the iter to
      	line ends.
      
      	* gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
      	Functions to set or get a UTF-8 string on the selection
      	data.
      
      	* gtk/gtkclipboard.[ch]: New, simplified selection handling
      	interfaces.
      
      	* gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
      	created widgets - one of these is useless if we don't.
      
      	* gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
      	a public function clear all targets registered for the
      	widget.
      
      	* gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
      	Never call gtk_widget_realize() - that was just asking
      	for bizarre side-effects.
      
      	* gtk/gtkselection.c (gtk_selection_owner_set): Call
      	gdk_selection_owner_set even if the widget is the
      	same so that we reliably update the timestamp on
      	the server.
      
      	* gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a
      	gdk_x11_get_server_time() function.
      
      	* gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
      	gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
      	Add some tricky filtering on serial numbers for
      	selection clear events to fix up long-standard
      	race condition FIXME's in gtkselection.c.
      
      	* gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
      	routines to convert from utf8 to compound text or
      	STRING and from a text property to UTF-8.
      
      	* gtk/gtkmain.[ch] (gtk_get_current_event_time): Add
      	a convenience function gdk_get_current_event_time().
      
      	* gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
      	and free selection_data->data properly
      39339f14
  25. 26 Jul, 2000 1 commit
  26. 20 Jun, 2000 1 commit
    • Havoc Pennington's avatar
      Make this compile without framebuffer enabled · df4fc367
      Havoc Pennington authored
      2000-06-20  Havoc Pennington  <hp@redhat.com>
      
      * modules/linux-fb/Makefile.am: Make this compile
      without framebuffer enabled
      
      * gdk/linux-fb/Makefile.am: Add conditional to not build
      framebuffer unless specified in configure
      
      * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
      the size of the target instead of source if -1 was passed for
      width/height
      
      * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix
      width/height confusion.
      
      2000-06-19  Havoc Pennington  <hp@redhat.com>
      
      * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
      GDK_DRAWABLE_XID. In the future, we probably want to make it
      faster with G_DISABLE_CHECKS turned on.
      
      2000-06-14  Havoc Pennington  <hp@redhat.com>
      
              * gdk/Makefile.am: add gdkpixmap.c
      
      	* gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
      	s/gdk_image_init/_gdk_windowing_image_init
      
      	* gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
      	ref/unref
      
      	* gdk/gdkcolor.h: make GdkColormap a GObject subclass
      
      	* gdk/gdkcompat.h: remove GdkWindowType compat, since
      	GdkWindowType is now non-deprecated;
      	change gdk_window_get_type() compat to be
      	gdk_window_get_window_type().
      
      	* gdk/gdkdnd.h: make GdkDragContext a GObject.
      
      	* gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
      	virtual GObject. Make all functions call into the vtable.
      	Move gdk_image_put() guts in here. Remove GdkDrawableType
      	and gdk_drawable_get_type(), these are now GdkWindow-specific.
      	draw_image, get_depth, get_size, set_colormap, get_colormap,
      	get_visual added to the vtable.
      
      	* gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual
      	GObject. Virtualize everything.
      	(gdk_gc_new_with_values): remove check for destroyed window,
      	because now GdkWindow::create_gc will check this.
      	(gdk_gc_set_values): New function to set GC values, this
      	was already implemented but wasn't in the header
      
      	* gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
      
      	* gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
      	_gdk_window_draw_image(), remove _gdk_windowing_window_class,
      	remove _gdk_window_class; add _gdk_window_impl_get_type() and
      	_gdk_pixmap_impl_get_type(). Rename gdk_window_init to
      	_gdk_windowing_window_init, rename gdk_image_init to
      	_gdk_windowing_image_init.
      
      	* gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
      	(gdk_draw_layout): Remove check for destroyed window,
      	because all the drawable methods already check it.
      
      	* gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
      	Add gdkpixmap.c which contains implementation of GdkDrawable
      	virtual table (by chaining to a platform-specific implementation
      	object).
      
      	* gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP,
      	GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
      	GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
      	GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
      	GdkColormapPrivate.
      
      	* gdk/gdktypes.h: #include <glib-object.h>
      
      	* gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
      	Move most functionality to platform-specific implementation
      	object. GdkWindow itself now handles the backing store, then
      	chains to the platform-specific implementation.
      	(gdk_window_get_window_type): return GdkWindowType of the window.
      	(gdk_window_peek_children): New routine, returns the children of
      	a GdkWindow
      	(gdk_window_get_children): Was in X11-specific code and did
      	XQueryTree. Changed to simply return a copy of window->children;
      	so it can go in cross-platform code.
      
      	* gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
      
      	* gdk/x11/gdkcolor-x11.c: implement X-specific parts of
      	GdkColormap; just changed to use the new private data instead
      	of casting to GdkColormapPrivate.
      
      	* gdk/x11/gdkcursor-x11.c: added a couple typechecks to
      	gdk_cursor_new().
      
      	* gdk/x11/gdkdnd-x11.c: Change the way we access private fields
      	(private data member in the GObject).
      	(xdnd_manager_source_filter): Function had broken
      	error handling, fix it (use gdk_error_trap_push).
      
      	* gdk/x11/gdkdrawable-x11.c: This file now implements
      	a base class for GdkWindowImplX11/GdkPixmapImplX11. This
      	base class is purely for the convenience of the X port,
      	and not part of the interface to cross-platform GDK.
      
      	* gdk/x11/gdkevents-x11.c: Reflect various renamings.
      
      	* gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
      	specific to X, and returned by the create_gc virtual method
      	of GdkDrawableImplX11.
      	(gdk_x11_gc_set_dashes): Change this to take an array of gint8
      	rather than gchar, this was also changed in the GdkGC vtable.
      	(gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
      	mask is 0, return immediately, instead of checking every flag.
      	This is faster, and keeps us from segfaulting if values is NULL
      	and the mask contains some nonzero flags.
      
      	* gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
      	GdkWindow.
      
      	* gdk/x11/gdkglobals-x11.c: change type of grab window, since
      	GdkWindowPrivate is gone.
      
      	* gdk/x11/gdkim-x11.c: rename things that got renamed.
      
      	* gdk/x11/gdkimage-x11.c: implement in terms of GObject, and
      	remove the image_put stuff that got transferred to GdkDrawable.
      
      	* gdk/x11/gdkinput.c: renamings
      
      	* gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
      
      	* gdk/x11/gdkpixmap-x11.c: GObject conversion
      
      	* gdk/x11/gdkprivate-x11.h: indentation fixes
      
      	* gdk/x11/gdkproperty-x11.c: renamings
      
      	* gdk/x11/gdkselection-x11.c: renamings
      
      	* gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now
      	implements the platform-specific "impl" object.
      	Moved gdk_window_get_children to gdk/gdkwindow.c
      
      	* gdk/x11/gdkx.h: Remove all the private structs and private datas
      	that no longer exist. Add declaration of GdkGCX11 object here.
      	Fix all the macros to still work.
      
      	* gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
      	GdkDragContext from the boxed types since they are now GObjects.
      
      	* gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
      	moved xthickness/ythickness into the instance. GtkStyleClass
      	functions are now in the standard vtable for GtkStyle, so you have
      	to create a GObject subclass to write a theme engine.
      	(gtk_style_copy): fixed a leaked PangoFontDescription
      	(gtk_style_init): renamed gtk_style_realize, so gtk_style_init
      	can be the standard GObject function.
      
      	* Throughout GTK:
      	s/style->klass->[xy]thickness/style->[xy]thickness
      	s/pango_layout_unref/g_object_unref/
      
      	* gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
      
      	* gtk/gtksocket.c: Use gdk_window_get_user_data() instead of
      	accessing GDK internals.
      
      	* gtk/gtkwidget.c: Use gdk_window_peek_children() instead of
      	accessing GDK internals.
      df4fc367
  27. 28 Mar, 2000 1 commit
  28. 08 Nov, 1999 1 commit
    • Owen Taylor's avatar
      Move all X specific code into the x11/ directory. Aside from shuffling · e9b6bfcc
      Owen Taylor authored
      Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
      
      	Move all X specific code into the x11/ directory.
      	Aside from shuffling things around, did the following:
      
             * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
      	 gdk_arg_context_* - a simple argument parsing system
      	 in the style of popt.
      
             * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
      	 gdk/x11/gdkprivate-x11.h:
      	 Remove X specific stuff from GdkDrawable and GdkWindowPrivate -
      	 add ->klass and ->klass_data fields. The klass_data
      	 field points to an auxilliary structure that is
      	 windowing system dependent.
      
             * gdk/gdkfont.c: Make most of the measurement functions
      	 simply wrappers around gdk_text_extents().
      
             * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a
      	 _gdk_font_strlen() function that hides the weird
      	 behavior in gtk+-1.[02] where a string is interpreted
      	 differently for 8-bit and 16-bit fonts.
      
             * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
      	 to store common code for synthesizing double/triple
      	 press events.
      
             * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
      	 Make all the function that modify an existing GC
      	 simply wrappers around gdk_gc_set_values().
      
             * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
      	 for throwing out later.
      
             * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
      	 GdkImagePrivate and GdkColormapPrivate to have a
      	 windowing system dependent part (GdkFontPrivateX etc.)
      	 that "derives" from the system-independent part.
      
             * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
      	 Got rid of the included-source-files for XInput in
      	 favor of automake conditionals. (Which didn't exist
      	 when XInput support was originally added.)
      
             * gdk/gdkrgb.c: Remove the visual id from the debugging
      	 statements since that is X11 specific; print out
      	 type/depth info instead.
      e9b6bfcc