summaryrefslogtreecommitdiff
path: root/gtk/gtktextlayout.c
Commit message (Collapse)AuthorAgeFilesLines
* to simplify parsing for exported functions: - made implementationHans Breuer2001-10-271-1/+1
| | | | | | | | | | | | | | | | | | | 2001-10-27 Hans Breuer <hans@breuer.org> * gtk/gtkbbox.c gtk/gtkctree.c gtk/gtkhbbox.c gtk/gtkimmulticontext.c gtk/gtklabel.c gtk/gtkliststore.c gtk/gtkmenu.c gtk/gtkpaned.c gtk/gtkrc.c gtk/gtkscale.c gtk/gtkstyle.c gtk/gtktextbuffer.c gtk/gtktextlayout.c gtk/gtktexttag.c gtk/gtktexttagtable.c gtk/gtktextview.c gtk/gtktreestore.c gtk/gtkvbbox.c : to simplify parsing for exported functions: - made implementation signature static, when the local prototype already was - put the functions return value on it's own line - added as space between the function name and the opening bracket * gtk/gtk.def : added the remaining exported functions
* Apply fix from Dov Grobgeld, #61858Havoc Pennington2001-10-231-14/+12
| | | | | | | 2001-10-23 Havoc Pennington <hp@redhat.com> * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_pixel): Apply fix from Dov Grobgeld, #61858
* add a #error unless you define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API, soHavoc Pennington2001-10-221-0/+1
| | | | | | | | | 2001-10-22 Havoc Pennington <hp@redhat.com> * gtk/gtktextlayout.h: add a #error unless you define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API, so people don't use this accidentally * gtk/gtktext*.c: #define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API as appropriate.
* Get rid of the newline-that-could-not-be-deleted; buffers may now beHavoc Pennington2001-09-241-17/+17
| | | | | | | | | | | | 2001-09-24 Havoc Pennington <hp@redhat.com> * gtk/gtktextiter.c, gtk/gtktextbuffer.c, gtk/gtktextbtree.c, gtktextlayout.c: Get rid of the newline-that-could-not-be-deleted; buffers may now be zero-length. Much easier to fix than expected, once I figured out the right way to do it. However, there are various subtle bugs introduced by this that will have to get sorted out. Please use bugzilla.
* don't try to handle alignment here, because it's done by PangoLayout afterHavoc Pennington2001-09-211-20/+3
| | | | | | | | 2001-09-20 Havoc Pennington <hp@redhat.com> * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): don't try to handle alignment here, because it's done by PangoLayout after we set the layout width. Fix from Dov.
* Fix up for changes to PangoFontDescription.Owen Taylor2001-09-181-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wed Sep 12 11:21:14 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkcellrenderertext.[ch] gtk/gtktexttag.[ch] gtk/gtktextview.c tests/testgtk.c: Fix up for changes to PangoFontDescription. * gtk/gtkentry.c gtk/gtkclist.c gtk/gtkcellrenderertext.c gtk/gtkspinbutton.c: Fix up for change to PangoMetrics structure. * gtk/gtkfontsel.c: Fix up for new Pango font listing API. * gtk/gtkstyle.[ch]: Add gtk_style_get_font/set_font to replace direct access to style->font. Deprecate gtk_style_ref/unref. * gtk/gtkclist.c gtk/gtkctree.c gtk/gtkstyle.c gtk/gtkwidget.c: Remove gtk_style_ref/unref with g_object_ref/unref. * gtk/gtkcalendar.c: Remove leftover macros accessing style->font. * gtk/gtkhruler.c (gtk_hruler_draw_ticks): Remove unused variable. * gtk/gtktext.c gtk/gtklabel.c: Use gtk_style_get_font() instead of style->font.
* remove some debug code that seems to have caused a breakpoint in validHavoc Pennington2001-09-071-6/+0
| | | | | | | | | | | | | | | 2001-09-07 Havoc Pennington <hp@redhat.com> * gtk/gtktextlayout.c (gtk_text_layout_get_lines): remove some debug code that seems to have caused a breakpoint in valid cases * gtk/gtktextbtree.c (_gtk_text_btree_add_view): set the prev pointer on the first view when adding the second view, fixes crash when closing gtk-demo text test with active selection * gtk/gtktextbuffer.c (gtk_text_buffer_remove_selection_clipboard): don't leave dead clipboards in the list of clipboards - probably fixes #59836
* handle NULL shaped object from the empty-child-anchor case by drawing aHavoc Pennington2001-08-301-15/+14
| | | | | | | | | | | | | 2001-08-30 Havoc Pennington <hp@redhat.com> * gtk/gtktextdisplay.c (render_layout_line): handle NULL shaped object from the empty-child-anchor case by drawing a little box. * gtk/gtktextlayout.c (add_child_attrs): Still set shape attribute if the child anchor has no anchored widgets - fixes #59328. Also, remove bizarre deletion of preedit string that seems to have gotten in here somehow.
* Patch from Matthias Clasen to remove remove all instances ofOwen Taylor2001-07-181-8/+0
| | | | | | | | | Wed Jul 18 19:28:46 2001 Owen Taylor <otaylor@redhat.com> * gtk/*.c: Patch from Matthias Clasen to remove remove all instances of g_return_if_fail (foo != NULL); that are immediately before a g_return_if_fail (GTK_IS_FOO (foo)); since the second check catches the NULL anyways.
* fixes to compile with G_DISABLE_COMPATHavoc Pennington2001-06-291-30/+30
| | | | | | | | | 2001-06-29 Havoc Pennington <hp@redhat.com> * Throughout: fixes to compile with G_DISABLE_COMPAT (s/g_signal_connectc/g_signal_connect/, s/g_signal_newc/g_signal_new/, s/g_signal_disconnect_by_func/g_signal_handlers_disconnect_by_func/)
* Fix stupid error introduced last night that was making things decidedlyOwen Taylor2001-06-241-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | Sun Jun 24 11:29:35 2001 Owen Taylor <otaylor@redhat.com> * gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error introduced last night that was making things decidedly not work. * gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters so that we have getter/setter pairing everywhere it makes sense. (#55767) * gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.: Rename gtk_radio_button_group to gtk_radio_button_get_group, add a deprecated compat macro. (#55516) * gtk/gtklabel.[ch]: Add functions gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(), gtk_label_set_label(), which mirror the property API for GtkLabel. Make gtk_label_get_attributes() only reflect the attributes set by gtk_label_set_attributes. * gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename from gtk_notebook_set_page().
* Add missing gdk_rectangle_get_type() prototype.Owen Taylor2001-06-141-2/+12
| | | | | | | | | | | | | | | | | Mon Jun 11 18:15:16 2001 Owen Taylor <otaylor@redhat.com> * gdk/gdk.h: Add missing gdk_rectangle_get_type() prototype. * gtk/gtk[hv]scale.c: Include math.h, stdlib.h * gdk/gdkpango.h gtk/gtkclist.c gtk/gtkentry.c gtk/gtkmain.[ch] gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtktextbuffer.c gtk/gtktextdisplay.c gtk/gtktextiter.[ch] gtk/gtktextlayout.c gtk/gtktexttag.[ch] gtk/gtkwidget.c: Adapt to recent changes in Pango. * tests/testgtk.c: Set language tags with gtk_label_set_markup() to test whether the basic engine honors them.
* Add a direction-changed signal, and gdk_keymap_get_current_direction().Owen Taylor2001-06-081-47/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fri Jun 8 12:03:07 2001 Owen Taylor <otaylor@redhat.com> * gdk/gdkkeys.[ch]: Add a direction-changed signal, and gdk_keymap_get_current_direction(). * gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track the current locked group, use it to set the keymap direction. * gtk/gtksettings.c: Add a new gtk-split-cursor setting to determine whether we draw a split cursor or use a jumping cursor based on the current direction. * gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]: Obey the split cursor setting. Fri Jun 8 11:57:50 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkimmulticontext.c (activate_cb): Only activate when toggling on, not when toggling off... (#55906) Wed Jun 6 10:37:07 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkwidget.c (gtk_widget_set_double_buffered): s/gdk_window_begin_paint/gdk_window_begin_paint_region/ in docs. (#55812, Vitaly Tishkov)
* Remove the assertion that top_y needs to be >= 0.Joe Shaw2001-05-211-1/+0
| | | | | | | 2001-05-21 Joe Shaw <joe@ximian.com> * gtk/gtklayout.c (gtk_text_layout_get_lines): Remove the assertion that top_y needs to be >= 0.
* Make logical motion and deletion by graphemes, not by characters.Owen Taylor2001-05-171-1/+0
| | | | | | | | | | | | | | Thu May 17 17:10:13 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtkentry.c: Make logical motion and deletion by graphemes, not by characters. * gtk/gtkentry.c: Handle "trailing" returns from Pango when they are not zero or one; that is, when graphemes of multiple characters are involved. * gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary FIXME.
* fix some shell typosHavoc Pennington2001-05-071-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-05-04 Havoc Pennington <hp@redhat.com> * configure.in: fix some shell typos * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix * gtk/gtkimage.c: handle animations * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request border_width * 2, not just border_width * gtk/gtkscale.c: add "format_value" signal to allow people to override the way values are drawn. (gtk_scale_get_value_size): fix width/height mistake, and compute size from actual displayed text, not from made-up text. * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in signal registration * tests/testtext.c: Add "Remove all tags" menu item for testing * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement * demos/gtk-demo/main.c (main): add hack so we can find modules without installing gtk * demos/gtk-demo/textview.c (insert_text): demo font scaling * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling factor) (gtk_cell_renderer_text_set_property): remove some bogus g_object_notify * gtk/gtktexttag.c: add "scale" property which is a font scaling factor * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute to layout * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from gtk_text_iter_is_first 2001-05-04 Havoc Pennington <hp@redhat.com> * pixops/pixops.c (pixops_process): merge fix from stable: Patch from hoshem@mel.comcen.com.au to fix nonzero X offsets. Fixes bug #50371. * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix confusion of using "src" instead of "p". (pixops_composite_color_nearest): Use a more accurate (and correct, to begin with) compositing method. This cures checks showing through on images with no alpha. * gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing bytes unfilled. * gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change area_updated signal to use signed ints. Removed animation-related signals. * io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive rewrite action * gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract all the pesky details. Remove old frame-based API. Make GdkPixbufAnimation an abstract base class, derived by the loaders.
* voc Pennington <hp@redhat.com>Havoc Pennington2001-04-281-13/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): (gtk_text_layout_move_iter_to_next_line): fix these two for invisible text, lots of other stuff still hosed. * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook): new function, replaces the get/set palette stuff. This function is intended for use by libgnomeui which should set the hook to a thing which sets the palette in GConf, and we need the GConf-to-xsettings proxy which will result in the change being propagated back to the GTK app. * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning about unusable signals that it may be because the signal has parameters. * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the style, otherwise gtkrc.c won't know to create a new GtkStyle for it. (gtk_widget_modify_color_component): call gtk_widget_modify_style() so the rc style will get copied. (gtk_widget_modify_font): ditto * gtk/gtkrc.c: make a couple variables static * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide help button by default, since it does nothing * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool around with UI * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify so we can have tooltips * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we can have tooltips * gdk/gdkimage.h: mark gdk_image_new_bitmap with GDK_ENABLE_BROKEN, because its memory behavior is completely hosed. * gtk/gtknotebook.c: remove key press handler, replace with binding set, add numeric keypad support * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in addition to plain Delete * gtk/gtktextview.c (gtk_text_view_key_press_event): accept GDK_KP_Enter in addition to GDK_Return * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to activate on entry instead of key press (gtk_font_selection_on_clist_key_press): get rid of this signal handler, not needed with new font sel. * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a no-longer-needed emit_stop_by_name(), just return TRUE * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings cruft, this widget is no longer focusable. * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c, gtk/gtkhscale.c: Get rid of trough_keys virtual function, add move_slider action signal, add binding set for vscale/hscale, in the process support numeric keypad * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; make GDK_Return and GDK_KP_Enter activate the entry via binding set, instead of hardcoded.
* handle 0-height empty/invisible lines.Havoc Pennington2001-04-241-39/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | 2001-04-21 Havoc Pennington <hp@pobox.com> * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height empty/invisible lines. * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset) (gtk_text_iter_set_visible_line_index): new functions to set indexes excluding invisible text * gtk/gtktextlayout.c (line_display_iter_to_index): get visible index * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index) (gtk_text_iter_get_visible_line_offset): new functions to get indexes excluding invisible text * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a bunch of extra padding that served no purpose * gtk/gtkdialog.c: Make all the spacings configurable via style properties, for chubbiness configuration in themes * tests/testtext.c: fix path to the immodules.
* added accumulator data argument to g_signal_newc() functions.Tim Janik2001-03-081-6/+6
| | | | | | | | | | | | | | | Thu Mar 8 16:51:21 2001 Tim Janik <timj@gtk.org> * *.c: added accumulator data argument to g_signal_newc() functions. * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): * gtk/gtktreeview.c (gtk_tree_view_setup_model): * gtk/treestoretest.c (make_window): s/g_signal_connect/g_signal_connectc/. * gtk/gtktextbuffer.c: completed signal arg fixups, they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
* marshaller fixes.Tim Janik2001-03-071-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wed Mar 7 13:24:57 2001 Tim Janik <timj@gtk.org> * gtk/*.c: marshaller fixes. * gtk/gtkmarshal.list: extreme cleanup. * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface param spec for now. * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed() where appliable. * gtk/gtktypeutils.[hc]: updates to GLib API changes. special cased autogenerated boxed types from gtktypebuiltins_ids.c which are not reference counted: GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray, PangoFontDescription, GtkTreeIter and GtkTreePath. Thu Mar 1 03:58:56 2001 Tim Janik <timj@gtk.org> * gtk/gtktreeselection.h: * gtk/gtktreemodel.c: * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/* file should be included directly, and gobject/gmarshal.h as well as gtk/gtkmarshal.h even can't be included directly. * Makefile.am: grr, install gtk-config-2.0. * gtk/testgtk.c: * gtk/simple.c: * gtk/gtkmenu.c: * gtk/gtkitemfactory.c: use g_object_connect() instead of passing "*signal*::*" args to gtk_widget_set(). * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL. * gtk/*.c: removed trailer arg from property setters and getters. macro fixups. Thu Mar 1 04:01:57 2001 Tim Janik <timj@gtk.org> * test-gdk-pixbuf.c: fixed includes.
* convert the X coordinates so they're with respect to the line, rather thanHavoc Pennington2001-02-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-02-15 Havoc Pennington <hp@redhat.com> * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert the X coordinates so they're with respect to the line, rather than with respect to the layout. * gtk/gtkalignment.c: Convert to new property API, patch from Lee Mallabone * gtk/testgtk.c (create_range_controls): add vscale tests, and inverted test * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix #50806 * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN * gtk/gtktextiter.h (gtk_text_iter_is_last): rename gtk_text_iter_is_end * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter): rename gtk_text_buffer_get_end_iter * gtk/testgtk.c (create_labels): Add test for selectable * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw the selection stuff. This code is kind of broken since it doesn't use the theme engine. * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): fix infinite loop and y offset problem (gdk_draw_layout_line_with_colors): fix foreground color handling * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag that makes the label selectable. * gtk/gtklabel.c (gtk_label_style_set): recreate the label's layout when the style is set, since fonts etc. could have changed.
* adapt to handle PangoColorHavoc Pennington2001-01-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-26 Havoc Pennington <hp@redhat.com> * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to not offset by TREE_VIEW_HEADER_HEIGHT (gtk_tree_view_tree_to_widget_coords): fix to not offset by TREE_VIEW_HEADER_HEIGHT * configure.in (included_loaders): for me, --with-included-loaders generates the error "the specified loader yes does not exist", i.e. the arg defaults to "yes", so change test for value "" to test for value "yes", and include all loaders in that case. * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly handle TREE_VIEW_VERTICAL_SEPARATOR (gtk_tree_view_bin_expose): fix to consider the row offset as pointing halfway into vertical separator. (gtk_tree_view_draw_node_focus_rect): ditto * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add --gtk-debug=updates, which causes gdk_window_set_debug_updates (TRUE) to be called. * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a debug mode where the invalid region is colored in on invalidate, so you can see the flicker and know whether your redraw code is doing a good job. * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in tree window coordinates (clip rect is in tree window coords) * gtk/Makefile.am: add gtktreednd.[hc] * gtk/gtkliststore.c: implement gtktreednd interfaces. * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support drag-and-drop data operations on a model (so we can set up tree drag-and-drop automatically) * gtk/testgtk.c: Add a window to change sensitivity in the GtkLabel test; add a way to change the entry frame in GtkEntry test * gtk/gtkentry.c (gtk_entry_set_has_frame): (gtk_entry_get_has_frame): new functions to remove the frame around an entry (gtk_entry_size_request): shrink requisition if no frame (gtk_entry_draw_focus): don't draw frame if no frame * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for checks inside a cell renderer (gtk_default_draw_option): ditto for options * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove children from the alignment, not the button (gtk_tree_view_column_init): ref/sink the column, to emulate GObject refcounting. * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render): Use theme functions to draw the toggles * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and GdkPangoAttrEmbossed to use in rendering insensitive text * gdk/gdkpango.c (gdk_draw_layout_line): render new properties * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity using new GDK features
* Splitted gtk_image_clear into gtk_image_clear() and gtk_image_reset().42001-01-241-1/+1
| | | | | | | | | | | | | | | | | | 2001-01-24 <alexl@redhat.com> * gtk/gtkimage.c: Splitted gtk_image_clear into gtk_image_clear() and gtk_image_reset(). Call gtk_image_clear() in ::destroy to avoid leaks. * gtk/gtklabel.c (set_markup): Don't leak text. * gtk/gtktextlayout.c: Always free display->shaped_objects. * gtk/testgtk.c (create_clist): Don't leak custom style.
* rename member fields from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seemsHavoc Pennington2001-01-231-3/+3
| | | | | | | | 2001-01-20 Havoc Pennington <hp@pobox.com> * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to me, matches Pango
* Add built marshaller files to support GdkPixbufLoader signalsHavoc Pennington2001-01-221-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-22 Havoc Pennington <hp@redhat.com> * Makefile.am: Add built marshaller files to support GdkPixbufLoader signals * gdk-pixbuf-io.c (gdk_pixbuf_load_module): have GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in module location, rather than acting as a fallback, because we are using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it. * gdk-pixbuf.h: include gdk-pixbuf-loader.h * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here from gtk, and add error to close(), because stop_load may do parsing of the image. * pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file * io-*.c: make individual operations static, and add fill_vtable functions which are exported. Fix the collection of type warnings that surfaced, including a number of functions that didn't properly take a GError and some that weren't const-correct. Involved adding error handling for a few loaders. * gdk-pixbuf-io.h: Add error reporting to stop_load function * gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up a function that fills in the GdkPixbufModule vtable, instead of looking up all the image functions individually; this means we can get type safety within modules for the loader functions. Also it means you don't have to keep the statically compiled and GModule versions in sync. * test-gdk-pixbuf.c (main): remove gdk_pixbuf_init() * make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init() * gdk-pixbuf.h: nuke gdk_pixbuf_init() * gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init () here * gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type): g_type_init() here 2001-01-22 Havoc Pennington <hp@redhat.com> * demos/testanimation.c: fix to reflect gdk-pixbuf changes * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: Remove, move back to gdk-pixbuf * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents to all the word functions * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return before doing anything on NULL layout or if we don't have the focus * gtk/testtext.c (fill_example_buffer): "justification" * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute to be called "justification" not "justify" * demos/gtk-demo/textview.c (create_tags): "justification" * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
* byte_offset variable was being used to mean both "offset into layout" andHavoc Pennington2001-01-191-30/+32
| | | | | | | | | 2001-01-19 Havoc Pennington <hp@redhat.com> * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): byte_offset variable was being used to mean both "offset into layout" and "offset into buffer line" which was no longer true with addition of preedit string; fix
* hack on this a bitHavoc Pennington2001-01-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | 2001-01-05 Havoc Pennington <hp@redhat.com> * tests/testtreeview.c: hack on this a bit * gtk/gtktextlayout.c (gtk_text_layout_class_init): s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): was spelled incorrectly (GTK_IS_TREE_MODEL_SIMPLE): ditto * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename from gtk_tree_view_set_headers_active * gtk/gtktexttag.c: (gtk_text_tag_get_property): handle PROP_DIRECTION (gtk_text_tag_set_property): g_object_notify when we toggle the _set properties, bug 40235 * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename forward_to_line_end
* this function was broken if called on the first position in the buffer.Havoc Pennington2001-01-051-1/+3
| | | | | | | | | | | 2001-01-05 Havoc Pennington <hp@redhat.com> * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was broken if called on the first position in the buffer. * gtk/gtktextlayout.c (line_display_index_to_iter): fix forward_to_delimiters to be called only if we aren't already at the delimiters.
* if index is equal to the line length, then position iterator beforeHavoc Pennington2001-01-041-2/+21
| | | | | | | | | | | | | | 2001-01-04 Havoc Pennington <hp@redhat.com> * gtk/gtktextlayout.c (line_display_index_to_iter): if index is equal to the line length, then position iterator before paragraph separators. Fixes crash reported by Mikael Hermansson when pressing left arrow from the start of a line. * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error about byte indexes off the end (iter_set_from_char_offset): add g_error about char offsets off the end
* Adapt to uscore-ification of gtktextiterprivateHavoc Pennington2001-01-041-22/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-01-03 Havoc Pennington <hp@redhat.com> * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use of private functions; remove inclusion of private headers. * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this function, so we don't need private functions in gtktextdisplay.c * gtk/gtktextiterprivate.h: underscore-ification * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL" to instead say "only useful to implement widgets" * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS, GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS, GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249. * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap): This function was completely broken * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use gtk_paint_layout * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use gtk_paint_layout * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders. Progress on bug 40103. Add draw_layout to draw a PangoLayout. (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp, which were not implemented. * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add insert_pixbuf signal. Rename delete_text to delete_range since it also deletes pixbufs and child anchors. This almost closes bug 40245 (still need to deal with child anchors) * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add insert_pixbuf, change signal names as appropriate, change types of signals taking marks/tags to have the specific type, not just G_TYPE_OBJECT * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; closes bug 40051 * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up unnecessary remove_contents() call (gtk_option_menu_class_init): add a "changed" signal, closes bug 40039 (gtk_option_menu_update_contents): emit "changed" if the active menu item changes * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad cast to GtkObject, reported by Jonas Borgstrom (gdk_pixbuf_loader_finalize): don't close the loader on finalize; we can't do stuff with side effects in finalize. Instead, spew a warning if the loader isn't closed. * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free colormap in here, non-X ports probably need to sync to this change * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove assertion that colormap != NULL, you can set the colormap to NULL if you like. * Makefile.am: remove gtk-config-2.0 * configure.in: Use pkg-config to locate GLib. Remove separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used, and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow. Use pkg-config to locate Pango. Output correct Pango libs to gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix). * Makefile.am (pkgconfig_DATA): install only target-specific pc files (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the X11 pc files * gtk+-2.0.pc.in (Requires): require the GDK for the current target unref from here
* Fix unitialized variable when moving back onto a single line.Owen Taylor2001-01-021-8/+2
| | | | | | | | Tue Jan 2 16:23:05 2001 Owen Taylor <otaylor@redhat.com> * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): Fix unitialized variable when moving back onto a single line.
* uscore-prepend all the stuff in here.Havoc Pennington2001-01-011-6/+6
| | | | | | | | | | | | | | | | 2001-01-01 Havoc Pennington <hp@redhat.com> * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here. * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for GtkTextAttributes * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug #40246 (gtk_text_attributes_copy_values): rename from gtk_text_attributes_copy (gtk_text_attributes_copy): a more standard GTK copy function, which returns a new object
* General cleanup of the log attr iteration stuff. This should make e.g. theHavoc Pennington2000-12-161-70/+65
| | | | | | | | | | | | | | | | | | | | | | | 2000-12-16 Havoc Pennington <hp@pobox.com> * gtk/gtktextiter.c: General cleanup of the log attr iteration stuff. This should make e.g. the delete key work again in the text widget... (gtk_text_iter_forward_cursor_positions): handle negative count (gtk_text_iter_backward_cursor_positions): handle negative count (gtk_text_iter_forward_word_ends): handle negative count (gtk_text_iter_backward_word_starts): handle negative count * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to GObject. No doubt will cause breakage. * demos/gtk-demo/textview.c: remove hacks around non-GObject-ification of the text objects * demos/gtk-demo/main.c (main): use g_object_set() to manipulate the text tag
* remove unused call to get_last_line()Havoc Pennington2000-12-141-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-12-14 Havoc Pennington <hp@redhat.com> * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove unused call to get_last_line() * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER here until boxed is working (and maybe after that - we should really not gratuitously break old code) * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out specific types for font_desc and tabs args, move them to GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get fixed. Move GdkColor args to GTK_TYPE_POINTER also. * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily use GTK_TYPE_POINTER for signal signatures as a hack-around * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and PangoTabArray * gtk/gtktextlayout.c (line_display_iter_to_index): make static (line_display_index_to_iter): make static * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller to marshal a string not a boxed * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char since the UTF-8 isn't validated yet * gtk/gtktextsegment.c (char_segment_check_func): don't require lines to end in '\n' * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use forward_to_delimiters, and grapheme boundaries (gtk_text_view_delete_from_cursor): properly handle non-newline delimiters, and grapheme boundaries * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename to gtk_text_iter_forward_to_delimiters, and make it work properly if empty lines end with a character other than '\n' * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor position
* Remove double _ in front of some functionsHavoc Pennington2000-12-141-2/+2
| | | | | | | | 2000-12-13 Havoc Pennington <hp@pobox.com> * gtk/gtktextbtree.h: Remove double _ in front of some functions * gtk/gtktext*.[hc]: update accordingly
* Put _ in front of every function in this header fileHavoc Pennington2000-12-141-64/+64
| | | | | | | | | 2000-12-13 Havoc Pennington <hp@pobox.com> * gtk/gtktextbtree.h: Put _ in front of every function in this header file * gtk/gtktext*.[hc]: update to reflect renamed btree functions
* doh, this was broken beyond believe.Tim Janik2000-12-131-9/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tue Dec 12 23:46:44 2000 Tim Janik <timj@gtk.org> * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe. * gtk/gtkbox.c: change property types from (u)long to (u)int for ::position and ::padding. * gtk/gtkcontainer.c: make ::border_width an INT property. * gtk/gtkpacker.c: make ::position an INT property. * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard against NULL h/v scrollbars, since this is used at construction time. * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented internal gtk_clist_constructor(). * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented gtk_ctree_constructor(). * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION. * docs/reference/Makefile.am: fun stuff, disabled docs generation again, gtk-scan.c needs to introspec paramspecs, not GtkAgs. * gtk/gtkwidget.[hc]: removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv() and gtk_widget_get(). (gtk_widget_new): use g_object_new_valist(). (gtk_widget_set): use g_object_set_valist(). * gtk/gtkobject.[hc]: removed gtk_object_arg_get_info(), gtk_object_getv(), gtk_object_query_args(), gtk_object_newv(), gtk_object_class_add_signals(), gtk_object_class_user_signal_new(), gtk_object_class_user_signal_newv(), gtk_object_arg_set(), gtk_object_arg_get(), gtk_object_args_collect(), gtk_object_default_construct(), gtk_object_constructed(), GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED(). removed nsignals, signals and n_args members from GtkObjectClass. (gtk_object_new): use g_object_new_valist(). (gtk_object_set): use g_object_set_valist(). (gtk_object_get): use g_object_get_valist(). * gtk/gtkcompat.h: define gtk_object_default_construct(). * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via g_object_new(). * gtk/*.c: removed gtk_object_class_add_signals() from class_init() fucntions, cleaned up method assignments (make sure your structures are setup properly before calling out). removed all GTK_CONSTRUCTED hacks ;)
* Handle chopping off \r\n and 0x2029 in addition to \n before passing toHavoc Pennington2000-12-111-13/+37
| | | | | | | | | | | | | | | | | | | 2000-12-11 Havoc Pennington <hp@redhat.com> * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Handle chopping off \r\n and 0x2029 in addition to \n before passing to PangoLayout * gtk/gtkimcontextsimple.c (gtk_im_context_simple_get_preedit_string): return an empty string if no match is pending * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add assertion that the returned preedit string was sane * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c: s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g; s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
* don't create dangling pointers to the appearance attributes from the lineHavoc Pennington2000-12-021-58/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Changes by Hans Breuer:Tor Lillqvist2000-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-30 Tor Lillqvist <tml@iki.fi> Changes by Hans Breuer: * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints): Dont't use negative width and height as max_hints. This fixes Owen's recent testgtk changes for win32. * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get, gdk_win32_hdc_release): These are exported and may be called with other drawable types than our GdkDrawableImplWin32 (?). * gdk/gdkwindow.c: Backing store appears to work on Windows now, so always #define USE_BACKING_STORE. * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead of printf for debugging output. * gtk/gtktextlayout.c (allocate_child_widgets): Ditto. * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto. * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport declaration. * gtk/gtktexttypes.h: Ditto. * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value (GDK_VoidSymbol) also if in case of arg check failure. * gtk/gtkimcontextsimple.c (gtk_im_context_simple_get_preedit_string): Don't assign cursor position to the pointer, but to the variable it points to. * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION. * gtk/gtk.def: Updates.
* Semi-finish widget embedding. Need guffaw scrolling to be implemented inHavoc Pennington2000-11-201-10/+67
| | | | | | | | | | | 2000-11-20 Havoc Pennington <hp@redhat.com> * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c, gtk/testtext.c: Semi-finish widget embedding. Need guffaw scrolling to be implemented in GDK to finish. Also, right now we just size_allocate all children on every layout change, which is pretty lame. Test commented out of testtext.c, until it works better.
* Don't move back one char when we are actually at the end of the paragraph.Owen Taylor2000-11-161-5/+5
| | | | | | | | | | Wed Nov 15 20:16:54 2000 Owen Taylor <otaylor@redhat.com> * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Don't move back one char when we are actually at the end of the paragraph. CV: ----------------------------------------------------------------------
* remove unecessary rules for win32-specific config-substituted targets. IfOwen Taylor2000-11-161-5/+4
| | | | | | | | | | | | | | Wed Nov 15 18:39:40 2000 Owen Taylor <otaylor@redhat.com> * **/Makefile.am : remove unecessary rules for win32-specific config-substituted targets. If you want these rules, use --enable-maintainer-mode (called automatically by autogen.sh). Stops a lot of unneccessary make-time warnings. * gtk/gtktext{layout,display}.c: Factor in total width as well as screen when figuring alignment for word-wrap as well as no wrap; this is necessary to handle lines that cannot be wrapped at all.
* ed Nov 15 16:02:20 2000 Owen Taylor <otaylor@redhat.com>Owen Taylor2000-11-151-14/+19
| | | | | | | | | | | | * gtk/gtktextview.c (changed_handler): Call scroll_calc_now() unconditionally, since we may need to update the horizontal scrollbars even if the height didn't change. * gtk/gtktextlayout.c (add_preedit_attrs): Always get the extra attrs, since some of them affect size. * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in x_offset correctly.
* If indent is negative, don't move the first line out into the margin,Havoc Pennington2000-11-151-13/+0
| | | | | | | | | 2000-11-15 Havoc Pennington <hp@redhat.com> * gtk/gtktextlayout.c (set_para_values): If indent is negative, don't move the first line out into the margin, instead move the whole paragraph in order to make space for the first line within the margin
* use PANGO_PIXELS() to convert to pixelsHavoc Pennington2000-11-151-6/+9
| | | | | | | 2000-11-14 Havoc Pennington <hp@pobox.com> * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert to pixels
* Fix reversed > that was causing Home to go to end of previous line.Owen Taylor2000-11-151-1/+1
| | | | | | | | | | | | | Tue Nov 14 20:13:06 2000 Owen Taylor <otaylor@redhat.com> * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix reversed > that was causing Home to go to end of previous line. * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore modified-keypresses (leave for bindings.) * modules/input/Makefile.am: Remove useless -export-dynamic from module LDFLAGS.
* Draw underlines one pixel higher.Havoc Pennington2000-11-151-20/+62
| | | | | | | | | | | | | | | | | | | | 2000-11-14 Havoc Pennington <hp@redhat.com> * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel higher. * gtk/gtktextdisplay.c (render_layout_line): Take rise into account. Also, render rise, underline, background, etc. for pixbufs as well as text. Also, draw underlines one pixel higher. * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a PangoAttribute for the rise, so it gets drawn properly. Also, add the GtkTextAppearance attribute for pixbuf/widget segments as well; we should go ahead and have rise, underline, background, stipple work for those * gtk/gtktexttag.c: Rename "offset" property to "rise" to match Pango
* fix bug where GC didn't always get updated properlyHavoc Pennington2000-11-141-6/+6
| | | | | | | | | | | | | | | | | | | | 2000-11-13 Havoc Pennington <hp@redhat.com> * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug where GC didn't always get updated properly * demos/gtk-demo/textview.c (create_tags): Use subattributes of fonts instead of setting the entire font * gtk/testtext.c (fill_example_buffer): Use "size" instead of setting entire font * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into a bunch of individually-settable font attributes. You can still use the "font" and "font_desc" args, they just set all the font attributes at once.
* Free the filename of the module file.Havoc Pennington2000-11-131-103/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-13 Havoc Pennington <hp@redhat.com> * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of the module file. * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of dest->language * gtk/testtext.c: Test pixels above/below/inside paragraphs settings * gtk/gtktextview.c: Implement object args and setters/getters for all the aspects of the GtkTextAttributes that are not set from GtkWidget attributes. This is spacing, justification, margins, etc. (gtk_text_view_set_arg) (gtk_text_view_get_arg): implement get/set for editable, wrap mode args (gtk_text_view_class_init): Add args for justify, left_margin, right_margin, indent, and tabs * gtk/gtktextlayout.c (set_para_values): fix to display indent attribute properly * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, replace with indent attribute * gtk/gtktextlayout.c (set_para_values): multiply indent by PANGO_SCALE * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter, rearranging code to do that (gtk_text_layout_draw): Pass in the y for the whole LineDisplay, i.e. don't subtract the top_margin first, just to keep all margin-futzing in one place. * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove special case of last line, Pango now handles this itself. (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the Y coordinate (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter (find_display_line_above): wasn't moving the byte index as it iterated over lines, so always returned byte 0. Also, port to use PangoLayoutIter. (find_display_line_below): same problem as find_display_line_above. Also, port to use PangoLayoutIter.