summaryrefslogtreecommitdiff
path: root/gdk/gdkdraw.c
Commit message (Collapse)AuthorAgeFilesLines
* Add Sun mediaLib support so that hardware acceleration via mediaLib isBrian Cameron2007-05-161-2/+55
| | | | | | | | | | | | | | | | | | 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
* Fix wrong cairo path generation. (#437879, Eddie C. Dost)Behdad Esfahbod2007-05-121-1/+1
| | | | | | | | | | 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
* Don't call into the backend if the region is empty. (#437081, SvenMatthias Clasen2007-05-101-1/+5
| | | | | | | | | | | 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
* Remove extraneous ;Matthias Clasen2006-05-141-1/+1
|
* Use G_DEFINE_TYPE.Matthias Clasen2006-04-041-29/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add a gc_changed argument, and avoid setting the clip region if the gc hasMatthias Clasen2006-02-201-2/+2
| | | | | | | | | | | | | 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.
* Intern type names before registering the type to avoid unnecessary copies.Matthias Clasen2005-08-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* 2.7.3GTK_2_7_3Matthias Clasen2005-07-151-3/+3
|
* gdk/gdkdraw.c #include gdkcairo.h for gdk_cairo_create() declaration.Manish Singh2005-05-141-0/+1
| | | | | | | | | | | | | | | | 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.
* Use a GtkAlignment rather than a GtkDrawingArea to draw the swatch in toOwen Taylor2005-05-111-28/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Small documentation additions.Matthias Clasen2005-05-081-5/+5
| | | | | | | | | | | 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.
* Change prototype to match cairo_set_source_surface().Owen Taylor2005-05-071-13/+11
| | | | | | | | | | 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.
* Add a draw-border style property to allow themes to draw outside theOwen Taylor2005-05-021-8/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Switch set_cairo_target() virtual function to ref_cairo_surface()Owen Taylor2005-03-171-300/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Make PLT-reduction work with gcc4, and don't include everything inMatthias Clasen2005-03-161-1/+4
| | | | | | | | | | | | | | | | | 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.
* Add gdk_drawable_set_cairo_target().Owen Taylor2005-02-031-0/+23
| | | | | | | | | | | | | | | | | 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.
* Add GdkPangoRenderer, a subclass of PangoRenderer targeting GDK drawables.Owen Taylor2004-11-211-3/+353
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* Add hidden aliases for exported symbols which are used internally in orderMatthias Clasen2004-08-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Use depth - 1 to index the cached gcs, not depth. (#139494)Matthias Clasen2004-04-291-2/+3
| | | | | | | 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)
* Docs typo fix.Matthias Clasen2004-04-281-1/+1
| | | | | | 2004-04-28 Matthias Clasen <mclasen@redhat.com> * gdk/gdkdraw.c (_gdk_drawable_get_scratch_gc): Docs typo fix.
* Small doc improvement.Matthias Clasen2004-04-231-1/+1
| | | | | | 2004-04-23 Matthias Clasen <mclasen@redhat.com> * gdk/gdkdraw.c (gdk_draw_drawable): Small doc improvement.
* Fixes #136082 and #135265, patch by Morten Welinder.Federico Mena Quintero2004-03-061-0/+1
| | | | | | | | | | 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>
* Use a scratch GC in the case where the background is a solid color.Soeren Sandmann2004-02-181-4/+5
| | | | | | | | | | | | | | 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
* GC caching, bug #125645 (based on patch by Brian Cameron)Soeren Sandmann2004-02-181-9/+58
| | | | | | | | | | | | | | | | | | | | | | | 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
* Revert last commit, please don't commit patches without approval, thisOwen Taylor2004-02-171-10/+0
| | | | | | | 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.
* don't try to draw more than 32767 segments at a time, since XDrawSegmentsDavid Odin2004-02-161-0/+10
| | | | | | | * 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.
* Document that the clip mask of gc is ignored. (#101983, Sebastian Rittau)Matthias Clasen2003-12-131-0/+3
| | | | | | | 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)
* Fix for #119555, Peter Zelesny:Matthias Clasen2003-11-171-15/+17
| | | | | | | | | | | | 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.
* Add deprecation notes. (#121955)Matthias Clasen2003-09-111-0/+6
| | | | | | | 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)
* Document 2.2 API additions.Matthias Clasen2002-11-281-5/+12
|
* docs/reference/gdk/tmpl/dnd.sgml docs/reference/gdk/tmpl/drawing.sgmlSoeren Sandmann2002-11-081-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* More doc comments moved inline.Matthias Clasen2002-11-011-1/+162
|
* Make 'filled' arguments for draw_arc/polygon/rectangle gboolean not gint.Owen Taylor2002-10-161-3/+3
| | | | | | | | | | | 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)
* Export _gdk_draw_pixbuf as gdk_draw_pixbuf(), rename the _draw_pixbufOwen Taylor2002-10-021-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* add -DG_DISABLE_DEPRECATED and -DGDK_PIXBUF_DISABLE_DEPRECATED to compileManish Singh2002-09-251-8/+8
| | | | | | | | | | | | | | | | | | 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.
* Mark abstract types as G_TYPE_FLAG_ABSTRACT. (#72383)Matthias Clasen2002-09-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | * 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)
* Start of integration of Erwann Chenede's multihead work from theOwen Taylor2002-04-251-2/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Call _gdk_draw_pixbuf(), thus enabling using this function for pixbufsOwen Taylor2002-01-291-15/+24
| | | | | | | | | | | | 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.
* need to cast image->mem away from void* to avoid 'error C2036: 'void *' :Hans Breuer2002-01-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Private function to tell if we have RENDER extension.Owen Taylor2002-01-041-9/+548
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Throughout: assorted docsHavoc Pennington2001-10-031-0/+51
| | | | | | | | | | | | | | | | | | 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).
* Added a check on the colormap depth to gdk_drawable_set_colormap()Ron Steinke2001-07-231-0/+2
| | | | | | | | | | * gdk/gdkdraw.c: Added a check on the colormap depth to gdk_drawable_set_colormap() * gdk/x11/gdkimage-x11.c: combination of Mathias Hasselmann's patch to fix colorsel and my patch to fix gdk_drawable_get_image() for pixmaps without visuals (more specifically, bitmaps) * gdk/x11/gdkpixmap-x11.c: Fixed gdk_pixmap_new() so it doesn't set a colormap with the wrong depth
* Clip the retrieved image data to the screen, using a server grab to avoidHavoc Pennington2001-06-291-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-06-28 Havoc Pennington <hp@pobox.com> * gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved image data to the screen, using a server grab to avoid race conditions. * gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove check for NULL return from gtk_image_new_from_stock(), it never returns NULL. (gtk_item_factory_create_item): fix bug where we parsed the stock ID as an inline pixbuf * gtk/gtktext.c (gtk_text_key_press): numeric keypad support * gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad support (should be using binding set here) * gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad support (should be using binding set here) * gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad support * gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support * gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad * gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): keypad * gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad * gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes * gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support * gtk/gtkcolorsel.c (palette_activate): keypad support (of course, should be binding-setted) * gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes * gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes * gtk/gtkcalendar.c: numeric keypad fixes * gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad support * gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop screwup * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): clip the render area to the drawable's clip region in advance, so we don't get data from the server that we don't need. * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): check return value of gdk_pixbuf_get_from_drawable(), fall back to bilevel alpha if we can't get the pixbuf to composite against. * gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap * gdk/gdkimage.c (gdk_image_get_colormap): add gdk_image_set_colormap, gdk_image_get_colormap * gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to take a region of the image, instead of converting the entire image. * gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help keybinding signal. Add default bindings for it. Add default handler for show_help that shows the tooltip for the widget. * gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and "close" keybinding signal, remove key press handler. * gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this, it's not our usual practice to leave a deprecated function around with a runtime warning, plus we don't want it to appear in docs, plus if we make them yellow no one will want to change them anyhow.
* new function, turns off decorations for a window.Havoc Pennington2001-03-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-03-07 Havoc Pennington <hp@redhat.com> * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns off decorations for a window. * demos/gtk-demo/button_box.c (create_bbox): adapt to button box changes * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function to get location of PangoLayout inside the label, closes #51198 * gtk/testgtk.c (create_bbox): fix up button box usage * gtk/testcalendar.c (create_calendar): fix up button box usage * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage * gtk/gtkhbbox.h: deprecations * gtk/gtkvbbox.h: deprecations * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to emulate deprecated gtk_button_box_get_spacing * gtk/gtkbbox.h: deprecate some useless functions, remove entirely the "set global default" functions (struct _GtkButtonBox): remove "spacing" field, use the one from GtkBox base class * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to render the icon, return the missing image icon. * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing image icon if the load fails. * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use when no image is found; should be the Netscape "missing image" icon eventually but for now is a random image * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the role for the session manager * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
* add --deprecated-guardsHavoc Pennington2001-02-201-0/+125
| | | | | | | | | | | | | | | | | | | | | | | | 2001-02-19 Havoc Pennington <hp@pobox.com> * gdk/Makefile.am (SCAN_OPTIONS): add --deprecated-guards * gdk/gdk-sections.txt: update * gdk/gdk-docs.sgml: update 2001-02-19 Havoc Pennington <hp@pobox.com> * gdk/gdkwindow.c: docs * gdk/gdkrgb.c: docs * gdk/gdkregion-generic.c: docs * gdk/gdkgc.c (gdk_gc_set_values): docs * gdk/gdkdraw.c: docs * gdk/gdkdrawable.h: deprecate drawable get/set data
* Add two virtualized functions gdk_drawable_get_clip_region - to get theOwen Taylor2000-12-151-6/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.)
* don't create dangling pointers to the appearance attributes from the lineHavoc Pennington2000-12-021-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-30 Havoc Pennington <hp@pobox.com> * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create dangling pointers to the appearance attributes from the line display * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative width/height to mean "full width/height of drawable" * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple click to select word/line * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters when getting log attrs. Get a slice, so that pixmaps and stuff are properly handled. * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you paste into the selection (replaces selection now, previously crashed or added to selection). Reveals longstanding btree bug - select multiple lines, middle-click on the selection, boom. This isn't related to my changes though. * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect PangoLogAttrs changes (gtk_entry_move_backward_word): ditto * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion functions return bool whether the iter moved onto a dereferenceable position. * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public functions for motion in terms of display lines. * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to get the buffer a mark is inside
* urg, removed implementation of gtk_marshal_VOID__INT_INT_INT_INT. ifTim Janik2000-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wed Oct 25 20:47:41 2000 Tim Janik <timj@gtk.org> * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that, couldn't they at least give it a non-standard name? * gtk/gtktextlayout.c: arg! yet another implementation of gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy? * gtk/gtktextbuffer.c: gotcha! captured a vagabonding gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back home. now i know this _is_ a conspiracy. * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for ::state-changed. * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): (gtk_accel_group_create_add): marshaller signature fixups. * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups, pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM. * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid anymore. Tue Oct 24 23:59:21 2000 Tim Janik <timj@gtk.org> * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since due to the signal system changes, it wouldn't build currently. to be fixed soon. * docs/Changes-2.0.txt: GtkSignal/GSignal updates. * gtk/gtkwidget.c: ::direction_changed takes an enum as argument, so it needs gtk_marshal_VOID__ENUM() instead of gtk_marshal_NONE__UINT(). * gdk/gdk*.c: adapted type registration functions. * gtk/gtkbindings.c: * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is gone. * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType. * gtk/gtkobject.c: (gtk_object_destroy): (gtk_object_shutdown): fixed recursion guards. basically we have to catch the case where any of GObject.shutdown() or gtk_object_destroy() is called during ::destroy, and avoid recursion there. * gtk/gtktypeutils.c: * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with boxed_copy/boxed_free. this needs a more general solution based on a publically installed code-generator utility. * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED, glib's gobject has support for that now. define GtkSignalMarshaller in terms of GSignalCMarshaller. Mon Oct 23 09:36:42 2000 Tim Janik <timj@gtk.org> * gtk/gtksignal.[hc]: * gtk/gtkmarshal.[hc]: * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't compile gtkmarshal.c on its own anymore, just include it in gtksignal.c. removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes care of that. * *.c: marshaller name fixups. * gtk/gtkmarshal.list: added a comment briefing the format. Sun Oct 22 23:14:39 2000 Tim Janik <timj@gtk.org> * gtk/gtksignal.[hc]: nuked old implementation. we mostly have compatibility macros here now. more specifically, most of the API is preserved (yes, _most_, nonwithstanding the following exceptions listed, the API is stil lHUGE ;) things that got removed completely: GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(), gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(), gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(), gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(), gtk_signal_remove_emission_hook(). non-functional functions variants: gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook(). the GtkCallbackMarshal argument to gtk_signal_connect_full() is not supported anymore. (gtk_signal_compat_matched): new internal function to aid implementation of the compatibility macros, it provides functionality to block/unblock/disconnect handlers based on func/data. * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType, * *.c: adaptions to new type registration API signatures. Fri Oct 20 15:26:33 2000 Tim Janik <timj@gtk.org> * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
* Re-enable the "find" dialogHavoc Pennington2000-10-241-4/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* applied patch from Andreas Persenius <ndap@swipnet.se> that updates theTim Janik2000-07-261-4/+4
| | | | | | | | Wed Jul 26 12:59:31 2000 Tim Janik <timj@gtk.org> * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that updates the license headers to the GNU Lesser General Public License, as well as updating the copyright year to 2000.