* gtk/gtkwidget.c (gtk_widget_class_init):
G_SIGNAL_TYPE_STATIC_SCOPE GtkSelectionData to
restore some workingness.
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Fix
handle of window type for input-only windows.
Mon Jul 2 01:09:37 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkwindow-x11.c
gdk/linux-fb/gdkwindow-fb.c gdk/x11/gdkwindow-x11.c gdk/gdk:
Add gdk_set_pointer_hooks() to allow pointer-querying to
be hooked by an event record/playback system like GERD.
(#56914)
Wed Jul 4 22:35:40 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.c gtk/gtkmenubar.c gtk/gtktreeviewcolumn.c
gtk/gtkwidget.c:
Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)),
not GTK_WIDGET_GET_ANCESTOR ... see
http://mail.gnome.org/archives/gtk-devel-list/2001-July/msg00072.html.
Indicate the best practice in the docs for gtk_widget_get_toplevel().
* gtk/gtkwidget.[ch]: Expose a private _gtk_widget_hierarchy_changed(),
so GtkPlug can give the correct signals when transforming
from a child to a toplevel.
* gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed): Handle
reparentation correctly.
* gtk/gtkwidget.c (gtk_widget_propagate_hierarchy_changed):
Propagate the previous_toplevel argument down properly.
* gtk/gtklabel.c (gtk_label_finalize): Fix unrefing
of wrong atr list.
* gtk/gtkplug.[ch]: Add an "embedded" signal.
* gtk/gtksocket.[ch]: Add "child_added", "child_removed"
signals.
* gtk/gtkplug.[ch] gtk/gtksocket.[ch]: Add
functions gtk_plug_get_id(), gtk_socket_get_id(),
to avoid the user having to worry about realization,
and gdkx.h.
* tests/testsocket.c: Extend to try out the new signals
and gtk_plug/socket_get_id().
* gtk/gtklabel.c (gtk_label_set_pattern_internal): Fix
setting of underline attributes.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore
DestroyNotify events from SubstructureNotifyMask
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent):
Switch GDK_WINDOW_TYPE (window) as needed.
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Clean up,
allow creation of toplevel windows as children of
foreign windows.
* gtk/gtkplug.c: Remove hacks involving changing private
fields of GdkWindow.
* gtk/gtkplug.[ch] gtk/gtksocket.c: Work to make
exactly the same signals and notification
be emitted for local embedding as for inter-process
embedding.
Mon Jul 2 16:53:25 2001 Owen Taylor <otaylor@redhat.com>
* gtk/xembed.h gtk/gtkplug.c gtk/gtksocket.c: For
XEMBED embedding add a _XEMBED_INFO property to the
client with version number and a "mapped" flags.
Use the mapped flag instead of the racy MapRequestEvent
* gtk/gtksocket.c: Clean up the gtk_socket_steal()
code to reliably set things (when the child is a passive
embedder participating in the XEMBED protocol) intead
of just being a hack for embedding non-participating
programs. Fix various bugs and race conditions.
* gtk/gtksocket.[ch] gtk/gtkplug.[ch]: Make local embedding
work by simply making the GtkSocket the gtk parent
of the GtkPlug. Set a flag in this case and make
the GtkPlug work like a normal container by overriding
methods such as check_resize and "chaining past" GtkWindow
to GtkBin.
* gtk/gtkentry.c (gtk_entry_real_activate)
gtk/gtkmain.c (gtk_propagate_event):
Eliminate use of gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW).
* gtk/gtkwidget.c (gtk_widget_get_toplevel,
gtk_widget_get_ancestor):
Explain why gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)
might not give the expected result and recommend
an alternative.
* tests/testsocket.c tests/testsocket_child.c
tests/testsocket_common.c tests/Makefile.am: Extended
to test different type of adding plugs to sockets
(local,active,passive), and to test mapping/unmapping
the plug.
* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Don't
mark the window as destroyed until after we
called _gdk_windowing_window_destroy().
(_gdk_windowing_window_destroy() may use GDK functions
on the window.)
* gdk/x11/gdkinput.c: Remove the check for finalization -
devices can be finalized under some circumnstances.
* gdk/x11/gdkinput-x11.c (gdk_input_device_new): Fix
small problem with GDK_TYPE_DEVICE.
Tue Jun 26 19:39:03 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
for style to mean "revert to default style"
* gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
gtk_widget_restore_default_style): Make this functions
deprecated aliases for gtk_widget_set_style (widget, NULL).
* gtk/gtkwidget.[ch]: Remove:
gtk_widget_set_default_style ()
gtk_widget_push_style ()
gtk_widget_pop_style ()
These functions interact are overriden by RC files, and
thus virtually useless, and complicated.
Fri Jun 22 18:49:48 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c: Add a GtkRcContext structure to hold
most of the previous global variables in gtkrc.c. This is
in preparation for multi-head, since each screen can
have different GtkSettings and RC information.
* gtk/gtkrc.[ch]:
* gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
GtkSettings parameter to GtkRcStyle::parse.
* gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c:
Add two new settings gtk-theme-name, gtk-key-theme-name,
for RC files that are loaded by name after reading
the default RC files.
* gtk/gtkrc.c: Allow priorities for styles, as wll as
bindings.
* gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
and use it by default for RC files loaded via
gtk-theme-name, gtk-key-theme-name.
* gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string)
tests/testgtkrc: Require pathnames to be absolute.
* gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
the source when parsing, since the operation of looking up a
pixmap from an RC file depends on the parsing context.
* gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
reset RC styles on all widgets when files are reparsed.
* tests/testgtk.c (create_rc_file)
gtk/gtkwindow.c (gtk_window_read_rcfiles):
Simplify, now that gtk_rc_reparse_all() resets styles on
all widgets itself.
* gtk/gtkmain.c (gtk_get_default_language): Fix broken
return value.
* gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
GtkSettings argument.
* gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
gtk_settings_get_global().
* gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
to get the appropriate GtkSettings for a widget. (For now,
just gets the default GtkSetttings.)
* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
changes.
* gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
getting a style for a path without actually having a widget.
(Allows using a style for a subpart of a widget, for
example.)
* gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
the RC files to be reloaded for just one GtkSettings
(not sure how useful this really is.)
* gtk/gtkrc.h: Deprecate
gtk_rc_add_widget_name/widget_class/class_style
2001-06-30 Alex Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkinput-none.c:
* gdk/linux-fb/gdkinput.c:
* gdk/linux-fb/gdkinputprivate.h:
Convert GdkDevice to a GObject.
* linux-fb/gdkprivate-fb.h:
* linux-fb/gdkvisual-fb.c:
Convert GdkVisual to a GObject.
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.
Thu Jun 28 23:53:31 2001 Tim Janik <timj@gtk.org>
* gtk/gtkwidget.c (gtk_widget_hide): !GTK_OBJECT_DESTROYED() ->
GTK_WIDGET_REALIZE() for resize queueing.
* gtk/gtkmain.c (gtk_main_do_event): !GTK_OBJECT_DESTROYED() ->
GTK_WIDGET_REALIZE() for post event delivery destruction upon
GDK_DESTROY.
* gtk/gtkwidget.c: added GtkWidget::event-after notification signal, to
sompensate for former (pre-2.0) connect_after() facility.
(gtk_widget_send_expose):
(gtk_widget_event): assert the widget is realized, since event delivery
to non-realized widgets is essentially a bug. event handlers should
be able to unconditionally rely on widget->window (unless they
emit events on their own which can trigger widget destruction).
(gtk_widget_event_internal): removed old outdated GTK_OBJECT_DESTROYED()
logic. event delivery happens as follows:
a) emission of GtkWidget::event (RUN_LAST handler). returns was_handled.
b) if !was_handled in (a) and the widget is still realized, emit event-
specific signal (RUN_LAST handler). returns was_handled.
c) emission of GtkWidget::event-after for notification if the widget is
still realized (regardless of was_handled from previous stages, no
class handler). no return value.
d) was_handled gets passed on to caller, to determine further
propagation. if the widget got unrealized meanwhile, was_handled
is returned as TRUE.
* gdk/gdkevents.[hc]: added gdk_event_get_root_coords() and
gdk_event_get_coords().
2001-06-29 James Henstridge <james@daa.com.au>
The following changes correspond to bug #56812
* gdk/gdkinput.h, gdk/gdkevents.c (GDK_TYPE_DEVICE): register type
code for GdkDevice.
* gdk/gdkcursor.[ch] (GDK_TYPE_CURSOR): register type code for
GdkCursor.
2001-06-19 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_show_unraised): new function
for mapping a window without fooling with stacking order, but
updating the "withdrawn" flag
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Do event
filtering as soon as possible, moving move resize and wmspec_check
handling after the event filter. Make default filter apply to all
events, not just those with no GdkWindow wrapped around the X
window. Fix a FIXME about how the window could be a pixmap using
RTTI; this of course assumes GDK_IS_WINDOW() is optimized.
Also, be robust against events not on a known GdkWindow.
* gdk/x11/gdkmain-x11.c (gdk_x11_grab_server,
gdk_x11_ungrab_server): export reference-counted server grabs, so
other people can grab server over a GDK function that also does
so.
2001-06-25 Alexander Larsson <alexl@redhat.com>
* configure.in:
Added --enable-fbmanager. This is some experimental code
that lets several GtkFB apps coordinate their access to the
framebuffer.
* acconfig.h:
Added ENABLE_FB_MANAGER.
* gdk/linux-fb/Makefile.am:
Added gdkfbmanager and gdkfbswitch.
* gdk/linux-fb/gdkkeyboard-fb.c:
* gdk/linux-fb/gdkmouse-fb.c:
* gdk/linux-fb/gdkprivate-fb.h:
Split device init and open so that
they can be opened and closed while switched
away.
* gdk/linux-fb/gdkmain-fb.c:
Add the basic manager communication.
* gdk/linux-fb/gdkrender-fb.c:
Don't update to the shadow fb if we're
blocked by the fb manager.
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().
Sat Jun 23 18:02:46 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix tests for XShm.h.
* gdk/x11/gdkimage-x11.c: Cleanup error handling in
gdk_image_new() by use of goto, properly use g_object_unref().
Sat Jun 23 22:03:20 2001 Tim Janik <timj@gtk.org>
* gdk/x11/gdkimage-x11.c (gdk_image_init): disabled g_free (image)
calls, as GdkImage is an object. these should be g_obejct_unref()
instead but that won't work because of the g_error() statement
in gdk_x11_image_destroy(). so for now, i did s/g_free/LEAK_IMAGE/
to spot these places.
2001-06-22 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated externals
* gdk/win32/gdkdrawable-win32.c : corrected some casts
in GDK_NOTEs
* gdk/win32/gdkevents-win32.c : use _gdk_windowing_window_get_offsets
to translate coordinates to the internal > 16 bit system
Try to handle WM_WINDOWPOSCHANGED to get better performance for
when moving/resizing
* gdk/win32/gdkkeys-win32.c : implement gdk_keymap_get_default ()
and gdk_keymap_get_direction (). The latter is untested for
the RTL case
* gtk/gtk.def : updated externals
* gtk/gtkmain.c : gtk_get_default_language () should reurn the result
from pango_language_from_string (), not an already freed pointer
* gtk/stock-icons/stock_menu_sort_ascending.png : PNGs need to be
binary (-kb) to be useable on windoze
Fri Jun 8 17:56:52 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.[ch] gtk/gtkmain.c: Add a GtkWindowGroup struct
that allows grouping together multiple windows so that grabs
within that set of windows only affect those windows.
* gtk/gtkmain.c gtk/gtkwidget.[ch]: Add a "grab_notify"
signal for notification when a widget becomes shadowed
by a grab or is no longer shadowed by a grab.
* gtk/gtkwidget.c (gtk_widget_propagate_state)
gtk/gtkmain.c: (gtk_widget_grab_add): Don't allow
insenstive widgets to maintain a grab.
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.
2001-06-14 Alexander Larsson <alexl@redhat.com>
* docs/README.linux-fb:
Add some example config files that can be used with the URW fonts.
* gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
Set up the color ramps for DirectColor mode.
2001-06-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkwindow-fb.c:
Unify shaped window code and make it repaint the area that used
to be part of the shape, but isn't anymore.
2001-06-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdnd-fb.c (gdk_drag_status):
Don't pass on GDK_ACTION_DEFAULT. The Xdnd code
passes zero instead, so do we.
2001-06-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
Deep copy dash_list too.
(_gdk_fb_gc_new): Set default cap_style before
setting values.
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)
Wed Jun 6 10:34:42 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktooltips.h: Include gtkwidget.h
(#55798, Karl Nelson)
* gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
a valid latin-1 character. (Marc Lehmann, #35467)
* gdk/x11/gdkwindow-x11.c: Fix minor typo in comment.
(Marc Lehmann, #35467)
Tue Jun 5 11:04:06 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS):
s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)
Mon Jun 4 12:50:11 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing
gtk_clist_thaw().
2001-06-04 Havoc Pennington <hp@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
and 7 for scroll left/right, from Thomas Broyer
2001-05-10 Havoc Pennington <hp@redhat.com>
* gtk/gtksettings.c (gtk_settings_get_property): Handle case where
we need to parse the xsetting as if it were an RC file string.
* gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
value of palette from settings, not from static variable
* gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
xsettings translation table
* gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because
hardcoding the toolbar style conflicts with new customizable
toolbar style philosophy
(gtk_toolbar_class_init): add settings for default toolbar style;
these are used unless the app specifically forces a toolbar style
* gtk/gtksettings.c (settings_install_property_parser): only
return at the start if we warn and parser == NULL
* gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
palette changed handler so we don't notify dead color selections
* gtk/gtkstyle.c (gtk_default_draw_shadow): handle
xthickness/ythickness of 0 or 1 properly
(gtk_default_draw_resize_grip): clear the background behind the
resize grips, and align to bottom right if we square the
area to be drawn.
* gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on
statusbar label to 1, so it doesn't make toplevels resize oddly
(gtk_statusbar_size_request): add grip size to request
(gtk_statusbar_size_allocate): hack so the hbox still works with
the grip size in the request
* gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix
bug where showing all on a toplevel makes the toolbar
button text appear despite the toolbar mode
* gtk/gtkmenubar.c: add internal padding style property
* gtk/gtktoolbar.c: Add internal padding style property; add
shadow type style property
* gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
state; and put Container::border_width outside the frame
* gtk/gtktextview.c: don't draw focus rectangle if we're in
interior focus mode, we just use blinking cursor
Fri Jun 1 11:31:55 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkrectangle.c (gdk_rectangle_get_type): Add
GDK_TYPE_RECTANGLE.
* gtk/gtkwidget.c (gtk_widget_class_init): Fix type
of allocation argument be GDK_TYPE_RECTANGLE.
Wed May 30 15:56:30 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtksettings.c (gtk_settings_get_property): Validate
value from GDK settings against parameter spec.
* gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
to temporary values and use g_value_transform(), since
thinking that GValue was going to be easy or efficient
to use was, of course, a mistake.
* gtk/gtksettings.c: Add cursor blink setting.
* gdk/x11/gdkevents-x11.c: Add cursor blink X settings.
* gtk/gtkentry.c: Add cursor blinking.
* gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
cursor blink global settings.
* gtk/gtkentry.c (gtk_entry_button_press): Add notification
for :text_position in places where it is missing.
Tue May 29 17:40:29 2001 Owen Taylor <otaylor@redhat.com>
* configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG,
not pkg-config. (#51032)
* gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
(fixes#51952, James Henstridge)
2001-05-25 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
work -> check boxes and radio buttons are drawn now, even on win9x.
Improved line settings a bit, still no clue how to get really dotted
lines on win9x, on NT it's PS_ALTERNATE.
* gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for
GDK_HINT_MIN_SIZE as well
* gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
* gtk/gtk.def : updated
* gtk/gtktreeprivate.h : change column_drop_func to be a function
pointer not a function pointer pointer
* tests/testdnd.c : include <stdlib.h> for putenv prototype
* tests/testsocket.c : made it compile on win32 again
* tests/makefile.msc : one more test-app uses prop-editor.obj
Sun May 20 13:59:20 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Start checks for X from pangox/pangoxft
CFLAGS to avoid duplicate libraries.
* gdk/Makefile.am (LDFLAGS): Remove extra -lm.
* configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES
to include gobject.
Sun May 13 12:01:12 2001 Owen Taylor <otaylor@redhat.com>
* autogen.sh (have_automake): Require libtool-1.4,
automake-1.4p1.
* acinclude.m4: Remove libtool macros.
* gdk-pixbuf/Makefile.am: Add dependencies to loade
modules.
* gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
for libgdk.
* gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
libgdk.la for libgtk.
* modules/input/Makefile.am: Make modules have full
dependencies.
Sun May 13 18:40:04 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpixmap.h: Remove creative formatting.
Thu May 10 19:22:28 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktogglebutton.c: Patch from John Margaglione converting to
property API. (#51669)
* gtk/gtkscale.c: Patch from John Margaglione converting to
property API. (#51891)
* gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
to property API. (#50985)
2001-05-10 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkprivate-fb.h:
Make sure you can compile out the implementation/wrapper assert
macros.
* gdk/linux-fb/gdkdrawable-fb2.c:
Check implementation/wrappers, initialize type for pixmap dummys.
* gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
Hide the cursor if reading from the screen.
* gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
Fix sign bug in tiling code.
* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
Handle background pixmaps.
2001-05-07 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
New function for getting toplevel window at position.
(gdk_drag_find_window): Use get_toplevel_window () instead
of gdk_window_get_pointer(). (gdk_drag_status): Use
correct context for getting window.
* gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
g_strdup the atom name.
* gdk/linux-fb/gdkwindow-fb.c:
Costmetic fix.
* gtk/gtkdnd.c (gtk_drag_source_handle_event):
Add code for changing cursor on linux-fb backend (same as
win32).
2001-01-06 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated exports
* gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
gdk won't compile anymore
* gdk/win32/gdkevents-win32.c : initialize ret_val when
processing GDK_FILTER functions, initialize event.key->hardware_keycode.
Improved gdk_flush () to not only do pending drawing operations
but also process all currently pending events. This should make
the behaviour more similar to the X11 version.
* gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
option needs to be set even if there is no GDK_GC_BACKGROUND.
(gdk_win32_hdc_get) : use predraw_set_background () independent
of value_mask. This allows to draw dashed lines leaving the original
background intact.
* gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
after processing, because we can't reuse it as the X11 version does.
* gtk/gtk.def : updated exports
* gtk/makefile.msc.in : added ATK, removed all test apps. (I
would like to get rid of this file again, and use straight
makefile.msc again, as the other Gtk+ subdirs do)
* test/makefile.msc (new file) : build the test apps here
Thu May 3 14:13:49 2001 Owen Taylor <otaylor@redhat.com>
* INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
dependency on Atk for accessibility support.
* configure.in **/Makefile.am: Major reworking of substituted
variables for CFLAGS/LIBS to make a lot more sane and
keep the the compile/link lines a bit shorter.
* gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
Wed May 2 17:26:22 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
trap errors around calls to XSetInputFocus since we have
no way of knowing reliably whether we are viewable or
not. (#53947)
* 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.
2001-04-27 Havoc Pennington <hp@redhat.com>
* gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
* gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
* gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
line/para separators
(gtk_entry_create_layout): set single paragraph mode on the layout
* gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
spacing between the image and label; instead, inside a button box
the button will get extra space that will go there, but if people
configure button box for 0 chubbiness, then there's no spacing.
* gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
and min/max size style properties, so people can tune their
chubbiness.
* tests/testgtk.c (make_toolbar): remove calls to removed toolbar
functions
* gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
space_style, and button_relief into style properties, remove
functions for setting them
* gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop
it back down
* gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
types from gtk_widget_style_get
* gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
with a style property.
* gdk/x11/gdkevents-x11.c: namespace the settings
* gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
* gtk/gtksettings.c (gtk_settings_class_init): remove code with
side effects from inside g_assert(), so that G_DISABLE_ASSERT can
be used. Also, translate doc strings for settings. Also, namespace
the double-click-time property. Also, remove bell properties crap.
Thu Apr 26 19:11:46 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
dragging code. Revealed some (potential) GdkWindow bugs.
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
_gdk_window_init_position to the end of reparent to fix the case
of reparenting when new_x != old_x and new_y != old_y.
Wed Apr 25 12:16:36 2001 Owen Taylor <otaylor@redhat.com>
* gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for
window == NULL in a number of cases.
* tests/testdnd.c: Set module path for gdk-pixbuf.
Wed Apr 18 14:23:14 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
mode on shm segments to 0600. We'll see who complains.
* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
_gdk_windowing_window_destroy() AFTER recursing through
children.
* tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
testsocket_child on X.
* tests/testsocket[_child].c: Fix uses of
gtk_window_get_default_accel_group().
[ Merge patch from Ramiro Estrugo <ramiro@eazel.com> from gtk-1-2 ]
* gdk/gdkimage.c: (gdk_image_get):
Deal with the possibility that XGetImage() might return NULL.
Allocate the GdkImagePrivate structure only after XGetImage()
succeeds in order not to dereference a NULL ximage pointer. This
prevents a core dump when XGetImage() fails - which is unlikely,
but can happen due to race conditions accessing the geometries of
drawables. An x error will still be triggered, but the gdk image
wrapper at least wont seg fault.
Wed Apr 18 12:15:52 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h
gdk/x11/gdkevents-x11.c: Introduce an extra child
of toplevel windows that serves to hold the focus to
avoid events being delivered to embedded windows.
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
some extra variables to clean up code and reduce the
number of casts.
* gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
guint for 1 bit bit fields, not gboolean.
2001-04-16 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gtk/gtk.def : added all exports required to link PyGtk 0.7.1
* gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
we are interested in the functions return value not the function address
* gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
* gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
2001-04-14 Hans Breuer <hans@breuer.org>
* gdk/gdk.def :
* gdk/makefile.msc : updated
* gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is
"fill with tile" do so with new helper function gdk_win32_draw_tiles
(the testgtk::text backgound pixmap is drawn again)
Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect
Win32 Pango change
* gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
* gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
Not sure if the returned settings have the right unit, because I couldn't
find any docs for the X version ...
* gtk/gtk.def :
* gtk/makefile.msc.in : updated
Mon Apr 2 18:18:07 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.h: Add GdkEventSetting event for notification
of changes to system settings, gdk_setting_get() to retrieve
a single system setting.
* gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
to the draft XSETTINGS mechanism.
* gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
XSETTINGS.
* gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
of GDK settings changes to the GtkSettings object.
* gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
double-click-timeout property to GDK.
* gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
Define GDK boxed types here.
* gdk/Makefile.am gdk/makeenums.pl: Generate source files
gdk/gdkenumtypes.[ch] for enum definitions.
* gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
* gtk/gtk-boxed.defs: Comment out GDK types
* gtk/gtktypeutils.h: Remove GDK types
* gtk/Makefile.am: No longer scan GDK headers for enumerataions
2001-04-02 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkwindow-fb.c:
Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
warnings that were spewed on startup.
* gtk/gtkwindow-decorate.c:
gtk_window_reposition -> _gtk_window_reposition
Sun Apr 1 23:41:37 2001 Tim Janik <timj@gtk.org>
* gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
_NET window managers.
* gtk/gtkmenufactory.[hc]: cvs removed those files now.
2001-03-31 Hans Breuer <hans@breuer.org>
* config.h.win32.in : disable USE_MMX for msvc build cause
the assembler doesn't fit and is out of my scope. Disable
USE_GMODULE for msvc build as wel. The right way to share
binaries on win32 would be to use libtiff.dll etc. To reduce
installation hassles IMO it's better to include all fileformats
builtin to gdk-pixbuf
* gdk-pixbuf/makefile.msc : new file
* gdk/gdk.def : updated
* gdk/win32/gdkevents-win32.c : don't erase the background if
.no_bg is set. It improves the scrolling (e.g. of testgtk main
buttons
* gdk/win32/gdkgeometry-win32.c : added comment about the above
* gdk/win32/gdkwindow-win32.c : added three new functions like
the X version. Only one is implemented, because the other two
"gdk_window_begin_(resize|move)_drag" got no docs and appear to
be default behaviour on win32 anyway ...
* gtk/gtk.def : updated
* gtk/makefile.msc.in : update for new files, use glib-genmarshal
from where it was built and add an additional rule to automagically
build gtkmarshal.[hc]
* gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
before array access for the current entry isn't finished
* gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
use g_return_val_if_fail
* gtk/testgtk.c (window_controls) : don't use the *wrong* size
for the static array, but let the compiler calculate it. It
makes me wonder if gcc isn't capable to catch bugs like this ...
Wed Mar 28 20:30:26 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
to get the aux info structure fo the widget.
* gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
above function.
[ Patch from Havoc Pennington <hp@redhat.com> ]
* gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
to get the size of the window manager frame, basically the same
code that gdk_window_get_root_origin() had
(gdk_window_get_root_origin): use gdk_window_get_frame_extents()
* gtk/gtkwindow.c (gtk_window_set_default_size): use
gdk_window_resize() if the window is realized and resizeable
* gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
typo so that setting gravity works
* gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
allocation if auto_shrink is on, even if the default size
has not changed.
* gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
g_return_if_fail
2001-03-19 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkdrawable-win32.c
* gdk/win32/gdkimage-win32.c: Use correct casts in debugging
output.
* demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
gdkwin32.h.
2001-03-19 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in: Handle gdk-pixbuf-marshal.c.
* gdk_pixbuf.def: Update.
* pixbufloader_*.def: Just export the fill_vtable functions now.
2001-03-18 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (print_window_state): New function.
print_event_state, print_event): Use preprocessor macro to make
code more compact. Print also GDK_WINDOW_STATE events.
(synthesize_crossing_events): Remove the old #ifdeffed-out code.
* gtk/gtk.def
* gtk/makefile.mingw.in: Update.
* gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
to catch also Cygwin.
2001-03-16 Alexander Larsson <alexl@redhat.com>
* gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
Fix sign error with queued region translations.
2001-03-12 Alexander Larsson <alexl@redhat.com>
Make GtkFB compile and link.
* gdk/linux-fb/gdkdrawable-fb2.c:
window->mapped to GDK_WINDOW_IS_MAPPED().
* gdk/linux-fb/gdkwindow-fb.c:
window->mapped to GDK_WINDOW_IS_MAPPED().
Added gdk_window_shape_combine_region.
Added assorted placeholders for unimplemented new GdkWindow API calls.
2001-03-10 Hans Breuer <hans@breuer.org>
* gdk/gdk.def : updated
* gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
to offseting the clip_mask at the right place
* gdk/win32/gdkwindow-win32.c : don't create background brushes
for all the gdkClasses, especially not for the input_only case.
Otherwise flickering wont be avoidable, because we don't get
WM_ERASEBKGND message for these windows.
* gdk/win32/gdkevents-win32.c : initialize event->expose.region
and fixed massive redraw problems apparently triggered by Alexanders
recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
but it seems to work quite well :-)
* gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
prototype
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
2001-03-05 Alexander Larsson <alexl@redhat.com>
* gdk/gdkwindow.h:
Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
gdk_window_set_icon_list for net wmspec functionality.
* gdk/x11/gdkwindow-x11.c:
Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
gdk_window_set_icon_list.
Added gdk_wmspec_change_state helper function and used it in the code.
Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
* gtk/gtkdialog.c (gtk_dialog_init):
Set GDK_WINDOW_TYPE_HINT_DIALOG.
* gtk/gtkhandlebox.c (gtk_handle_box_realize):
Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
* gtk/gtkwindow.c:
new function gtk_window_set_type_hint.
On realize, set type hint and modal hint.
* gtk/gtkwindow.h:
Added type_hint field and gtk_window_set_type_hint.
Sat Mar 3 16:59:16 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
* gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
comment. Won't do to have duplicated doc comments between
the platform subdirs.
Sat Mar 3 16:26:33 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c
gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
Detectable auto-repeat - make a repeating key generate
press/press/press/release instead of press/release pairs.
If we have Xkb and XkbSetDectableAutoRepeat supports
that, we do it that way. Otherwise, when we get
a release event, we check ahead with XPending to see
if the next key is a KeyPress with the same keycode
and timestamp. (Not 100% reliable, but pretty close.)
Tue Feb 27 02:16:14 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmain.c (gtk_propagate_event): Only do special
special key-press grab handling for widgets within
GtkWindows. Otherwise, fall through to normal case.
This prevents key events being sent twice to GtkInvisible
widgets, which can cause all sorts of mischief.
Mon Jan 22 14:31:29 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
the group when extracting it from the X keyboard event.
* modules/input/Makefile.am modules/input/imipa.c:
Simple module for entering IPA. (Do we need a
gtk-stupid-input-tricks CVS module?)
2001-03-02 Havoc Pennington <hp@redhat.com>
* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
_gdk_region_get_xrectangles()
* gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
* gtk/testgtk.c (create_shapes): add test for shape_combine_region
* gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
function, contributed by Ron Steinke
* gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
gdk_net_wm_supports
* gdk/gdkregion-generic.c (gdk_region_get_rectangles):
New function, contributed by Ron Steinke
* gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function,
used to line up the text in the entry when using the entry for
editable sheet cell hacks
* gtk/testgtk.c (create_entry): test the activate_default setting
on GtkEntry
* gtk/gtkentry.c (gtk_entry_set_activates_default): New function to
cause the entry to activate the default button for a dialog when
activated
(gtk_entry_get_activates_default): new function
Wed Feb 28 19:10:43 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
Hwang to move call to sync_selection() up a few lines
to before the row list is modified, to fix crash when
removing rows in the undo_selection list.
(Test case provided by Daniel Elstner:
http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
Fri Feb 23 15:06:48 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktree.c (gtk_tree_class_init): Do the setting
of tree->root_tree in parent_set rather than _map(),
fixing #50892 in a bit better manner.
Thu Feb 22 17:07:58 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
Tue Feb 2 11:22:33 2001 Jody Goldberg <jgoldberg@home.com>
* gtk/gtkstyle.c : Remove duplicate fwd decl for
gtk_default_draw_shadow.
ue Feb 20 11:40:58 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkimage.c (gdk_image_new): Remove excess
warning, make warnings more verbose, treat a error
in shmat as permanent, and don't try again.
(#51163, Ed Randall.)
Mon Feb 19 20:15:28 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
delay for the first click before starting to scroll.
(based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
* gtk/gtktext.c: GtkText should have I-beam cursor.
(based on gtk-enf-990513-1.patch, Eric Fisher.)
Mon Feb 19 16:42:19 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
cleanup to remove some references to unused
->xoffset, ->yoffset.
Mon Feb 19 14:20:36 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
mask. (#51039, fix from Martin Maierhofer)
Fri Feb 16 20:09:42 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
for unshifted + and shifted = for non-us keyboards.
Make <Control>+ and <Control>- work as well as
<Control>KP_Plus, <Control>KP_Minus for recursive
open/close. (#2682, Ren Seindal)
Fri Feb 16 18:50:59 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
the active menu item before deactivating the menu,
so gtk_menu_popdown doesn't change the history. (#50964)
Fri Feb 16 15:55:22 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktreeitem.c (gtk_tree_item_draw_lines):
draw lines with text_gc rather than black_gc.
(Patch from Vlad Harchev <hvv hippo ru>, #50926)
2001-02-26 Havoc Pennington <hp@redhat.com>
* gtk/testgtk.c: test the window state stuff
* gtk/gtkwindow.c (gtk_window_present): new function, makes a
window come to the user's attention as if it were just created
(gtk_window_iconify): new function
(gtk_window_deiconify): new function
(gtk_window_stick): new function
(gtk_window_unstick): new function
(gtk_window_maximize): new function
(gtk_window_unmaximize): new function
* gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
* gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
* gdk/x11/gdkevents-x11.c: create window state events when
appropriate
(gdk_wmspec_supported): new function
* gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
iconification before showing the window
(gdk_window_deiconify): new function
(gdk_window_stick): new function
(gdk_window_unstick): new function
(gdk_window_maximize): new function
(gdk_window_unmaximize): new function
* gdk/gdkwindow.c: store the window state in the window;
change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
window->mapped.
(gdk_window_get_state): return the current window state
* gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
(gdk_event_get_state): handle GDK_WINDOW_STATE
(gdk_synthesize_window_state): function to create the window state
events
* gdk/gdkevents.h (struct _GdkEventWindowState): new type of
event, for changes to "window state" such as maximized, sticky,
etc.
* gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
focuses a window
* gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function,
finds out if we support a given WM spec hint
2001-02-23 Alexander Larsson <alexl@redhat.com>
* gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
return solid masks for xpms that have no transparent color.
This makes the ..._create_from_xpm... API backwards
compatible.
2001-02-23 Tor Lillqvist <tml@iki.fi>
* README.win32: Update. Mention the gtk-1-3-win32-production
branch.
* gdk/win32/bdfcursor.c: New file. A program that generates
xcursors.h. Thanks to Stefan Ondrejicka.
* gdk/win32/xcursors.h: New file, contains the X cursor font in a
compact format.
* gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
* gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
function, uses xcursors.h.
(gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
cursor from inline data instead of using LoadCursor() to generate
it from a resource.
* gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
event, must check the Windows message for mouse button state, as
the GDK event state might not have been built if it is
undelivered. Remove one goto.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
SetCursor() if the current cursor as returned by GetCursor() is
the window's previous cursor. The ChildWindowFromPoint() test
apparently didn't work correctly.
* gdk/win32/rc/*.cur: Remove.
* gdk/win32/rc/gdk.rc.in: Remove cursors.
* gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
* gtk/makefile.{mingw,msc}.in: Updates.
2001-02-20 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
Actually copy the whole gc, not just the public parts.
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
GDK_WINDOW_TEMP are not toplevel. Fixes selectable
labels.
2001-02-19 Havoc Pennington <hp@redhat.com>
* gdk/gdkcolor.h: test was backward, so deprecated functions were
excluded by default
* gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
clean up the old code a bit
* gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
inconsistent state
* gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
draw inconsistent state
* gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
(create_menu): add inconsistent test
* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
new function
(gtk_check_menu_item_get_inconsistent): new function
(gtk_real_check_menu_item_draw_indicator): draw the inconsistent
state (using etched in for now)
* gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
draw inconsistent state
* gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
function, used when the user has selected a range of stuff in
different states
(gtk_toggle_button_get_inconsistent): accessor for that
(gtk_toggle_button_paint): draw inconsistent state (etched in?
don't know what else to do)
2001-02-19 Havoc Pennington <hp@redhat.com>
* demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
* gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
(gdk_key_repeat_restore): nuke
* gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
(gdk_init_check): no atexit func
* gdk/gdkrgb.h: mark some stuff deprecated
* gdk/gdkcolor.h: mark some stuff deprecated
* gdk/gdk.h: deprecated gdk_exit, gdk_input_*
* gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
2001-02-19 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
Copy data and free data with free().
* gdk-pixbuf/gdk-pixbuf.c:
* gdk-pixbuf/io-jpeg.c:
* gdk-pixbuf/io-png.c:
Use g_try_malloc/g_free instead malloc/free.
* gdk-pixbuf/test-gdk-pixbuf.c:
Must... initialize... gobject...
* gdk-pixbuf/pixops/timescale.c:
* gtk/gtkcalendar.c:
Use g_malloc instead of malloc.
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.
2001-02-13 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
Add a shortcut if the window and the current clip_region doesn't
overlap. This is needed when there are a lot of windows in a
window. The layout test in testgtk is a good test.
* gdk/linux-fb/gdkwindow-fb.c:
Whitespace fix.
2001-02-13 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
Don't reference last_cursor if it is null. Fixes crash when rotating
the screen before having moved the mouse.
* gdk/linux-fb/gdkcc-fb.c: Zapp!
* gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
* gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw when
using 90 or 270 degrees rotation.
2001-02-12 Havoc Pennington <hp@pobox.com>
* gdk/gdkpango.c (gdk_pango_get_gc): fix bug where
it always set the foreground, even if we were only using
a stipple.
(gdk_draw_layout_line_with_colors): new function, allow
override colors
(gdk_draw_layout_with_colors): new function, allow override
colors
(gdk_pango_layout_line_get_clip_region): function to get the clip
region for a logical text range
(gdk_pango_layout_get_clip_region): get the clip region for a
logical text range
* gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
(gdk_colormap_new): fix call to gdk_colormap_sync() so it has
the right number of arguments.
* gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
enhance the function to check that node data corresponds to a
view still belonging to the tree.
* gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the
GtkTreePath
(gtk_tree_view_inserted): ditto
(gtk_tree_view_child_toggled): ditto
* gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
simplify this code.
* gtk/gtkcellrenderertext.c (get_layout): fix leak of
a PangoAttrList
* demos/gtk-demo/main.c (load_file): Fix leak of a GString
* gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
* gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
size in the size request
(gtk_menu_bar_size_allocate): consider toggle size here
* gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
that displays a widget in the toggle slot
* gtk/testgtk.c: test GtkImageMenuItem
* gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
* gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
request and allocation
* gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
* gtk/gtkcheckmenuitem.c
(gtk_check_menu_item_toggle_size_request): ditto
2001-02-11 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
function, copied from X11 version.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
DestroyCursor failures. The reason for the problem (despite the
inconsistent messages from GetLastError()) was that
DestroyCursor() cannot be called while a cursor is set in a
window. Set the new cursor first and then destroy the old one.
Thanks to jpe@archaeopteryx.com.
* gdk/win32/gdkcc-win32.c: Removed.
* gdk/gdk.def
* gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
* gtk/gtk.def
* gtk/makefile.mingw.in: Updates.
2001-02-08 Havoc Pennington <hp@redhat.com>
* gtk/gtkbin.c (gtk_bin_add): better error message if you try to
add a widget to a bin that already has a child.
* gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
* docs/Changes-2.0.txt: note that GdkColorContext is gone.
* gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
* gdk/gdk.h: remove gdkcc.h
* gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
* gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
GdkPixbuf, since the previous implementation was GdkColorContext
dependent.
* gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
Mon Feb 5 22:05:57 2001 Owen Taylor <otaylor@redhat.com>
* gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
error introduced with earlier commit) (pointed out by
Ollie Lho)
Sun Feb 4 07:55:17 2001 Tim Janik <timj@gtk.org>
* gtk/gtksignal.h: removed gtk_signal_init() compat define.
* gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
GTypeDebugFlags debug_flags and pass it on to g_type_init ();
deprecated this function.
* gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
argument.
Sun Feb 4 07:45:45 2001 Tim Janik <timj@gtk.org>
* gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
Sun Feb 4 07:59:57 2001 Tim Janik <timj@gtk.org>
* gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
we finally need the gobject->gruntime rename.
* *.c: scratched calls to g_type_init(), there's simply no point in
doing that, use gtk_init().
Sat Feb 3 11:28:03 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Remove confusing comment about X11.
Fri Feb 2 19:21:23 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
Fri Feb 2 18:31:54 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
it breaks things on BSD. If you want to compile GTK+ with
-ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE
when configuring, since GTK+ simply can't be "pure ANSI"
in the header files it uses. (#8170, Greg Hudson)
Fri Feb 2 17:16:09 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
gdk_colormap_sync private since it was never exported
in a header file.
* gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
colormap->colors[] for StaticGray, StaticColor colormaps.
* gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
was being used as if it was image->bits_per_pixel.
* gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
for the image in the GdkImage structure since it isn't
reconstructable, and we need it to handle packed types
* gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
the assumption that on Win32 image->bits_per_pixel == image->depth,
always.
* gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
* gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
warning message if no converter can be found.
Fri Feb 2 12:26:50 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
* gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
since some people set $(libdir) separately. (#1290, David Kaelbling)
Thu Feb 1 18:25:46 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
MAXPATHLEN, but the code here depends on a fixed value.)
(#4524)
Wed Jan 31 22:01:04 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
Wed Jan 31 21:20:39 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkctree.c (real_tree_move): If the node being moved isn't
viewable there is no way that moving the node will cause the
focus row to become not viewable, so omit check on the visibility
of new_sibling, which is irrelevant. (Fixes#8002, David Helder)
Wed Jan 31 20:38:17 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
selection before inserting new text.
Wed Jan 31 18:49:33 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
Make the sensitivity of the reparented child track that of
the original parent menu item. (#34218, David Hodson)
* gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
the case where the current item is destroyed properly.
* gtk/gtkoptionmenu.c: Some additional code cleanups and fix
some edge cases with child-less menuitems.
Wed Jan 31 17:16:13 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
key pop down window. (#12074, Jon K Hellan)
Wed Jan 31 16:21:42 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan)
The solution here isn't perfect - you get an extraneous
emission of "toggle", which could conceivably confuse an app,
but better than the current situation. LXR search seems to
indicate that no apps in GNOME CVS connect to "toggle".
Wed Jan 31 15:46:13 2001 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
gtk_public_h_sources to directly here to avoid warning when
building srcdir != builddir. (#9656)
Tue Jan 30 19:49:02 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrange.c: Patch from Kipp Hickman to make the event
handlers in gtkrange.c return the proper values (TRUE == handled)
(#10316).
This is just the tip of the iceberg, but gtkrange.c is the
most common place where the propagation is problematical,
and also a place where it is almost certainly safe to change
this in the stable branch.
(You don't want right click popups on a range control or anything...)
Tue Jan 30 18:57:59 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktext.c (clear_focus_area): We need to clear the focus
area on focus out, even if a background pixmap isn't set.
(#13941)
Tue Jan 30 18:24:10 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
to deal with setting the shape properly when scrolling arrows are
turned on, but not visible because there is sufficient space.
(#13432)
Tue Jan 30 16:39:25 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
items with submenus, destroy the item along with the submenu.
(#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...'
properly.
* gtk/testgtk.c (menu_items): Add a dummy branch that we delete
later.
Tue Jan 30 15:51:25 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
the focus widget sometimes wasn't drawn with the default if there
was no default widget.
* gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
unreference pixmaps.
* gtk/gtkstyle.c (gtk_style_realize): Reference colormap
for some extra safety.
Mon Jan 29 19:00:01 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
the text of a cell to the old pointer value better, by
copying the new text before freeing the old text. Some code
cleanup. (#8079, Karl Nelson)
Mon Jan 29 16:50:19 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
Mon Jan 29 15:22:51 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (gtk_menu_remove): When removing an
item from a menu, check to see if it matches
menu->old_active_menu_item, and if so, unref and clear
old_active_menu_item (Patch from Pavel Cisler)
* gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset
menu_shell->active_menu_item, if it is the child being
removed. (Patch based on that of Gene Ragan, #50337)
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
2001-01-22 <alexl@redhat.com>
* gdk/gdkwindow.c (gdk_window_invalidate_region):
Don't leak visible_region. Use visible_region instead of region.
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
Don't do extra gdk_drawable_ref(). This is not X.
(gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
gdk_fb_focused_window is ref:ed.
(gdk_fb_window_send_crossing_events): Watch out for destroyed
windows.
2001-01-18 Tor Lillqvist <tml@iki.fi>
* gtk/gtkmain.c
* gtk/gtkrc.c: (Win32) Use the new
g_win32_get_package_installation_(sub)directory() functions.
* config.h.win32.in: New file.
* config.h.win32: Removed.
* configure.in: Output config.h.win32.
* Makefile.am: Add it to EXTRA_DIST.
* gtk/gtk.def: Update.
2001-01-16 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
Eliminate redraws when input-only windows are shown or
hidden. Thanks to jpe@archaeopteryx.com.
2001-01-18 Tor Lillqvist <tml@iki.fi>
* gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
g_win32_get_package_installation_subdirectory() function.
(gtk_win32_get_installation_directory): Remove this then.
Tue Jan 9 11:20:48 2001 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkdnd-x11.c: Remove unused variable.
* gtk/gtkdnd.c: Encapsulate storing and retrieving info
structures in functions. Fixes bug where gtk_dataset_*
was accidentally still being used in one place, causing
every dest side event to be treated independently.
* gtk/gtkdnd.c: Remove last vestages of handling
::draw (fixes warning)
* gtk/gtkentry.[ch]: Add drag and drop support.
* gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
new function gtk_check_drag_threshhold() for checking
to check if (dx,dy) has exceeded the threshhold for starting
a drag and use it everywhere.
2001-01-17 <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
Doh! Mixed up x and y.
* gdk/linux-fb/gdkglobals-fb.c:
Removed gdk_fb_pointer_grab_window_events,
added _gdk_fb_pointer_grab_owner_events and
_gdk_fb_keyboard_grab_owner_events.
* gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
(gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
Send crossing events after ungrab finished.
(gdk_keyboard_grab): Set ..._owner_events
(type_masks): Move out of function.
(gdk_fb_other_event_window, gdk_fb_pointer_event_window,
gdk_fb_keyboard_event_window): New functions, return the
window an event should be targeted at. Handles grabs and
event propagation. Can return NULL.
(gdk_event_make): Remove event_mask checking. Now always
returns an event.
* gdk/linux-fb/gdkkeyboard-fb.c:
* gdk/linux-fb/gdkproperty-fb.c:
* gdk/linux-fb/gdkselection-fb.c:
Use new event_window/gdk_event_make() behaviour.
* gdk/linux-fb/gdkmouse-fb.c:
Use new event_window/gdk_event_make() behaviour.
Only send motion events if in the same window.
If grabbed, use cursor from window if sibling of grabbed
window, and cursor from grabbed window otherwise.
* gdk/linux-fb/gdkprivate-fb.h:
Update gdk_fb_window_send_crossing_events, gdk_event_make
and grab varaible declarations. Add gdk_fb_*_event_window().
* gdk/linux-fb/gdkwindow-fb.c:
Use new event_window/gdk_event_make() behaviour.
Keep correct track of focus window.
(gdk_window_set_events): Set all specific button motion masks
if GDK_BUTTON_MOTION_MASK set.
* gtk/gtkdnd.c (gtk_drag_update):
Free info->last_event if gdk_drag_motion returned FALSE.
2001-01-16 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
* gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
to g_{locale,filename}_{to,from}_utf8 to match current API.
* gtk/makefile.msc.in (gtk_OBJECTS)
* gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
* gtk/gtk.def: Update.
2001-01-15 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
implementaion that more closely mimics the events that an X server
would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
with nested preview widgets, for instance, more responsive when
you move the mouse quickly into them.
(find_window_for_pointer_event): Make it actually compile.
(gdk_event_translate): Set send_event to the value of
InSendMessage (). This doesn't really mean the same as X11's
send_event flag, but is close enough, says jpe@archaeopteryx.com
2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdnd-fb.c:
Implemented drag and drop.
Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
when it tries to free and then copy the same event (info->last_event).
I am not sure about why this happens, but will continue looking.
2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkwindow-fb.c:
Use gdk_window_invalidate_rect instead of
gdk_window_invalidate_rect_clear to minimise flashing.
When hiding windows you need to clear the root window though.
2001-01-15 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c:
For optization, add an full_shapes argument to gdk_fb_clip_region.
If this is false, only the cliprects of the shapes are used.
* gdk/linux-fb/gdkprivate-fb.h:
Export gdk_fb_window_peek_shape.
Add full_shapes to gdk_fb_clip_region.
* gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
When moving a window, don't clear everything under the it, just the
root window. Makes stuff faster and flash less.
(gdk_window_get_pointer): Correctly handle offseted shapes, due to
USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
offset of the shape.
2001-01-12 Havoc Pennington <hp@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the
current invalid region, fixes redraw bug while scrolling the
text widget
* gtk/gtktextview.c, gtk/gtktextview.h:
Rearrange the scrolling/validation/etc. code in a major way,
so it seems to make sense to me. Probably isn't genuinely that
much better, but...
* gtk/gtktexttag.c (set_fg_color): fix name of property used for
notifies
* gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
2001-01-12 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
Hide mouse pointer while rotation. Show it afterwards.
2001-01-12 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
windows in consideration when generating clip region.
* gdk/linux-fb/gdkfb.h:
Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
* gdk/linux-fb/gdkprivate-fb.h:
Add shape to GdkWindowFBDatat.
exported gdk_fb_window_get_abs_shape().
removed gdk_fb_draw_lines declaration.
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
send focus changes when there is a grabbed window.
(gdk_window_get_pointer): Handle shaped windows.
(gdk_fb_region_create_from_bitmap): Convert bitmap to region.
(gdk_fb_window_peek_shape): Returns the shape for a window,
handles GDK_FB_USE_CHILD_SHAPE.
(gdk_fb_window_get_abs_shape): Returns the shape of the window,
offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
(gdk_window_shape_combine_mask): Implement.
* gtk/gtkwindow-decorate.c:
HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
setting the shape of a window makes the window transparent.
2001-01-11 Alexander Larsson <alexl@redhat.com>
* acconfig.h:
Added ENABLE_SHADOW_FB
* configure.in:
Added --disable-shadowfb
* gdk/linux-fb/gdkcursor-fb.c:
Update shadowfb when updating cursor
* gdk/linux-fb/gdkdrawable-fb2.c:
Added wrappers for shadowfb that calls the normal drawable
methods, but calls gdk_shadow_fb_update(bounding box) when
GdkWindows are drawed to.
Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
which also returns the bounding box.
* gdk/linux-fb/gdkfb.h:
Added GdkFBAngle type and gdk_fb_set_rotation declaration.
* gdk/linux-fb/gdkgeometry-fb.c:
Update shadowfb when scrolling window.
* gdk/linux-fb/gdkglobals-fb.c:
Add _gdk_fb_screen_angle.
* gdk/linux-fb/gdkkeyboard-fb.c:
Test code for screen rotation. Shift-F2 in the xlate driver
rotates the screen.
* gdk/linux-fb/gdkmain-fb.c:
Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
* gdk/linux-fb/gdkmouse-fb.c:
Use fb_width/height instead of modeinfo.xres/yres.
* gdk/linux-fb/gdkprivate-fb.h:
Added fb_men, fb_width, fb_height & fb_stride. When using
shadow fb these can differ from the framebuffer stuff.
Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
_gdk_fb_screen_angle. Removed CM, RP.
* gdk/linux-fb/gdkrender-fb.c:
Added code for shadowfb handling and screen rotation using
shadowfb.
* gdk/linux-fb/gdkwindow-fb.c:
Use fb_mem, fb_stride, fb_width, fb_height.
Added recompute_rowstride to reset the rowstride of all windows.
Added gdk_fb_recompute_all() which recomputes rootwindow size,
window abs positions and window rowstrides. Usefull when the
rotation has changed.
2001-01-09 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c: Implement better mouse
capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
(find_window_for_pointer_event): New function.
(gdk_event_translate): Use it when handling mouse events.
2001-01-08 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
gdk_fb_window_find_focus, gdk_fb_send_focus_change,
gdk_fb_window_send_crossing_events):
Possibly send focus events when the mouse moves from one
window to another.
2001-01-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
to match current API.
* gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
environment variable is set, don't call g_error when on a
palettized (PseudoColor) display. Some people want to use GTK+
in 256-colour mode even though works only partially.
* gdk/gdk.def
* gtk/gtk.def
* gtk/makefile.mingw.in: Update.
2001-01-05 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
colormap in here. Sync from X port.
(gdk_fb_set_colormap): allow the colormap to be NULL if you like.
Sync from X port.
(gdk_fb_clip_region): Comment out g_warning about empty clip region.
This happens now and then, and i don't think it is a bug.
(gdk_fb_draw_polygon): Correctly add extra point if startpoint
!= endpoint.
(gdk_fb_draw_lines): Don't draw dashed lines if line_style is
GDK_LINE_SOLID.
* gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
some of the fields filled in at least.
* gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
miLineArcD is no more, remove it from the function definition.
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
2000-12-30 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkwindow-win32.c
(gdk_window_impl_win32_get_visible_region): New function, as in
the X11 backend.
(gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
instead of duplicating the same code here.
* gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
GDK_COLORMAP macro.
* gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
destroy function.
(gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
access that.
* gtk/gtk.def: Update.
* gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
2000-12-26 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
we are on a palettized display ("PseudoColor" in X11), as the code
for that doesn't work anyway, and never has.
2000-12-30 Tor Lillqvist <tml@iki.fi>
* gdk_pixbuf.def: Update.
2000-12-30 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
colormap on input only windows, to avoid special cases all over
the code for these windows.
Tue Dec 19 23:47:27 2000 Owen Taylor <otaylor@redhat.com>
* configure.in gdk/x11/Makefile.am: Check for FreeType
using freetype-config, since we can't rely on Xft
to pull in the libraries for us, or rely on it being
in the default include path first.
* gtk/gtkframe.c: Fix some problems where the gap wasn't
being drawn in the right place, especially for right-aligned
frame labels.
Thu Dec 14 21:02:59 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfontsel.c (gtk_font_selection_select_font): Update
the font_name entry as needed.
2000-12-18 Havoc Pennington <hp@redhat.com>
* gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
was pretty non-working.
* gtk/testtext.c (fill_file_buffer): make this a bit more robust
by passing the length to g_utf8_validate().
2000-12-16 Havoc Pennington <hp@pobox.com>
* gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c:
Port to GObject, can go back in gdk-pixbuf after setting up
a gdk-pixbuf-marshal.h header over there.
* gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
(gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
args
(gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
set
(gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
here, do it when we create the buttons later
(gtk_tree_view_realize_buttons): add some g_return_if_fail
(gtk_tree_view_map): paranoia checks that column->button is shown
and unmapped
(gtk_tree_view_size_request): only request visible children.
Move header size calculation in here, for cleanliness, and
to maintain invariants for child widgets if we eventually
let users set different children inside the buttons
(gtk_tree_view_map_buttons): factor out code to map buttons,
since it was being called several times
(gtk_tree_view_size_allocate_buttons): move_resize the drag
windows instead of just moving them; their height may change
if we allow random widgets in there, or the theme changes.
(gtk_tree_view_size_allocate): move button size allocation
above emitting the scroll signals, to ensure a sane state when we
hit user code
(gtk_tree_view_button_release): remove queue_resize after
tree_view_set_size(), set_size() will handle any resize queuing
that's needed
(gtk_tree_view_focus_in): just queue a draw, don't fool with
draw_focus goo
(gtk_tree_view_focus): use gtk_get_current_event() and
gdk_event_get_state()
(gtk_tree_view_deleted): don't queue_resize() after calling set_size()
(gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
semicolon
(gtk_tree_view_create_button): show the button here
(gtk_tree_view_button_clicked): actually emit the clicked signal
on the column
(_gtk_tree_view_set_size): return right away if the size is
unchanged, as a cheesy optimization
(gtk_tree_view_setup_model): rename set_model_realized to
setup_model to match the flag that indicates whether we've
called it
(gtk_tree_view_get_hadjustment): create adjustment if it doesn't
exist, because set_scroll_adjustment does that and it shouldn't
matter what order you call these in
(gtk_tree_view_get_vadjustment): ditto
(gtk_tree_view_set_headers_visible): canonicalize the bool,
for paranoia
(gtk_tree_view_set_headers_visible): call
gtk_tree_view_map_buttons() instead of using cut-and-paste code
(gtk_tree_view_append_column): clarify whether the return value
is the count of columns before or after, and do the increment
separately from the return statement so you can tell from the code.
(gtk_tree_view_remove_column): ditto
(gtk_tree_view_insert_column): ditto
(gtk_tree_view_get_column): remove g_return_if_fail for columns
outside the existing range, the docs say that outside-range
columns are allowed, so we handle them as documented. (Presumably
this allows a nice loop with column != NULL as test.)
(gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments
mean (left/right/center etc.).
(gtk_tree_view_collapse_all): only queue a draw if we're mapped
(gtk_tree_view_expand_row): add docs
(gtk_tree_view_collapse_row): add docs
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
function to emit the clicked signal on a column
* gdk/gdkevents.c (gdk_event_get_state): new function, to get the
state of an event
(gdk_event_get_time): don't treat GDK_SCROLL
as a button event, remove default case from switch so gcc
will whine if we don't explicitly handle all event types
* gtk/gtktreeselection.h: added some FIXME
* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
"columns" to "n_columns" and "column" to "columns" for clarity
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.)
2000-12-15 Tor Lillqvist <tml@iki.fi>
* gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
* gtk/gtk.def
* gdk/gdk.def: Update.
* gdk/win32/gdkmain-win32.c
* gdk/win32/gdkkeys-win32.c: New file. Move some functions from
gdkmain-win32.c here.
* gdk/win32/makefile.mingw.in (all): No need to make
gdk-win32res.o here, the makefile one step up will call us to make
it.
* gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
gdkkeys-win32.
* gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
* gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
call to g_source_add().
* gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
leak. Thanks to Andreas Kemnade.
2000-12-09 James Henstridge <james@daa.com.au>
* gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
member to hold masks for detecting the start of a protocol packet.
(mouse_devs): add packet start masks for ps2 and ms device types.
Left the mask for fidmour blank, as I have no idea what it should
be.
(handle_mouse_io): skip bytes until we get to the start of a
packet. My Logitech mouse seems to be passing an extra NULL pad
byte, and GPM does a similar thing here.
(gdk_fb_mouse_ms_open): changed error message to not say psaux, as
this is the ms mouse driver.
(gdk_fb_mouse_ms_packet): fix up button handling, which was
completely broken except for button1. It was checking the wrong
bit in the packet for the status of the right mouse button, and
wrongly assuming right == button2 rather than 3. I fixed that and
also added support for middle button (button2).
2000-12-08 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkkeyboard-fb.c:
New file containing the abstracted keyboard driver. Most code
taken from gdkinput-ps2.c
* gdk/linux-fb/gdkinput-ps2.c:
Removed file.
* gdk/linux-fb/Makefile.am:
Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
* gdk/linux-fb/gdkcolor-fb.c:
display->fb was renamed to display->fb_fd.
* gdk/linux-fb/gdkcursor-fb.c:
gdk_mouse_get_info -> gdk_fb_mouse_get_info
* gdk/linux-fb/gdkinput.c:
Moved gdk_input_init here from gdkinput-ps2.c
* gdk/linux-fb/gdkmain-fb.c:
display->fb was renamed to display->fb_fd.
Now the tty and the console is opened here instead
of in the keyboard driver. Also check GDK_VT to see what
tty to open.
Move gdk_beep () here from gdkinput-ps2.c
gdk_mouse_get_info -> gdk_fb_mouse_get_info
* gdk/linux-fb/gdkmouse-fb.c:
Add header.
gdk_mouse_get_info -> gdk_fb_mouse_get_info
Return correct keyboard modifiers.
GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
* gdk/linux-fb/gdkprivate-fb.h:
Add tty and vt info to display.
Add orignal modeinfo storage to display
Update global functions
* gdk/linux-fb/gdkwindow-fb.c:
Added gdk_fb_window_find_focus().
gdk_mouse_get_info -> gdk_fb_mouse_get_info
2000-12-06 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/Makefile.am:
Add gdkmouse-fb.c
* gdk/linux-fb/gdkmouse-fb.c:
New file. Abstracted the mouse drivers a bit.
* gdk/linux-fb/gdkcursor-fb.c:
The cursor hide/show functions was moved here from gdkinput-ps2.c.
* gdk/linux-fb/gdkinput-ps2.c:
Removed old mouse handling code. Moved cursor handling code
to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
gdk_mouse_get_info.
* gdk/linux-fb/gdkmain-fb.c:
Pass NULL pointers for x,y in gdk_mouse_get_info call.
* gdk/linux-fb/gdkprivate-fb.h:
Removed public gdk_fb_find_common_ancestor, added and renamed
functions for the new mouse handling code.
* gdk/linux-fb/gdkwindow-fb.c:
Moved gdk_fb_window_send_crossing_events here. added global
variable gdk_fb_window_containing_pointer. made
gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
renamed to gdk_mouse_get_info.
2000-12-06 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkevents-fb.c:
Update to match latest gmain/gsource changes.
* gdk/linux-fb/gdkinput-ps2.c:
Bogus gdk_keymap_get_entries_for_keycode implementation so that
it links. Will be implemented later.
2000-12-03 Havoc Pennington <hp@pobox.com>
* gdk/Makefile.am: add gdkkeys.[hc]
* gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
* acconfig.h, configure.in: add checks and command line options
for XKB
* gdk/x11/gdkkeys-x11.c: Implement the above functions
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
and group in the key event
* gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
field with the low-level hardware key code, and a group
field with the keyboard group
* gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
and declare a couple globals used for keymap handling
* gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
hold down Shift-Control and type a hex number to get a Unicode
character corresponding to the hex number
(gtk_im_context_simple_get_preedit_string): Fix cursor position
(return bytes not chars)
Tue Dec 5 15:49:31 2000 Owen Taylor <otaylor@redhat.com>
* INSTALL: Fix link to PNG home, remove reference
to fribidi.
* gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
* gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
tested.)
* gtk/gtkcheckmenuitem.c: Permanently turn on
always_show_toggle.
* gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to
be NULL. (Vladimir Klebanov, #26545)
* gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix
some signed/unsigned comparison problems. (#6510,
David Kaelbling)
* gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
return type to boolean (Oskar Liljeblad, #18648)
2000-12-05 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkcolor-fb.c:
More complete colormap handling. Now GdkRGB work in 8 bpp modes.
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
Must set colormap.
2000-12-05 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
Remove old debug g_warning().
(gdk_fb_draw_drawable): The src argument can be either a wrapper
or an implementation, just pass the implementation to draw_drawable_2.
* gdk/linux-fb/gdkprivate-fb.h:
Added GDK_IS_DRAWABLE_IMPL_FBDATA()
* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
clear and invalidate area when window is destroyed.
(send_map_events): Remove old commented out code.
2000-12-05 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkpango-fb.c:
Use italic instead of oblique in font aliases.
* gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
_gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
other unsupported functions.
2000-12-04 Havoc Pennington <hp@redhat.com>
* gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
* gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
* gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
* gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary
hack to avoid infinite loops (queue draw instead of draw) -
Owen has more appropriate fixes in a branch he'll check in later.
* gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
separator, CR, and CRLF as line ends
* gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
into lines using pango_find_paragraph_boundary(); other bits of
the widget are still going to be broken if the boundary isn't '\n'
though
2000-12-04 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
multiply.
* gdk/linux-fb/gdkpango-fb.c:
Copied some 26.6 scaling macros from pango to clean up the rounding.
(pango_fb_font_get_glyph_info): Correct sign on x value.
* gdk/linux-fb/gdkprivate-fb.h:
Removed unreferenced external functions.
* modules/linux-fb/Makefile.am: Use ` instead of '.
* modules/linux-fb/basic.c:
Remove dead code. In particular the dummy lang engine which broke all
pango layouts in GtkFB. Don't include tables-big.i anymore.
* modules/linux-fb/tables-big.i:
Upgrade to latest version from pango. Left for reference, basic_ranges
moved to basic.c.
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
2000-12-01 <alexl@redhat.com>
* gdk/linux-fb/Makefile.am:
* modules/linux-fb/Makefile.am:
Freetype 2 final uses freetype-config
* gdk/linux-fb/gdkpango-fb.c:
Upgrade to use Freetype 2 final.
More flexible support for font aliases, this also fixes a bug with
GtkFontSelector, as the aliases must be visible in the font/family list,
or GtkFontSelector reads uninitialized memory.
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.
2000-11-29 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
Set the size of the font from the description.
(gdk_text_width): Gross hack that calculates the width
of text by text_length * size/2. This is necessary because
GtkLabel does some ugly gtk_string_width call to calculate
an good size.
(linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
2000-11-29 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
If you pass width or height == 0 to gdk_window_clear_area they
should be calculated from the window size.
2000-11-29 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
a grab, but no grab-cursor, use the cursor from the grabbed
window. (gdk_fb_window_send_crossing_events): Send normal
enter/leave notifications if grab and owner_events == TRUE.
2000-11-29 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkinput-ps2.c (send_button_event):
Do implicit button grabs, even if the window doesn't
want the event.
(gdk_fb_window_send_crossing_events): If there is a
grab, only the grabbed window gets normal enter/leave
notifications. On ungrab go from grabbed window to current.
Don't send any notification to b when propagating from c -> b.
If setting a grab on window, don't set prev_window.
(handle_mouse_input): Send enter/leave events to the window the
mouse is over, not the grabbed one.
2000-11-28 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
The cursor should be hidden if it is part of either the
source or destination region. Not only if it is in both.
(gdk_window_set_transient_for): Silence warnings.
2000-11-23 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkselection-fb.c:
Initial selection implementation.
* gtk/gtkselection.c:
if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
requestor in gtk_selection_request.
* gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
Added gdk_selection_property atom.
* gdk/linux-fb/gdkprivate-fb.h:
Export _gdk_selection_window_destroyed.
Removed mask_off_x/y from GdkCursorPrivateFB.
Removed hbearing, added top, left to PangoFBGlyphInfo.
* gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
Call _gdk_selection_window_destroyed
(_gdk_windowing_window_init): Don't call gdk_cursor_new() before
the root window has been created.
(static_dx_hack, static_dy_hack, compare_draw_rects,
gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
in region. They are already sorted. Instead just traverse them in
reverse if draw_direction < 0.
* gdk/linux-fb/gdkinput-ps2.c (send_button_event):
Double-clicks must be sent after the normal button_press.
(gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
* gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
Pass _gdk_fb_screen_gc instead of NULL.
* gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
Initialize gdk_selection_property.
(gdk_event_make): Remove unused code.
* gdk/linux-fb/gdkcursor-fb.c:
Make the pixmap for the cursor the same size as the mask. Also remove
the mask_off_x/y fields in GdkCursorPrivateFB and combine
_gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
Now the whole cursor is visible.
* gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
Fix bug where xdest+height instead of ydest+height was used
to calculate if the source and dest overlapped. This fixes the
redraw bug when the main window in testgtk was scrolled when
partially covered by a tall window.
Copy rectangles in region in order depending on draw_direction.
Also moved the draw_direction flipping of start_y and end_y into
the gc functions, as this might not be what all of them want.
(gdk_fb_draw_lines): Support dashed lines.
(gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
so that the text is positioned correctly (was 1 pixel high).
gdk/linux-fb/gdkgc-fb.c:
Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
all lines were drawn a pixel to short. Also checked the default of
the rest of the values, and they're the same as X now.
* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
Clean up pixel positioning of the glyphs. Just use bgy->top and
bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
to all divisions to get correct rounding behaviour.
* gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
Moved start_y/end_y flip into draw_drawable implementations.
Flip also x rendering when draw_direction < 0.
Remove unneccesary multiply with draw_direction.
2000-11-22 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
Correct calculation of font metrics. Now GtkEntrys have sane
size.
* gdk/gdktypes.h:
Add new type GdkSpan
* docs/reference/gdk/gdk-sections.txt,
docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
gdk/gdkregion.h:
Implement and document gdk_region_spans_intersect_foreach.
* gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
Add new file gdkrender-fb.c which contains all core
rendering code.
Add gdk_fb_fill_rectangle_generic (old rectangle code) and
gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
(optimized rectangle fillers).
* gdk/linux-fb/gdkdrawable-fb2.c:
Move all rendering code to gdkrender-fb.c.
Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
Use the new span intersection functions in gdk_fb_fill_spans.
gdk_fb_draw_rectangle() clips filled rectangles and calls
gc->fill_rectangle with the result.
gdk_fb_fill_spans() gets extra argument "sorted".
* gdk/linux-fb/gdkevents-fb.c:
Remove unused includes and defines.
New function gdk_fb_get_time() to get correct time for events.
* gdk/linux-fb/gdkinput-ps2.c:
Use gdk method of generating multiple-clicks (gdk_event_button_generate)
Make sure to set the time of all events.
* gdk/linux-fb/gdkmain-fb.c:
Use gdk_fb_get_time ().
* gdk/linux-fb/gdkprivate-fb.h:
New virtual GC calls: fill_span & fill_rectangle.
Export gdk_fb_get_time().
gdk_fb_fill_spans() gets extra argument "sorted".
* gdk/linux-fb/mi*.c:
Use GdkSpan instead of GdkRectangle.
Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
from XFree 4 source)
2000-11-20 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkdrawable-fb2.c:
Removed unused arguments from gdk_fb_drawable_get_pixel().
* gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
Renamed fidur specific mouse packet data in MouseDevice to
generic. Used it in ps2 mouse handling code to avoid blocking
reads.
Sat Nov 18 11:58:17 2000 Owen Taylor <otaylor@redhat.com>
* gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix
off-by-one error when destroying allocated segments
on failure. (Elliot)
2000-11-17 Tor Lillqvist <tml@iki.fi>
* gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
but in general for window system specific events.
* gtk/gtk.def
* gtk/makefile.mingw.in
* gtk/makefile.msc.in: Update.
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.
2000-11-15 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkprivate-fb.h:
Added virtual functions set_pixel, get_color,
fill_span and draw_drawable to the GC.
Added global _gdk_fb_screen_gc to use instead of
NULL when drawing to the screen.
Added _gdk_fb_gc_calc_state() prototype.
* gdk/linux-fb/gdkgc-fb.c:
Call _gdk_fb_gc_calc_state() on any gc state change.
* gdk/linux-fb/gdkglobals-fb.c:
Add _gdk_fb_screen_gc
* gdk/linux-fb/gdkdrawable-fb2.c:
_gdk_fb_gc_calc_state() calculates best functions
for the GC state and depth.
Moved bpp specialized code to separate functions.
Added optimized 24 bpp AA draw_drawable.
* gdk/linux-fb/gdkevents-fb.c:
Silence gcc warning.
* gdk/linux-fb/gdkimage-fb.c:
Use _gdk_fb_screen_gc
* gdk/linux-fb/gdkwindow-fb.c:
Init and use _gdk_fb_screen_gc
* gdk/linux-fb/mitypes.h:
Remove unused types.
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
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.
Sun Nov 12 22:15:35 2000 Robert Brady <robert@suse.co.uk>
* gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c:
g_filename_{to,from}_utf8 now takes an extra parameter.
* gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
strftime into UTF-8.
(column_from_x, gtk_calendar_paint_day_names): Support RTL
calendars.
(gtk_calendar_paint_day_names): Draw day names in the right
place.
Sun Nov 12 14:10:09 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
problem with using result of g_get_charset() backwards -
pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
* gtk/gtkwindow.c (gtk_window_compute_hints): Support
negative min_width/height and max_width/height to
mean "requisition"; this allows setting a window
to be user-resizable in only one direction easily.
* gtk/testgtk.c (create_main_window): Remove hard-coded
usize - set a default size in the vertical direction.
2000-11-09 Alexander Larsson <alexl@redhat.com>
* demos/testgtk/menus.c:
Changes to make the new testgtk compile after
gtk_menu_append was removed.
* gdk/linux-fb/gdkdrawable-fb2.c
(gdk_fb_get_depth, gdk_fb_get_visual,
gdk_drawable_impl_fb_class_init): Implement
these drawable functions. Now GtkImages work again.
* gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
* gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
* gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
2000-11-07 Alexander Larsson <alla@lysator.liu.se>
* gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
gdk/linux-fb/gdkwindow-fb.c:
use g_object_new() instead of g_type_create_instance() which
is a private function for fundamental type implementations.
* gdk/linux-fb/gdkinput-ps2.c:
Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
instead just store the current modifier state. Add a (somewhat broken)
keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
Rename exported function gdk_input_ps2_get_mouseinfo to
gdk_input_get_mouseinfo.
* gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
gdk/linux-fb/gdkwindow-fb.c:
gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
2000-11-02 Havoc Pennington <hp@redhat.com>
* gtk/testgtk.c (create_labels): had a test backward
* gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
fields, so the dest GC ends up with the correct clip origin,
etc. Fixes a bug where colored labels didn't redraw
properly.
2000-11-02 Alexander Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
Add last argument to t_type_register_static call.
* gdk/linux-fb/gdkdrawable-fb2.c:
Add last argument to t_type_register_static call.
export the get_image drawable virtual function.
* gdk/linux-fb/gdkimage-fb.c:
Add last argument to t_type_register_static call.
rename gtk_image_get to _gdk_fb_get_image and
export it for use by gdkdrawable-fb2.
* gdk/linux-fb/gdkprivate-fb.h:
export _gdk_fb_get_image.
* gdk/linux-fb/gdkselection-fb.c:
Add new api call stubs.
* gtk/Makefile.am:
Missing ( in linux-fb part.
* modules/linux-fb/Makefile.am:
Must link with gdk_pixbuf or get unresolved symbol.
2000-11-01 Havoc Pennington <hp@redhat.com>
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
Clip the rectangle to be rendered to the drawable, since
get_from_drawable() requires a region within the drawable
2000-11-01 Havoc Pennington <hp@pobox.com>
* gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create
a pixbuf pointing to a subregion of another pixbuf.
2000-11-01 Havoc Pennington <hp@pobox.com>
* gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
on a label
(gtk_label_finalize): unref the attr list if any.
* gtk/testgtk.c (create_get_image): close test on second click
(make_message_dialog): close dialog if it exists
* gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
* gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
gdk-pixbuf
* gtk/gtklabel.c (gtk_label_set_markup): new function to set label
from Pango markup format
(gtk_label_set_markup_with_accel): ditto but with accelerator
parsing
* gtk/gtkimage.c (gtk_image_expose): reformatting.
* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
reflect current state of GDK - use gdk_drawable_get_colormap, etc.
Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to
call gdk_window_get_origin().
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
implement GDK_PIXBUF_ALPHA_FULL
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.
2000-10-25 Robert Brady <robert@suse.co.uk>
* gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
gdk_property_delete): If window == NULL, assume the root window.
(restoring the behaviour that was in 1.2).
--------------------------------------------------------------------
2000-10-25 Tor Lillqvist <tml@iki.fi>
* gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
* gdk/win32/gdkdrawable-win32.c
* gdk/win32/gdkimage-win32.c
* gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
X11 backend.
* gdk/win32/gdkcc-win32.c
* gdk/win32/gdkcolor-win32.c
* gdk/win32/gdkfont-win32.c
* gdk/win32/gdkinput-win32.c
* gdk/win32/gdkmain-win32.c
* gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
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
2000-10-22 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkgc-win32.c
* gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
Patches by Hans Breuer:
* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
SetBkMode() and SetTextAlign() before calling
pango_win32_render().
* gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
Set hcliprgn to NULL after destroying it.
(gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
* gdk/win32/gdkgeometry-win32.c
(_gdk_windowing_window_queue_antiexpose): More effective
implementation.
* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
depth as default, not the visual's.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
against empty title.
* gdk/win32/gdkprivate-win32.h: Define a helper macro,
IMAGE_PRIVATE_DATA.
* gdk/win32/gdkimage-win32.c (gdk_image_get_type): Use it.
2000-10-18 Havoc Pennington <hp@redhat.com>
* gtk/gtk-sections.txt: Some updates
* gdk/gdk-sections.txt: remove GdkPixbufAlphaMode
* gdk-pixbuf/gdk-pixbuf-sections.txt: Add new API, remove
GdkPixbufClass/GdkAnimationClass since those are private
* gdk-pixbuf/Makefile.am (IGNORE_HFILES): ignore more headers
2000-10-18 Havoc Pennington <hp@redhat.com>
* gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug
where any number of empty lines would get skipped
* gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
edge.
* gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
warning about invalid iterators (explain more thoroughly)
(gtk_text_iter_in_region): rename gtk_text_iter_in_range
* gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
big
* demos/*.c: Add error handling
* gtk/gtktextbuffer.c: don't modify const iterators
* gtk/gdk-pixbuf-loader.c: Add full error handling here
* gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
on file load
* gtk/gtkiconfactory.c: Update to reflect addition of error
handling to gdk-pixbuf loaders
2000-10-16 Havoc Pennington <hp@redhat.com>
* gdk-pixbuf-io.c (gdk_pixbuf_get_module)
(gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module):
add error reporting here also
* make-inline-pixbuf.c (main): use GError
* io-xpm.c: include unistd.h
* gdk-pixbuf-util.c: include string.h
* io-*.c: add error reporting
* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
error reporting
* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting
* gdk-pixbuf-io.h: Add GError** to load_increment and load
methods
* gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return
a G_FILE_ERROR if we fail to write or close the file.
* gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
the GError naming rules. Add GError** to load functions.
2000-10-09 Tor Lillqvist <tml@iki.fi>
* README.win32: Update.
* gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
lines that had been deleted by mistake (?).
* gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
also the case fg==white and bg==black (but still not randomly
coloured cursors). Thanks to Wolfgang Sourdeau.
* gdk/win32/*.c: Silence gcc -Wall.
* gtk/gtk.def: Add missing entry points.
Fixes by Hans Breuer:
* gdk/makefile.msc
* gdk/win32/makefile.msc: Update.
* gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
some MSVC thing, presumably), cause breakpoint on failures. Add
GDK_NOR case. Call g_log_set_always_fatal.
* gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
should be pased by reference.
* gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
* gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
* gdk/win32/gdkevents-win32.c
* gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
* gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
implementation object.
* gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
not just windows.
* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
Use the wrapper object.
2000-10-06 Havoc Pennington <hp@redhat.com>
* Makefile.am (SRC_SUBDIRS): contrib subdir
* gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
so it can be used in Xlib version
* demos/testpixbuf.c (update_timeout): error checking from 1.0
tree
* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
change from 1.0 tree that returns first frame of animation
if the loaded file is an animation.
* contrib: add new directory to hold stuff that comes with GTK+
but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
* configure.in: add contrib/*
2000-10-06 Havoc Pennington <hp@redhat.com>
* gdk-pixbuf.h: add GdkPixbufAlphaMode
2000-10-06 Havoc Pennington <hp@redhat.com>
This entry is a summary of the merged-in changes from 1.0.
Relevant original ChangeLog entries are spliced in after
this entry; the files they refer to are from the 1.0
gdk-pixbuf sources.
* pixops/pixops.c (pixops_composite_nearest): sync a small fix
from 1.0
* io-xpm.c (xpm_seek_string): add fscanf error check from 1.0
Add progressive loader from 1.0
* io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes
from 1.0 tree
* io-pnm.c: new version from 1.0 tree
* io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use
malloc not g_malloc
* io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to
g_warning
(gif_get_next_step): return 0 here, sync from 1.0
* gdk-pixbuf-util.c: sync email address change for Cody
Russell
2000-09-11 Jeffrey Stedfast <fejj@helixcode.com>
* gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because
last nights code was still "broken". Should now properly handle
all error conditions gracefully.
2000-09-10 Jeffrey Stedfast <fejj@helixcode.com>
* gdk-pixbuf/io-pnm.c: Rewrote.
2000-09-09 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute
the correct dest offset.
2000-08-25 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/io-xpm.c: #include <unistd.h>
2000-08-05 Larry Ewing <lewing@helixcode.com>
* gdk-pixbuf/io-tiff.c: stop leaking context->tempname.
* gdk-pixbuf/io-xpm.c: same as above.
2000-07-26 Michael Meeks <michael@helixcode.com>
* gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make
g_malloc a malloc.
2000-07-21 Larry Ewing <lewing@helixcode.com>
* gdk-pixbuf/io-xpm.c: add a fake progressive loader so that
xpm at least supports the progressive interface like the one in
io-tiff.c. This should be reimplemented as an actual progressive
loader.
2000-07-19 Jonathan Blandford <jrb@redhat.com>
* demo/pixbuf-demo.c (update_timeout): changed scaling level to
make it look better.
* gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael
meeks to handle errors better.
Mon Sep 25 15:05:17 2000 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
Add gdk_window_iconify.
* gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
(gdk_window_set_geometry_hints): Add win_gravity
to geometry structure.
* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
Implement _NET_WM_PING.
* gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
Set _NET_WM_PID on the client leader.
* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
Handle UTF-8 better.
* gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
UTF-8 better, set _NET_WM_NAME as well. Only set
icon name if it hasn't previously been explicitely
set.
2000-10-03 Tor Lillqvist <tml@iki.fi>
* config.h.win32: Guard definition of alloca(). glib.h now handles
that.
* gdk/gdk.def
* gtk/gtk.def: Add new entry points.
Changes just to make GTK+ build without errors on Win32. No hope
of it working in its current state, though...:
* gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings. Add
some functions from the X11 backend, just to make GTK+ build.
* gdk/makefile.mingw.in
* gtk/makefile.mingw.in: Use correct gdk_pixbuf version
number. Add new object files.
* gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
GetMessageTime to get timestamp (where on X11 uses
gdk_x11_get_server_time()).
Thu Sep 14 12:21:12 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktexttypes.[ch]: Remove g_convert (moved to
glib) and now useless utf_to_latin1() latin1_to_utf()
* gtk/gtktextview.[ch]: Change ::move_insert and
::delete_text action signals to ::move and ::delete;
create the signals with the right enumeration type,
not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
C-v bindings, change Home, End to move to beginning/end
of line, Add C-Home C-End to move to beginning/end
of buffer. Change ::cut_text to ::cut_clipboard, etc;
combine ::scroll_text into ::move; use new GtkSelectionData
functions to simplify DND text handling.
* gtk/gtkenums.h gtk/gtktextview.h: Move movement,
deletion enumerations here, rename enumeration values to
be consistently plural.
* gtk/gtktextbuffer.c: Use new clipboard interfaces
for cut/copy/paste and primary selection.
* gtk/gtktextbuffer.[ch]: Remove excess time and
'interactive' arguments from cut/copy/paste;
rename cut to cut_clipboard, etc; remove
gtk_text_buffer_get_clipboard_contents().
* gtk/gtktextlayout.[ch]: Add
gtk_text_layout_move_iter_to_line_end() to move the iter to
line ends.
* gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
Functions to set or get a UTF-8 string on the selection
data.
* gtk/gtkclipboard.[ch]: New, simplified selection handling
interfaces.
* gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
created widgets - one of these is useless if we don't.
* gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
a public function clear all targets registered for the
widget.
* gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
Never call gtk_widget_realize() - that was just asking
for bizarre side-effects.
* gtk/gtkselection.c (gtk_selection_owner_set): Call
gdk_selection_owner_set even if the widget is the
same so that we reliably update the timestamp on
the server.
* gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a
gdk_x11_get_server_time() function.
* gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
Add some tricky filtering on serial numbers for
selection clear events to fix up long-standard
race condition FIXME's in gtkselection.c.
* gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
routines to convert from utf8 to compound text or
STRING and from a text property to UTF-8.
* gtk/gtkmain.[ch] (gtk_get_current_event_time): Add
a convenience function gdk_get_current_event_time().
* gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
and free selection_data->data properly
2000-09-07 Tor Lillqvist <tml@iki.fi>
* gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
* gdk/win32/gdkwin32.h: Add more definitions missing from the free
w32api headers.
* gdk/win32/gdkprivate-win32.h: Add a couple of missing
declarations.
* gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
(gdk_win32_get_colormap): A line had been deleted by mistake.
* gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
(gdk_event_translate): Handle more virtual keycodes to be able to
generate GDK events for Control-comma, Control-period, etc.
* gtk/gtk.def: Add some missing entry points.
2000-09-07 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
like on Unix.
Thu Sep 7 11:47:02 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
Doc comment fixing. (Mostly non-matching parameter names.)
* gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
comments a little to avoid looking like a doc comment.
* gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
conversions be changed to GError?)
* gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT):
Move private #defines into .c file.
* gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
order of argument addition, remove duplicates.
* gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
parent class is FrameClass, not BinClass.
* gtk/gtk.h: Add gtkinvisible, which was missing.
(It's occasionalyl useful for client apps, if seldom.)
* gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
#define.
2000-09-05 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in (use_mmx_asm): Remove conftest* after use along the
lines of AC_TRY_COMPILE.
* .cvsignore updates
Fri Sep 1 15:34:46 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
moving a toplevel window immediately after sizing it would
result in it being sized back to the old size since
impl->width, impl->height aren't updated until we hear
back from the server. There is still a (longstanding) bug
here that gdk_window_get_size() will give the wrong size
until we do hear back.
Fri Aug 25 12:16:15 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
from switch statements, since Tor removed the enumeration
value.
* gdk/x11/gdkimage-x11.c (gdk_image_get):
s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
Try to fix a bug where a window move, with a non-rectangular region unobstructed, would cause
pieces of the window to be moved twice. Effectively, sort of implement a
gdk_draw_drawable_region(drawable, gc, drawable, region, dx, dy);
Am going blind trying to find the off-by-one thing, especially since it doesn't happen except for
the preview tests. Still not fixed, have at it.
2000-08-20 Tor Lillqvist <tml@iki.fi>
* gdk/gdkimage.h
* gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
shared memory image+pixmap GdkImage type, or
gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
I am dropping that.
* gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
actually call gtk_init_abi_check(), passing also
sizeof(GtkWindow). Ditto for gtk_init_check().
* gtk/gtk.def
* gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
New functions, used to check that the GTK+-using code has been
compiled using the correct compiler and switches. In particular,
with gcc one has to use the -fnative-struct switch as GTK+ is
compiled with that.
Fri Aug 18 17:27:46 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
->prev fields when merging lists. (Found simultaneously
by Pawel Salek and Jakub Jelinek)
2000-08-12 Tor Lillqvist <tml@iki.fi>
* gdk/gdk.def
* gtk/gtk.def: Add missing entries.
* gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
OUT_TT_ONLY_PRECIS, try to get a TrueType font.
* gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
function. Dummy implementation at this point.
* gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
rules. Undefine GTK_COMPILATION when compiling the test programs.
* gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
* gdk_pixbuf.def: Add missing entry point.
2000-08-10 Havoc Pennington <hp@redhat.com>
* Makefile.am (snapshot): Change the format of the snapshot
version to match glib
* gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
from EXTRA_DIST since it doesn't seem to exist
2000-08-10 Havoc Pennington <hp@redhat.com>
* Makefile.am (EXTRA_DIST): The *.def files had the wrong names
(s/pixbuf_/pixbufloader_)