This commit should probably be squashed in the future, when GtkStyleContext
is on par with it, and GtkStyle is just a shallow object on top of
GtkStyleContext and calling it in the default implementation methods, so
all gtk_paint_* and gtk_draw_* would work.
For now just add it instead of replacing the current function. In the
end, this one should probably be renamed to
gtk_draw_insertion_cursor() and the current
gtk_draw_insertion_cursor() should die.
The detail strings now have more "detail" by default, so gtkstyle.c
needed to be updated to properly handle this. Tests like testtreeview,
testtreesort now have proper background drawing again.
This strncmp trick was the best I could think of so quickly, if anybody
has an idea to do this in a better way, let me know.
When writing the original code I erroneously assumed that the current
point of the cairo context would be saved by cairo_save/restore(), but
of course the current point is part of the path and therefor isn't
saved.
Also do a cairo_new_path() before rendering any text so that we are sure
the text ends up at the right spot.
This is only necessary for GtkLabel with an angle set as no other widget
rotates text.
Note that the label code does not need these adjustments as those paths
are only taken when the label is not rotated.
Ideally this patch would be split up into chunks, but the git branch it
came from doesn't exist anymore. Only this patch is left in a bug
report.
It it's adapted to use accessors and contains some fixes that were
spotted while using the patch.
https://bugzilla.gnome.org/show_bug.cgi?id=576988
Reviewed by Michael Natterer.
* gtk/gtkstyle.c,
* gtk/gtkstyle.h: gdk_draw_string() has been deprecated and removed
already. There's no one left who should be using this function
(found this when porting sapwood to GTK+ 3.0)
* modules/engines/pixbuf/pixbuf-draw.c: don't implement this unused
function
This commit was created using a script that searched for all docstrings
containing a parameter and the string 'or %NULL'.
Gdk backends and demos excluded as they are not part of a public API
https://bugzilla.gnome.org/show_bug.cgi?id=610474
GtkIconSize is an extensible enumeration (via
gtk_icon_size_register()), so methods that claim to take/return a
GtkIconSize need to actually use "int" to work correctly with bindings
that are strict about enum values.
https://bugzilla.gnome.org/show_bug.cgi?id=604895
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations. Merge those into the GTK source files.
Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
* gtk/gtk.symbols:
* gtk/gtkstyle.[hc]: Rename gtk_style_get_property to
gtk_style_get_style_property to avoid problems for language
bindings. Pointed out by Torsten Schoenfeld.
svn path=/trunk/; revision=22502
2008-11-01 Matthias Clasen <mclasen@redhat.com>
Bug 412134 – Add API to query style properties from the style
* gtk/gtk.symbols:
* gtk/gtkstyle.[hc]: Add getters for style properties to
avoid the need for ugly workarounds with dummy widget instances.
Patch by Mariano Suárez-Alvarez
svn path=/trunk/; revision=21744
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-19 Johan Dahlin <jdahlin@async.com.br>
* gtk/gtkclist.c:
* gtk/gtkstyle.c (gtk_style_finalize):
Do not ignore the return value of g_slist_remove.
gtkstyle.c changes rubberstamped by Owen.
svn path=/trunk/; revision=20469
2008-06-17 Johan Dahlin <jdahlin@async.com.br>
* gtk/gtkstyle.c: Add deprecated version
and change the deprecation markup used by ref/unref
svn path=/trunk/; revision=20443
2008-02-15 Matthias Clasen <mclasen@redhat.com>
* configure.in: Go back to 2.13.0 as version for now,
as there was no consensus to do the jump.
* many other places: Update Since: tags.
svn path=/trunk/; revision=19586
2007-12-27 Xan Lopez <xan@gnome.org>
* gtk/gtk.symbols:
* gtk/gtkstyle.c (gtk_border_new, gtk_border_copy):
Add gtk_border_new to avoid memory allocator confusions when using
GtkBorders. Also, make gtk_border_copy use g_slice_dup. (#454042)
svn path=/trunk/; revision=19248
2007-07-27 Michael Natterer <mitch@imendio.com>
Fix check/radio indicator drawing mess (bug #452225):
* gtk/gtkstyle.c (gtk_default_draw_check): really decrease the
indicator size by one to ensure odd size (don't say -= -1).
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
removed -1 adjustment from calls to gtk_paint_option(). Theme
engines now get the actually configured size passed, not one pixel
less.
* gtk/gtkcellrenderertoggle.c
* gtk/gtkcheckmenuitem.c: changed default indicator size from 12
to 13 so all widgets which draw check/option indicators have the
same default size now (and render the same size after above
changes).
* README.in: mention above changes in the release notes.
svn path=/trunk/; revision=18547
2007-05-31 Yevgen Muntyan <muntyan@tamu.edu>
* gtk/gtkstyle.c (get_insertion_cursor_gc): use text colors from
widget style to draw cursor instead of hardcoded black and grey
(#79585, comment #30).
svn path=/trunk/; revision=17998