1. 18 Feb, 2004 1 commit
    • Soeren Sandmann's avatar
      GC caching, bug #125645 (based on patch by Brian Cameron) · 1c51c486
      Soeren Sandmann authored
      Wed Feb 18 01:44:59 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
      
      	GC caching, bug #125645 (based on patch by Brian Cameron)
      
      	* gdk/gdkscreen.h (struct _GdkScreen): Add GC cache
      	* gdk/gdkscreen.c (gdk_screen_dispose): New function. Unref the
      	cached GC's here.
      	* gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): New function to
      	get a scratch gc.
      	* gdk/gdkinternals.h: Declare the function here
      
      	* gdk/gdkdraw.c (gdk_drawable_real_draw_pixbuf): Use
      	_gdk_drawable_get_scratch_gc() instead of creating a new GC.
      	* gdk/x11/gdkgeometry-x11.c (gdk_window_copy_area_scroll): same
      	* gdk/x11/gdkdrawable-x11.c (draw_with_images): same
      	* gdk/gdkwindow.c (gdk_window_get_composite_drawable): same
      	* gdk/gdkwindow.c (gdk_window_end_paint): same
      	* gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf): same
      	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_threshold_alpha): same
      	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_pixmap_and_mask_for_colormap): same
      1c51c486
  2. 31 Oct, 2002 1 commit
    • Owen Taylor's avatar
      Add a --screen option for setting the default screen. (Based on a patch · 550bf181
      Owen Taylor authored
      Thu Oct 31 12:40:39 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/gdk.[ch] gdk/gdkglobals.c gdk/gdkinternals.h
              gdk/{x11,win32,linux-fb}/gdkscreen-{x11,win32,linux-fb}.c:
              Add a --screen option for setting the default screen.
              (Based on a patch from Balamurali Viswanathan, #81145)
      
              * gdk/gdk.c gdkdisplay.h gtk/gtkmain.c: Add
              gdk_display_open_default_libgtk_only(), so gtk_init_check()
              and gdk_init_check() can share the same behavior w.r.t.
              --screen.
      
              * gdk/gdk.[ch]: Make gdk_get_display_arg_name() G_CONST_RETURN.
      
              * gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
              Suppress a spurious warning.
      
              * tests/testgtkrc: Remove someleft-over commented out
              includes that could be confusing.
      550bf181
  3. 07 Oct, 2002 1 commit
    • Owen Taylor's avatar
      - Replace GdkPointerHooks with a multihead-safe GdkDisplayPointerHooks, · 253458ec
      Owen Taylor authored
      Mon Oct  7 15:10:00 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/gdkdisplay.[ch] gdk/gdkinternals.h
              gdk/gdkwindow.[ch] gdk/linux-fb/gdkwindow-fb.c
              gdk/win32/gdkwindow-win32.c gdk/x11/gdkwindow-x11.c:
      
              - Replace GdkPointerHooks with a multihead-safe
                GdkDisplayPointerHooks, leave GdkPointerHooks
                around for singlehead.
              - Add gdk_display_get_pointer() to get the pointer
                location with the screen it is on.
      
              * gdk/gdk.def gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch]:
              Change gdk_screen_get_window_at_pointer() to
              gdk_display_get_window_at_pointer().
      
              * gtk/gtktreeview.c demos/gtk-demo/changedisplay.c
              tests/testgtk.c: Use gdk_display_get_window_at_pointer(),
              not gdk_screen_get_window_at_pointer().
      
              * gtk/gtkcolorsel.c: Fix grabbing color to be multihead
              safe.
      
              * gtk/gtkwidget.c: Allow gtk_widget_push_colormap (NULL).
              since it is useful for writing code that doesn't
              know the dcurrent state but needs a clean colormap.
      
              * gtk/gtkrc.c: When loading the settings for a particular
              screen, only reset toplevels on that screen.
      
              * gtk/gtkiconfactory.h: Fix #ifdef GTK_MULTIHEAD_SAFE
              that should have been #ifndef GTK_MULTIHEAD_SAFE.
      253458ec
  4. 04 Oct, 2002 1 commit
    • Owen Taylor's avatar
      Add a check for the Xrandr extension. · 8555f427
      Owen Taylor authored
      Fri Oct  4 11:43:47 2002  Owen Taylor  <otaylor@redhat.com>
      
              * configure.in: Add a check for the Xrandr extension.
      
              * gdk/gdkscreen.[ch]: Add a size-changed signal.
      
              * gdk/x11/gdkscreen-x11.[ch]: Patch from Keith packard
              to hook up ConfigureNotify events on the root window
              to the ::size-changed signal. (#94560)
      
              * gtk/gtkimcontextsimple.c: Warning fixes
      8555f427
  5. 25 Sep, 2002 1 commit
    • Owen Taylor's avatar
      Add gdk_screen_make_display_name(), which returns a display name that can · d41f210d
      Owen Taylor authored
      Wed Sep 25 10:51:24 2002  Owen Taylor  <otaylor@redhat.com>
              * gdk/gdkscreen.h gdk/{x11,win32,linux-fb}/gdkscreen-*.c:
              Add gdk_screen_make_display_name(), which returns a
              display name that can be used to open a display with the
              screen as the default (Based on patch from Mark McLoughlin,
              #86013)
      d41f210d
  6. 01 Aug, 2002 1 commit
    • Owen Taylor's avatar
      Start implementing display/screen closing scheme; keep a flag for whether · e5ae081e
      Owen Taylor authored
      Thu Aug  1 11:26:03 2002  Owen Taylor  <otaylor@redhat.com>
      
      	* gdk/gdkdisplay.[ch] gdk/gdkscreen.[ch] gdkinternals.h:
      	Start implementing display/screen closing scheme; keep a
      	flag for whether displays and screens are closed,
      	call g_object_run_dispose(). Remove public gdk_screen_close().
      
      	* gdk/x11/gdkdisplay-x11.c gdk/x11/gdkscreen-x11.c: Add
      	dispose() methods; move appropriate parts of the finalize
      	there.
      
      	* gdk/x11/gdkcolor-x11.c gdk/x11/gdkimage-x11.c
      	gdk/x11/gdkmain-x11.c gdk/x11/gdkpango-x11.c
      	gdk/x11/gdkpixmap-x11.c gdk/x11/gdkproperty-x11.c
      	gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.c:
      	Start of making everything correctly ignore operations
      	when a display has been closed.
      
      	* gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
      	Handle decorations == NULL.
      
      	* gdk/x11/gdkcolor-x11.c (gdk_colormap_remove):
      	Remove unnecessary hash table creation.
      
      	* gdk/x11/gdkinput.c gdk/x11/gdkinput-x11.c gdk/win32/gdkinput.c
      	Fix up gdk_device_get_history - handle events, n_events == NULL,
      	etc.
      
      	* gdk/x11/gdkproperty-x11.c (gdk_property_get):
      	Handle failure better.
      
      	* gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
      	Handle failure better, handle data == NULL, move docs
      	here, remove an excess round trip by asking for
      	all selection data at once.
      
      	* gdk/gdkselection.c gdk/win32/{x11,win32}/gdkselection-{x11,win32}.c
      	  gdk/{x11,win32}/gdkmain-{x11,win32}.c	gdk/gdkdisplay.c: Move
      	gdk_text_property_to_text_list(), gdk_string_to_compound_text(),
      	gdk_display_set_sm_client_id() to display-independent part of GDK.
      
      	* gdk/Makefile.am (gdk_c_sources): Sort gdkdisplay/screen.[ch]
      	into the right place.
      e5ae081e
  7. 20 Jun, 2002 1 commit
    • Owen Taylor's avatar
      Renames: · 28c2b0a3
      Owen Taylor authored
      Thu Jun 20 19:41:09 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/gdkdisplay.h gdk/gdkscreen.h gdk/**.c gtk/*.c
              tests/*.c: Renames:
      
               gdk_get_default_display => gdk_display_get_default
               gdk_get_default_screen  => gdk_screen_get_default
               gdk_open_display        => gdk_display_open
      28c2b0a3
  8. 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
  9. 02 May, 2002 2 commits
    • Erwann Chenede -'s avatar
      make gdk_screen_get_monitor_at_point cross platform instead of backend · 1258d179
      Erwann Chenede - authored
      2002-05-02 Erwann Chenede - <erwann.chenede@sun.com>
      
        * gdk/gdkscreen.c (gdk_screen_get_monitor_at_point):
        * gdk/gdkscreen.h :
        * gdk/x11/gdkscreen-x11.c :
        make gdk_screen_get_monitor_at_point cross platform instead
        of backend dependant. #80480
        * tests/testxinerama.c (main):
        changed the warning message.
      1258d179
    • Erwann Chenede -'s avatar
      removed unneeded ref. #79977 · 94076bc3
      Erwann Chenede - authored
      2002-05-02 Erwann Chenede - <erwann.chenede@sun.com>
      
        * gdk/x11/gdkscreen-x11.c (gdk_screen_x11_get_root_window):
        removed unneeded ref. #79977
        * gdk/x11/gdkscreen-x11.[hc] (gdk_screen_use_virtual_screen):
        * gdk/x11/gdkdisplay-x11.c (check_*_xinerama):
        removed gdk_screen_use_virtual_screen function and
        use_virtual_screen member variable from GdkScreenX11. #79957
      94076bc3
  10. 01 May, 2002 1 commit
    • Erwann Chenede -'s avatar
      remove virtualization and made it cross platform. fix #79961 fixed · 2325caf9
      Erwann Chenede - authored
      2002-05-01 Erwann Chenede - <erwann.chenede@sun.com>
      
        * gdk/gdkscreen.[hc] (gdk_screen_x11_get_monitor_at_window):
          remove virtualization and made it cross platform. fix #79961
        * gdk/x11/gdkdisplay-x11.c (check_solaris_xinerama):
          fixed initialization bugs.
        * gdk/x11/gdkscreen-x11.[hc] (gdk_screen_get_monitor_geometry):
        * tests/testxinerama.c:
        * gtk/gtkwindow.c (gtk_window_compute_configure_request):
        * gtk/gtkmenu.c (gtk_menu_position):
          take a GdkRectangle argument instead of returning
          a GdkRectangle * and propagated the changes. fix #79974
      2325caf9
  11. 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