Commit Graph

77 Commits

Author SHA1 Message Date
Alexander Larsson
1ad01acbf2 Add _gdk_drawable_get_subwindow_scratch_gc as a way to get cached gcs with GDK_INCLUDE_INFERIORS 2009-04-02 10:15:18 +02:00
Alexander Larsson
0d540e935b Create _gdk_drawable_create_cairo_surface to ugly typechecking 2009-04-02 10:15:15 +02:00
Alexander Larsson
891440d288 The double get_composite_drawable case can happen for pixmap targets too, so move the code to gdk_draw_drawable 2009-04-02 10:14:07 +02:00
Alexander Larsson
eabac453e6 Initial client-side-windows work
The history before this was kind of twisted as several different
approaches were tested, so that was all squashed into this initial
commit to hide the uninteresting changes and files that were later
removed.
2009-04-02 10:14:01 +02:00
Michael Natterer
6df89b0ad8 gdk/gdkdraw.c gdk/gdkimage.c gdk/gdkscreen.c replace assertions for obj !=
2008-10-21  Michael Natterer  <mitch@imendio.com>

	* gdk/gdkdraw.c
	* gdk/gdkimage.c
	* gdk/gdkscreen.c
	* gdk/gdkwindow.c: replace assertions for obj != NULL by
	GDK_IS_OBJ(), remove redundant != NULL checks when there is
	already a type check, add some g_return_if_fail() that were
	missing entirely, fix some broken indentation and spacing.


svn path=/trunk/; revision=21695
2008-10-21 21:42:39 +00:00
Cody Russell
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
Cody Russell
fce9c8b7d4 Practically everything changed.
2008-06-30  Cody Russell  <bratsche@gnome.org>

        * Practically everything changed.

        Change	all references	of GIMP	Toolkit	(and variations	of it)
        to GTK+	Toolkit, showing no mercy at all to our	beloved
	ancestry. (#540529)


svn path=/trunk/; revision=20709
2008-06-30 23:01:56 +00:00
Johan Dahlin
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +00:00
Michael Natterer
8243e3d415 gdk/gdkdisplay.h gdk/gdkdrawable.h gdk/gdkevents.h gdk/gdkpango.h
2008-01-15  Michael Natterer  <mitch@imendio.com>

	* gdk/gdkdisplay.h
	* gdk/gdkdrawable.h
	* gdk/gdkevents.h
	* gdk/gdkpango.h
	* gdk/gdkregion.h
	* gdk/gdkrgb.h
	* gdk/gdkwindow.h: made more struct pointer and array parameters
	const. GDK should now be constified as far as possible without
	breaking source compatibility. Includes some minor cleanup like
	indentation and s/nfoo/n_foo/ (bug #508544).

	* gdk/gdkdisplay.c
	* gdk/gdkdraw.c
	* gdk/gdkevents.c
	* gdk/gdkpango.c
	* gdk/gdkregion-generic.c
	* gdk/gdkrgb.c
	* gdk/directfb/gdkdisplay-directfb.c
	* gdk/directfb/gdkwindow-directfb.c
	* gdk/quartz/gdkdisplay-quartz.c
	* gdk/quartz/gdkwindow-quartz.c
	* gdk/win32/gdkdisplay-win32.c
	* gdk/win32/gdkwindow-win32.c
	* gdk/x11/gdkdisplay-x11.c
	* gdk/x11/gdkwindow-x11.c: changed accordingly.


svn path=/trunk/; revision=19372
2008-01-15 15:32:37 +00:00
Brian Cameron
94dcec33c1 Add Sun mediaLib support so that hardware acceleration via mediaLib is
2007-05-16  Brian Cameron  <brian.cameron@sun.com>

        * acconfig.h, configure.in, gdk/Makefile.am, gdkprivate.h, gdkrgb.c,
          gdkdraw.c, gdk-pixbuf/gdk-pixbuf-scale.c,
          gdk-pixbuf/pixops/Makefile.am, gdk-pixbuf/pixops/pixops.[ch],
          gdk-pixbuf/pixops/timescale.c:  Add Sun mediaLib support so that
          hardware acceleration via mediaLib is enabled if mediaLib is
          detected via configure.  Enhancement request #344813.  I was given
          permission to commit in the bug report by Matthias Clasen.
        * gdk/medialib.[ch]: New files added for mediaLib support.
        * docs/reference/gdk-pixbuf/tmpl/scaling.sgml,
          docs/reference/gdk/tmpl/rgb.sgml, gdk/gdkdraw.c:  Add docs for
          mediaLib support.

svn path=/trunk/; revision=17855
2007-05-16 01:35:51 +00:00
Behdad Esfahbod
59325686f2 Fix wrong cairo path generation. (#437879, Eddie C. Dost)
2007-05-12  Behdad Esfahbod  <behdad@gnome.org>

        * gdk/gdkdraw.c (gdk_draw_trapezoids): Fix wrong cairo path 
        generation.  (#437879, Eddie C. Dost)


svn path=/trunk/; revision=17831
2007-05-12 18:52:36 +00:00
Matthias Clasen
8a1283ac0e Don't call into the backend if the region is empty. (#437081, Sven
2007-05-10  Matthias Clasen <mclasen@redhat.com>

        * gdk/gdkdraw.c (gdk_draw_pixbuf): Don't call into
        the backend if the region is empty.  (#437081, Sven Neumann)



svn path=/trunk/; revision=17813
2007-05-10 19:23:30 +00:00
Matthias Clasen
f22387f042 Remove extraneous ; 2006-05-14 03:58:06 +00:00
Matthias Clasen
10f0736ac7 Use G_DEFINE_TYPE.
2006-04-04  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkdisplay.c:
	* gdk/gdkdisplaymanager.c:
	* gdk/gdkdraw.c:
	* gdk/gdkkeys.c:
	* gdk/gdkpixmap.c:
	* gdk/gdkscreen.c:
	* gdk/gdkwindow.c:
	* gdk/x11/gdkcolor-x11.c:
	* gdk/x11/gdkdisplay-x11.c:
	* gdk/x11/gdkdnd-x11.c:
	* gdk/x11/gdkdrawable-x11.c:
	* gdk/x11/gdkgc-x11.c:
	* gdk/x11/gdkimage-x11.c:
	* gdk/x11/gdkinput.c:
	* gdk/x11/gdkpixmap-x11.c:
	* gdk/x11/gdkscreen-x11.c:
	* gdk/x11/gdkwindow-x11.c: Use G_DEFINE_TYPE.

	* gdk/x11/gdkcolor-x11.c:
	* gdk/x11/gdkdnd-x11.c:
	* gdk/x11/gdkimage-x11.c: Use instance private data.
2006-04-04 14:02:03 +00:00
Matthias Clasen
3c9432eeb6 Add a gc_changed argument, and avoid setting the clip region if the gc has
2006-02-19  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkgc.c (_gdk_gc_update_context): Add a gc_changed
	argument, and avoid setting the clip region if the gc
	has not changed.

	* gdk/gdkgc.c: Update all callers.

	* gdk/gdkpango.c (get_cairo_context): Avoid updating the
	context if nothing changed.
2006-02-20 17:17:09 +00:00
Matthias Clasen
476e138db0 Intern type names before registering the type to avoid unnecessary copies.
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_get_type):
	* gdk/x11/gdkscreen-x11.c (_gdk_screen_x11_get_type):
	* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_impl_x11_get_type):
	* gdk/x11/gdkkeys-x11.c (gdk_keymap_x11_get_type):
	* gdk/x11/gdkinput.c (gdk_device_get_type):
	* gdk/x11/gdkimage-x11.c (gdk_image_get_type):
	* gdk/x11/gdkgc-x11.c (_gdk_gc_x11_get_type):
	* gdk/x11/gdkdrawable-x11.c (_gdk_drawable_impl_x11_get_type):
	* gdk/x11/gdkdnd-x11.c (gdk_drag_context_get_type):
	* gdk/x11/gdkdisplay-x11.c (_gdk_display_x11_get_type):
	* gdk/x11/gdkcolor-x11.c (gdk_colormap_get_type):
	* gdk/gdkwindow.c (gdk_window_object_get_type):
	* gdk/gdkscreen.c (gdk_screen_get_type):
	* gdk/gdkrectangle.c (gdk_rectangle_get_type):
	* gdk/gdkpixmap.c (gdk_pixmap_get_type):
	* gdk/gdkkeys.c (gdk_keymap_get_type):
	* gdk/gdkfont.c (gdk_font_get_type):
	* gdk/gdkevents.c (gdk_event_get_type):
	* gdk/gdkdraw.c (gdk_drawable_get_type):
	* gdk/gdkdisplaymanager.c (gdk_display_manager_get_type):
	* gdk/gdkdisplay.c (gdk_display_get_type):
	* gdk/gdkcursor.c (gdk_cursor_get_type):
	* gdk/gdkcolor.c (gdk_color_get_type): Intern type names before
	registering the type to avoid unnecessary copies.
2005-08-31 15:14:26 +00:00
Matthias Clasen
d585120eeb 2.7.3 2005-07-15 20:33:47 +00:00
Manish Singh
4849c70543 gdk/gdkdraw.c #include gdkcairo.h for gdk_cairo_create() declaration.
Sat May 14 00:07:46 2005  Manish Singh  <yosh@gimp.org>

        * gdk/gdkdraw.c
        * gdk/gdkpango.c: #include gdkcairo.h for gdk_cairo_create()
        declaration.

        * gtk/gtkiconview.c (gtk_icon_view_create_drag_icon): actually
        call gdk_cairo_set_source_color() with a color.

        * gtk/gtkimage.c (gtk_image_expose): remove unused stock_id variable.

        * tests/testiconview.c (main): cast args of drag functions to the
        appropriate type.
2005-05-14 07:19:48 +00:00
Owen Taylor
dda40ca71a Use a GtkAlignment rather than a GtkDrawingArea to draw the swatch in to
2005-05-11  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorbutton.c: Use a GtkAlignment rather than a GtkDrawingArea
	to draw the swatch in to avoid having an extraneous window.

	* gtk/gtkcolorsel.c (color_sample_draw_sample): Actually se tthe
	color when !has_opacity.

2005-05-10  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkcairo.[ch] gdk/gdkcolor.[ch] gdk/Makefile.am: Add source
	files for Cairo convenience functionality.

	* gdk/gdkcairo.h (gdk_cairo_rectangle, gdk_cairo_region): Add a
	convenience functions to add GdkRectangle, GdkRegion to a cairo path.

	* gdk/gdkwindow.c gdk/gdkgc.c gtk/gtkcolorsel.c gtk/gtkiconview.c
	gtk/gtkstyle.c: Use gdk_cairo_rectangle/region().

	* gdk/gdkcairo.[ch] gdk/gdkdrawable.h gdk/gdkdraw.c: Rename
	gdk_drawable_create_cairo_context() to gdk_cairo_create().

	* gdk/gdkcairo.c gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c:
	Rename gdk_pixbuf_set_as_cairo_source() to
	gdk_cairo_set_source_pixbuf().

	* gdk/gdkdraw.c gdk/gdkpango.c gtk/gtkcolorsel.c gtk/gtkhruler.c
	gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkstyle.c gtk/gtkvruler.c:
	Adjust for renames.

	* gdk/gdk.symbols: Update.

	* gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): Fix
	coordinate system problem that was causing the wrong portions
	to be invalidated.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_render)
	gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render)
	gtk/gtkcellrendererprogress.c (gtk_cell_renderer_progress_render)
	gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render)
	gtk/gtkcellview.c (gtk_cell_view_expose)
	gtk/gtkdnd.c (gtk_drag_highlight_expose)
	gtk/gtkentry.c (gtk_entry_draw_text)
	gtk/gtktextview.c (text_window_invalidate_rect): Some cairoization.

	* gtk/gtkcalendar.[ch]: Beat into something roughly resembling
	GTK+ style ... use instance-private data and standard names for
	private structure, etc. Move function docs inline.

	* gtk/gtkcalendar.[ch]: Switch to drawing everything in
	expose. Switch drawing to Cairo.

	* gtk/gtkcalendar.c (gtk_calendar_freeze): Deprecate
	gtk_calendar_freeze/thaw
2005-05-11 19:16:19 +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
Owen Taylor
274e49f37e Change prototype to match cairo_set_source_surface().
2005-05-07  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkpixbuf-render.c gdk/gdkpixbuf.h (gdk_pixbuf_set_as_cairo_source):
        Change prototype to match cairo_set_source_surface().

        * gdk/gdkdraw.c gdk/gdkgc.c gdk/gdkpixbuf-render.c gdk/gdkwindow.c
        gtk/gtkhsv.c tests/testcairo.c.
2005-05-07 18:51:18 +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
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
Matthias Clasen
2a2d769d42 Make PLT-reduction work with gcc4, and don't include everything in
2005-03-15  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in gdkalias.h:

	* gdk/gdk.symbols: Group symbols by header and source file.
	* gdk/makegdkalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegdkalias.pl -def
	* gdk/Makefile.am (gdkaliasdef.c): Add a rule to generate this
	file.
	* gdk/*.c, gdk/x11/*.c: Include gdkalias.h after the other
	headers, include gdkaliasdef.c at the bottom.
2005-03-16 03:17:27 +00:00
Owen Taylor
93344f6dfe Add gdk_drawable_set_cairo_target().
2005-02-03  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkdrawable.[ch] gdkpixmap.c gdkwindow.c: Add
        gdk_drawable_set_cairo_target().

        * tests/testtreeflow.c (enum): Use grand not rand as a variable
        name because one of the cairo headers is pulling in stdlib.h.

        * tests/testcairo.c tests/Makefile.am: Add a simple cairo based
        example.

        * configure.in: Bump release to 2.7.0, gtk_binary_version to 2.7.0.

        * Require libpangocairo for all backends.
2005-02-03 23:29:02 +00:00
Owen Taylor
3d737ee8ba Add GdkPangoRenderer, a subclass of PangoRenderer targeting GDK drawables.
Sat Nov 20 15:13:51 2004  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkpango.[ch]: Add GdkPangoRenderer, a subclass of
	PangoRenderer targeting GDK drawables. Use to implement the old
	gdk_draw_layout() and friends.

	* gdk/gdkdraw.c gdk/gdkdrawable.h gdk/gdkwindow.c gdk/gdkpixmap.c:
	Add gdk_draw_glyphs_transformed() gdk_draw_trapezoids() and
	the corresponding members of GdkDrawableClass. Add a fallback
	implementation of gdk_draw_trapezoids() in terms of pixbufs.

	* gdk/gdkwindowing.h gdk/x11/gdkg-x11.h: Add
	_gdk_windowing_gc_get_foreground() to enable the fallback
	trapezoid implementation.

	* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkdisplay-x11.h: Implement
	draw_glyph_transformed,	draw_trapezoids.

	* gdk/x11/gdkdrawable-x11.[ch]: Add
	_gdk_x11_drawable_draw_xtrapezoids, _gdk_x11_drawable_draw_xft_glyphs
	for use of GdkX11Renderer.

	* gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Implement
	GDK_TILED, GDK_STIPPLED, GDK_OPAQUE_STIPPLED in the RENDER codepath.

	* gdk/gdkpango-x11.c: Add GdkX11Renderer... a subclass of
	PangoXftRenderer that does tiles/stipples and fallback rendering
	of trapezoids without the RENDER extension.

	* gdk/gdkpango-x11.c gdk/x11/gdkscreen-x11.[ch] _gdk_x11_renderer_get:
	Add _gdk_x11_renderer_get() to get a singleton GdkX11Renderer
	for the screen.

	* gdk/x11/gdkdrawable-x11.c (get_impl_drawable): Fix a None/NULL
	confusion.

	* gtk/gtklabel.[ch] gtk/gtk.symbols: Add gtk_label_set/get_angle(),
	and an ::angle property.

	* gtk/gtklabel.c: Remove #if 0'd dead code gtk_label_paint_word().

	* gtk/gtktextdisplay.c: Switch to using a GtkTextRenderer subclass
	of GdkPangoRenderer for drawing.

	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Switch to using
	gtk_attr_shape_new_with_data() to store backreferences to
	embedded pixmaps and widgets. Leave line_display->shaped_objects
	around for backwords compatibility.

	* gdk/gdkpango.[ch] (gdk_pango_context_set_colormap): Describe
	as deprecated, remove implementation.

	* gtk/gtkwidget.c (gtk_widget_create_pango_context): Remove
	call to gdk_pango_context_set_colormap.

	* demos/gtk-demo/Makefile.am demos/gtk-demo/rotated_text.c: Add
	a demo showing drawing rotated text.

	* tests/testgtk.c: Add a rotated-label test, and also a rotated
	drawing test (differs from demos/gtk-demo/rotated_text by also
	using a tile)
2004-11-21 16:24:01 +00:00
Matthias Clasen
0742ff3ae3 Add hidden aliases for exported symbols which are used internally in order
Mon Aug  9 15:41:17 2004  Matthias Clasen  <maclas@gmx.de>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT
	entries.  (#145519, Arjan van de Ven)

	* gdk/Makefile.am: Add rules to generate gdk.def and
	gdkalias.h from gdk.symbols, and make make check check
	the abi with abicheck.sh.

	* gdk/gdk.symbols: New file. Definition of the GDK ABI.
	The file can be processed by cpp to filter out certain
	subsets of symbols.

	* gdk/abicheck.sh: New file. Script to check the actually
	symbols exported from libgdk-x11.2.0.so against the symbols
	found in gdk.symbols.

	* gdk/makegdkalias.pl: New file. Perl script to generate the
	header containing the alias definitions for internally used
	exported symbols from a list of symbols.

	* gdk/*.c, gdk/x11/*.c: Include gdkalias.h
2004-08-09 20:14:43 +00:00
Matthias Clasen
08580edf16 Use depth - 1 to index the cached gcs, not depth. (#139494)
Thu Apr 29 01:09:50 2004  Matthias Clasen  <maclas@gmx.de>

	* gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): Use depth - 1
	to index the cached gcs, not depth.  (#139494)
2004-04-29 05:14:52 +00:00
Matthias Clasen
65c0f1460a Docs typo fix.
2004-04-28  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): Docs typo fix.
2004-04-28 20:02:13 +00:00
Matthias Clasen
93853344ce Small doc improvement.
2004-04-23  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdkdraw.c (gdk_draw_drawable): Small doc improvement.
2004-04-23 19:39:34 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136082 and #135265, patch by Morten Welinder.

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
Soeren Sandmann
b69a67119c Use a scratch GC in the case where the background is a solid color.
Wed Feb 18 17:53:27 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/gdkwindow.c (gdk_window_get_bg_gc): Use a scratch GC in the
	case where the background is a solid color.
	(gdk_window_clear_backing_rect): Reset the clip region after use.

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Go
	back to using a scratch GC. Pointed out by Owen Taylor

	* gdk/gdkdraw.c (gdk_drawable_real_draw_pixbuf): Only use a
	scratch GC if the passed-in one is NULL
2004-02-18 17:03:46 +00:00
Soeren Sandmann
1c51c48606 GC caching, bug #125645 (based on patch by Brian Cameron)
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
2004-02-18 00:59:14 +00:00
Owen Taylor
42c1eb9f39 Revert last commit, please don't commit patches without approval, this
Mon Feb 16 19:13:21 2004  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkdraw.c: Revert last commit, please don't commit patches
        without approval, this isn't the right way to do it.
2004-02-17 00:16:42 +00:00
David Odin
00a6e3be92 don't try to draw more than 32767 segments at a time, since XDrawSegments
* gdk/gdkdraw.c (gdk_draw_segments): don't try to draw more than 32767
	segments at a time, since XDrawSegments cannot handle more than this.

	fixes bug #122026.
2004-02-16 22:59:26 +00:00
Matthias Clasen
e0fe66ee83 Document that the clip mask of gc is ignored. (#101983, Sebastian Rittau)
Sat Dec 13 23:37:50 2003  Matthias Clasen  <maclas@gmx.de>

	* gdk/gdkdraw.c (gdk_draw_pixbuf): Document that the clip mask
	of gc is ignored.  (#101983, Sebastian Rittau)
2003-12-13 22:45:25 +00:00
Matthias Clasen
d3b444a4c5 Fix for #119555, Peter Zelesny:
Tue Nov 18 00:12:55 2003  Matthias Clasen  <maclas@gmx.de>

	Fix for #119555, Peter Zelesny:

	* gdk/gdkdrawable.h: Declare gdk_drawable_copy_to_image.
	* gdk/gdkdraw.c (gdk_drawable_copy_to_image): Make public
	by removing the _ prefix.
	* gdk/gdkdraw.c, gdk/gdkpixbuf-drawable.c, gdk/gdkpixmap.c,
	gdk/gdkwindow.c: Adjust all callers.
2003-11-17 23:16:49 +00:00
Matthias Clasen
df1452102e Add deprecation notes. (#121955)
2003-09-12  Matthias Clasen  <maclas@gmx.de>

	* gdk/gdkdraw.c (gdk_draw_string, gdk_draw_text)
	(gdk_draw_text_wc): Add deprecation notes.  (#121955)
2003-09-11 22:09:38 +00:00
Matthias Clasen
7cb3f99fc7 Document 2.2 API additions. 2002-11-28 00:33:17 +00:00
Soeren Sandmann
b1165617b7 docs/reference/gdk/tmpl/dnd.sgml docs/reference/gdk/tmpl/drawing.sgml
Fri Nov  8 20:14:52 2002  Soeren Sandmann  <sandmann@daimi.au.dk>

	* docs/reference/gdk/tmpl/dnd.sgml
	docs/reference/gdk/tmpl/drawing.sgml
	docs/reference/gdk/tmpl/gdk-unused.sgml
	docs/reference/gdk/tmpl/gdkdisplay.sgml
	docs/reference/gdk/tmpl/general.sgml
	docs/reference/gdk/tmpl/input_devices.sgml
	docs/reference/gdk/tmpl/selections.sgml
	docs/reference/gtk/tmpl/gtkcellrenderer.sgml
	docs/reference/gtk/tmpl/gtkcurve.sgml
	docs/reference/gtk/tmpl/gtkdnd.sgml
	docs/reference/gtk/tmpl/gtkitemfactory.sgml
	docs/reference/gtk/tmpl/gtkmenu.sgml
	docs/reference/gtk/tmpl/gtkoldeditable.sgml
	docs/reference/gtk/tmpl/gtkoptionmenu.sgml
	docs/reference/gtk/tmpl/gtkpreview.sgml
	docs/reference/gtk/tmpl/gtkselection.sgml
	docs/reference/gtk/tmpl/gtksocket.sgml
	docs/reference/gtk/tmpl/gtkstyle.sgml
	docs/reference/gtk/tmpl/gtktextbuffer.sgml
	docs/reference/gtk/tmpl/gtktreemodel.sgml
	docs/reference/gtk/tmpl/gtkwidget.sgml gdk/gdk.h gdk/gdkdisplay.c
	gdk/gdkdisplay.h gdk/gdkdnd.h gdk/gdkdraw.c gdk/gdkdrawable.h
	gdk/gdkinput.h gdk/gdkselection.h gdk/x11/gdkdisplay-x11.c
	gdk/x11/gdkdnd-x11.c gdk/x11/gdkselection-x11.c gtk/gtkcurve.h
	gtk/gtkdnd.h gtk/gtkitemfactory.c gtk/gtkitemfactory.h
	gtk/gtkmenu.h gtk/gtkoldeditable.c gtk/gtkoldeditable.h
	gtk/gtkoptionmenu.h gtk/gtkplug.c gtk/gtkplug.h gtk/gtkpreview.h
	gtk/gtkrange.h gtk/gtkselection.c gtk/gtkselection.h
	gtk/gtksocket.c gtk/gtksocket.h gtk/gtkstyle.c gtk/gtkstyle.h
	gtk/gtktextlayout.c gtk/gtktextlayout.h gtk/gtktreemodel.c
	gtk/gtktreemodel.h gtk/gtkwidget.h

	Trivial s/foo/foo_/ fixes to make gtk.h includable with -Wshadow
	without warnings. (#91680)
2002-11-08 19:41:50 +00:00
Matthias Clasen
ca00536f34 More doc comments moved inline. 2002-11-01 00:45:32 +00:00
Owen Taylor
209fd4cc5d Make 'filled' arguments for draw_arc/polygon/rectangle gboolean not gint.
Wed Oct 16 14:32:43 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkpixmap.c
        gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c
        gdk/win32/gdkdrawable-win32.c gdk/linux-fb/gdkdrawable-fb2.c
        gdk/linux-fb/gdkprivate-fb.h:
        Make 'filled' arguments for draw_arc/polygon/rectangle
        gboolean not gint. (#94976)
2002-10-16 18:41:42 +00:00
Owen Taylor
6cb79658c2 Export _gdk_draw_pixbuf as gdk_draw_pixbuf(), rename the _draw_pixbuf
Wed Oct  2 17:46:53 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkdrawable.h gdk/gdkinternals.h gdk/gdkdraw.c
        gdk/gdkwindow.c gdk/gdkdrawable.c: Export _gdk_draw_pixbuf
        as gdk_draw_pixbuf(), rename the _draw_pixbuf virtual
        function to draw_pixbuf. (#60582)

        * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable[_alpha]):
        Note that these functions are obsolete in the docs.

        * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable):
        Remove all the sanity checks now we make it clear
        that it is obsolete name for gdk_draw_pixbuf().

        * gdk/gdkpixmap.c gtk/gtkcellrendererpixbuf.c gtk/gtkimage.c
          gtk/gtkpixmap.c demos/testpixbuf-scale.c demos/testpixbuf.c
          tests/testrgb.c: Use gdk_draw_pixbuf() everywhere.

        * gtk/gtklabel.c (gtk_label_set_mnemonic_widget): Fix
        some warnings.

        * gdk/gdkinternals.h (struct _GdkEventPrivate): Fix missed
        bit from last gdk_event_get_screen() change.

        * gdk/gdkevents.c: Couple of small fixes.i
2002-10-02 22:30:37 +00:00
Manish Singh
234e191c1c add -DG_DISABLE_DEPRECATED and -DGDK_PIXBUF_DISABLE_DEPRECATED to compile
Wed Sep 25 00:16:53 2002  Manish Singh  <yosh@gimp.org>

        * gdk/Makefile.am gdk/x11/Makefile.am: add -DG_DISABLE_DEPRECATED
        and -DGDK_PIXBUF_DISABLE_DEPRECATED to compile flags

        * gdk/gdkcolor.c gdk/gdkdisplay.c gdk/gdkdraw.c gdk/gdkevents.c
        gdk/gdkgc.c gdk/gdkimage.c gdk/gdkpango.c gdk/gdkpixbuf-render.c
        gdk/gdkpixmap.c gdk/gdkrgb.c gdk/gdkwindow.c gdk/linux-fb/gdkdnd-fb.c
        gdk/linux-fb/gdkfont-fb.c gdk/win32/gdkdnd-win32.c
        gdk/win32/gdkfont-win32.c gdk/x11/gdkdisplay-x11.c gdk/x11/gdkdnd-x11.c
        gdk/x11/gdkdrawable-x11.c gdk/x11/gdkevents-x11.c gdk/x11/gdkfont-x11.c
        gdk/x11/gdkgc-x11.c gdk/x11/gdkgeometry-x11.c gdk/x11/gdkim-x11.c
        gdk/x11/gdkinput-x11.c gdk/x11/gdkkeys-x11.c gdk/x11/gdkscreen-x11.c
        gdk/x11/gdkwindow-x11.c: Deprecation cleanup, mostly changing
        gdk_foo_{ref,unref} to g_object equivalents.
2002-09-25 07:23:55 +00:00
Matthias Clasen
083c3aef51 Mark abstract types as G_TYPE_FLAG_ABSTRACT. (#72383)
* gdk/gdkdraw.c (gdk_drawable_get_type):
	* gdk/gdkgc.c (gdk_gc_get_type):
	* gtk/gtkmenushell.c (gtk_menu_shell_get_type):
	* gtk/gtkimcontext.c (gtk_im_context_get_type):
	* gtk/gtkprogress.c (gtk_progress_get_type):
	* gtk/gtkoldeditable.c (gtk_old_editable_get_type):
	* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_type):
	* gtk/gtkwidget.c (gtk_widget_get_type):
	* gtk/gtkseparator.c (gtk_separator_get_type):
	* gtk/gtkscrollbar.c (gtk_scrollbar_get_type):
	* gtk/gtkscale.c (gtk_scale_get_type):
	* gtk/gtkrange.c (gtk_range_get_type):
	* gtk/gtkpaned.c (gtk_paned_get_type):
	* gtk/gtkmisc.c (gtk_misc_get_type):
	* gtk/gtkitem.c (gtk_item_get_type):
	* gtk/gtkcontainer.c (gtk_container_get_type):
	* gtk/gtkbbox.c (gtk_button_box_get_type):
	* gtk/gtkbox.c (gtk_box_get_type):
	* gtk/gtkbin.c (gtk_bin_get_type):
	* gtk/gtkobject.c (gtk_object_get_type): Mark abstract types as
	G_TYPE_FLAG_ABSTRACT.  (#72383)
2002-09-21 23:26:14 +00:00
Owen Taylor
425b9886c9 Start of integration of Erwann Chenede's multihead work from the
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.
2002-04-25 22:29:14 +00:00
Owen Taylor
ccb9077861 Call _gdk_draw_pixbuf(), thus enabling using this function for pixbufs
Tue Jan 29 17:40:02 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable):
        Call _gdk_draw_pixbuf(), thus enabling using this function
        for pixbufs with alpha. (#68801)

        * gdk/gdkdraw.c (gdk_drawable_real_draw_pixbuf): Move
        implementation of gdk_pixbuf_render_to_drawable()
        to here.
2002-01-29 22:46:21 +00:00
Hans Breuer
ec81d4a8af need to cast image->mem away from void* to avoid 'error C2036: 'void *' :
2002-01-04  Hans Breuer  <hans@breuer.org>

	* gdk/gdkdraw.c gdk/gdkpixbuf-drawable.c :
	need to cast image->mem away from void* to avoid
	'error C2036: 'void *' : unknown size'. Doing pointer
	arithmetics on void pointers is a GCCism afaik.

	* gdk/gdkpixbuf-render.c : #include "gdkinternals.h" for
	_gdk_draw_pixbuf ()

	* gdk/makefile.msc gdk/win32/makefile.msc
        gdk/gtk/makefile.msc.in : use -FI msvc_recommended_pragmas.h

	* gdk/win32/gdkdrawable-win32.c : use _gkd_win32_copy_to_image
	and take care of image->visual possibly NULL.

	* gdk/win32/gdkimage-win32.c : implement _gdk_image_new_for_depth(),
	_gdk_win32_copy_to_image() and _gdk_windowing_bits_for_depth().
	Again take care of image->visual possibly NULL.

	* gdk/win32/gdkprivate-win32.h : declare _gdk_win32_copy_to_image()

	* gdk/win32/gdkevents-win32.c : use gdk_drawable_get_colormap
	instead of private field access

	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) : adapt
	colormap setting to the gdk-X behaviour
2002-01-05 19:07:13 +00:00
Owen Taylor
d12c9702a4 Private function to tell if we have RENDER extension.
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.
2002-01-04 05:58:01 +00:00
Havoc Pennington
eacd03aef2 Throughout: assorted docs
2001-10-02  Havoc Pennington  <hp@redhat.com>

        Throughout: assorted docs

	* gdk/gdkwindow.h: deprecate gdk_window_set_hints(), it's broken,
	gdk_window_set_geometry_hints() should be used instead.

	* gdk/gdkimage.h: deprecate gdk_image_ref, gdk_image_unref, and
	document them

	* gdk/x11/gdkx.h: remove gdk_get_client_window() since it doesn't
	seem to exist in any .c files

	* gdk/x11/gdkcolor-x11.c (gdk_colormap_query_color): docs,
	g_return_if_fail (pixel < colormap->size).
2001-10-03 18:19:48 +00:00