2000-07-23 Tor Lillqvist <tml@iki.fi>
More work on GDK for Win32. Still in an intermediate state.
* gdk/makefile.cygwin
* gdk/win32/makefile.cygwin: Removed.
* gdk/makefile.mingw.in
* gdk/win32/makefile.mingw.in: New files.
* gdk/Makefile.am
* gdk/win32/Makefile.am: Generate and distribute them.
* gdk/win32/gdkwindow-win32.h
* gdk/win32/gdkdrawable-win32.h
* gdk/win32/gdkpixmap-win32.h: New files.
* gdk/win32/gdkcolor-win32.c
* gdk/win32/gdkcursor-win32.c
* gdk/win32/gdkgc-win32.c
* gdk/win32/gdkimage-win32.c
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
don't use fields and variables called xcursor, xid, etc (leftovers
from the X11 backend).
2000-07-23 Tor Lillqvist <tml@iki.fi>
* configure.in: Check for mkstemp and sigsetjmp. Output
gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
Sat Jul 22 11:16:05 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextview.c (changed_handler): Fix bug where
redraw wasn't being done properly when height of
dirty region changed.
* demos/Makefile.am: Remove various references to
-lgmodule
* Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule
Fri Jul 21 15:28:13 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
PangoAttrShape to reserve space for pixmaps, add
GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
in the display functions.
* gtk/testgtk.c (create_layout): Set some more exotic
scrolled window options
* gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
Add function to set the shadow type of a window, to allow
putting a shadow around widgets such as GtkLayout or GnomeCanvas
which don't draw their own frame.
Fri Jul 21 14:23:51 BST 2000 Tony Gale <gale@gtk.org>
* docs/tutorial/gtk-tut.sgml: Minor updates
* docs/tutorial/*.jpg *.eps: Screenshots for tutorial
2000-07-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
gtk/gtktypeutils.h: Include files outside of the extern "C"
block. Makes some C++ compiler happy. Reported by Denis Vakatov
<vakatov@peony.nlm.nih.gov>.
I really hope not to have caused a merging nightmare for all
the branches out there. Otherwise I'll be available for crucifixion.
Mon Jul 17 18:52:38 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
paint the background of the text area which was accidentally
removed at some point.
* gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]:
- Move most of the functionality from the theme vtable
into GtkRcStyleClass and GtkStyleClass. The moved
vtable functions were changed a bit in the move to
work better in their new home.
- Get rid of the engine and engine_data fields from
GtkRcStyle and GtkStyle; instead the theme
engine derives theme-specific subclasses of GtkRcStyle
and GtkStyle
- Add extra dlsym() found entry point to themes,
theme_create_rc_style().
* gtk/gtkstyle.c: Copy xthickness, ythickness fields
in gtk_style_real_copy.
* gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
to register a type associated with an engine. (The engine
won't be unloaded as there is an instance of the type.)
2000-07-15 Tor Lillqvist <tml@iki.fi>
* gdk/testgdk.c: New file, quick hack to test backends for
pixel-by-pixel correctness of the most simple graphic operations.
Fri Jul 14 20:30:25 2000 Owen Taylor <otaylor@redhat.com>
* Really release 1.3.1
* gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
include structure.
Fri Jul 14 16:21:26 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextlayout.c: use FALSE for size_only most
of the time when calling gtk_text_layout_get_line_display()
to avoid causing double reshapes when a redraw follows
immediately after.
Tue Jul 11 11:13:40 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
appropriate region and gdk_window_process_updates() so trough
updating doesn't lag behind the window being scrolled.
* gdk/gdkgc.c: Make parent_class pointer static.
Sun Jul 9 21:31:23 2000 Owen Taylor <otaylor@redhat.com>
* gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
include <string.h>.
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
cut-and-paste error in computing memory offset for 4 channels.
Fri Jul 14 14:05:02 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
gtk_rc_append_default_pixmap_path(), since it wasn't
adding an interesting path and we don't have a meaningful
default for this value.
Fri Jul 14 12:22:49 2000 Owen Taylor <otaylor@redhat.com>
* configure.in Makefile.am gtk-config.m4 gtk.m4: Move
gtk-config to gtk-config-2.0 move gtk_.m4 to
gtk-2.0.m4
* Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
gdk/Makefile.am demos/Makefile.am: Change
library names to libgtk-1.3.la, etc, so that we
can distinguish gtk-1.2 and gtk-2.0 on the linkline.
* Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
gdk/Makefile.am gdk/x11/Makfile.am
Move include files into /usr/include/gtk-2.0,
/usr/lib/gtk-2.0/include/
* autogen.sh acconfig.h configure.in gtk/gtkmain.c
gtk/gtkintl.h: Change package for gettext from
gtk+ to gtk20. Put hack in autogen.sh to modify
po/Makefile.in.in after gettextize to make this
possible.
* gtk+.spec: Some updates, not tested.
* gdk-pixbuf/Makefile.am: Move loaders into
$(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
* gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
$(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
to THEMENAME/gtk-2.0/. Move engine directory to
$(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
2000-07-12 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkcc-win32.c:
* gdk/win32/gdkcolor-win32.c
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkwin32.h: Changes to make compilable, with new
GDK object structure.
2000-07-12 Tor Lillqvist <tml@iki.fi>
Win32 changes, still doesn't build though.
* gdk/makefile.cygwin
* gdk/win32/makefile.cygwin
* gtk/makefile.cygwin: Updates.
* gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
default values for fg and bg pixel as X11 does (0 and 1), not
black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
Use 0 for pen width by default (treated as 1 anyway later, but for
apps that might check the value in the GdkGC).
(gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
interface to gdk_gc_predraw and _postdraw.
* gdk/win32/gdkwin32.h
* gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
* gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
extraneous semicolon.
* gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
* gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
not the Win32 bitspixel value.
Tue Jul 11 08:04:58 2000 Tim Janik <timj@gtk.org>
* gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
a bug here, never been here and never fixed anything ;(
(don't segfault if tree->root_tree is NULL, which happens prior
to widget realization, but puke instead).
Tue Jul 11 06:38:42 2000 Tim Janik <timj@gtk.org>
* gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
add the necessary tokens.
* gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
(gtk_rc_style_to_style): copy thicknesses.
(gtk_rc_init_style): apply thicknesses.
(gtk_rc_parse_style): parse xthickness and ythickness.
* gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
* gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new):
(gdk_window_new):
(_gdk_windowing_window_init):
* gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new):
(gdk_pixmap_create_from_data):
(gdk_bitmap_create_from_data):
(gdk_pixmap_new):
* gdk/x11/gdkimage-x11.c (gdk_image_get):
(gdk_image_new):
* gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new):
* gdk/x11/gdkdnd-x11.c (gdk_drag_context_new):
* gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
(gdk_colormap_get_system):
(gdk_colormap_new):
* gdk/gdkwindow.c (gdk_window_init):
* gtk/gtkstyle.c (gtk_style_new):
* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
* gdk/gdkpixmap.c (gdk_pixmap_init):
* gtk/gtkrc.c (gtk_rc_style_new):
use g_object_new() instead of g_type_create_instance() which
is a private function for fundamental type implementations.
Tue Jul 11 06:20:14 2000 Tim Janik <timj@gtk.org>
* io-gif.c (gdk_pixbuf__gif_image_load_animation):
* gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
use g_object_new() instead of g_type_create_instance() which
is a private function for fundamental type implementations.
Thu Jul 6 11:54:03 2000 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
gdk/x11/gdkmain-x11.c:
Patch from George Liebl to add a GdkGrabStatus enumeration to use
as a return value of gdk_*_grab(). Previously, we just
returned the X11 values directly.
2000-07-04 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
WM_SYSCHAR, and other changes to get handling of Alt+nnn or
Alt+0nnn on the numpad (used to enter characters by numeric code
from current DOS or ANSI codepage) working correctly, as in other
Windows apps.
* gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
same argument validity tests as in X11 version.
(_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
* gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
definitions in case missing from headers.
* gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): ALso
destroy the window-specific cursor.
(RegisterGdkClass): Use the global gdk_ProgInstance instead of
calling GetModuleHandle(NULL).
(gdk_window_set_cursor): Reworked to always copy the passed cursor
with CopyCursor before setting it. It is OK for the caller to
destroy the GdkCursor (and thus also the Windows cursor) after
calling this function. Also, destroy any previous cursor for this
window.
2000-05-29 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
variable should be of type GdkEventPrivate.
Mon Jul 3 17:54:49 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
font charset is iso8859-1, not iso-8859-1.
Mon Jul 3 17:08:14 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
Use g_get_charset() instead of g_get_codeset().
* gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h:
Comment out some strdup'ing functions to keep timj
happy until we finish fighting this out.
Mon Jul 3 14:24:16 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
<= width or height.
* gtk/gtktable.c (gtk_table_attach): Fix missed merge
from 1.2 for parent/child states.
* gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
of typos.
* gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
event structures, replace with a generic axes field. Replace
deviceid/source with GdkDevice *device.
* gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
to extract particular axis use value from event. (Also
can be used for normal X/Y.)
* gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
allow for arbitrary number of axes, namespace everything
as gdk_device_*. Replace guint32 deviceid with GdkDevice *
everywhere.
* gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}:
Get rid of the gdk_input_vtable setup if favor of simply
defining the functions in gdkinput-none/gxi/xfree.c in
a similar fashion to the way that the port structure is
done.
* gtk/gtkdnd.c: Fix fields of synthesized button press event
for new event structures.
* gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
new device interfaces.
Sun Jul 2 18:19:50 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
set the initial text.
* gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
* gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
pango_layout_set_font_description to simplify.
Sun Jul 2 17:06:40 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
* gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
PANGO_PIXELS() macro.
Sun Jul 2 14:37:58 2000 Owen Taylor <otaylor@redhat.com>
* gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call
gtk_widget_size_request() on reparented child, if one. Otherwise,
queue_resize() on the child never results in it getting size-requested
at all.
* gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
in option menus, so that (with luck) people won't copy it into
their apps in the future.
* gtk/gtkoptionmenu.c: Connect ::size_request on the menu
to gtk_option_menu_calc_size. This isn't perfect, but should fix
a lot of problems with changing the size of the menu's menu
items after adding it to the option menu.
* gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
* gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
the text direction for a widget changes.
* gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
::direction_changed to get rid of various hacks.
Sun Jul 2 13:06:26 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
flag to the structure. Do not call XFreePixmap on pixmaps created
by gdk_pixmap_foreign_new().
Sun Jul 2 12:45:50 2000 Owen Taylor <otaylor@redhat.com>
* gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
value using GdkRGB functionality given GdkColormap and GdkColor.
(name not final, waiting for inspiration.)
* gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
set the foreground/background of a GC using the GC's colormap
and GdkRGB. (name not final, waiting for inspiration.)
* gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from
gdk_rgb_get_cmap(), put #define in gdkcompat.h.
* gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
purely a function of the corresponding colormap. Make
gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
* gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
gdk_pixbuf_*create_from_xpm_* in terms of
gdk_pixbuf_new_from_xpm_data(), move into platform independent
code.
* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
advantage of the new draw_rgb_32_image_dithalign.
* gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
* gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
on each created GC.
* gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
* gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
which we initialize from the drawable when the GC is created,
if the drawable has a colormap.
* gdk/x11/gdkgc-x11.c: include string.h for memset.
* gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
* gtk/gtklayout.[ch]: Remove unsed configure serial member.
Sat Jul 1 16:28:32 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkevents-x11.c (gdk_event_translate): When
actually returning expose events, make sure to set
the count field properly.
* gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
accidentally reintroced bug which always cleared
the graphics_exposures value.
Mon Jun 26 19:37:04 2000 Owen Taylor <otaylor@redhat.com>
* configure.in: Put 1.3.1 in warning message, not 1.3.0.
(Fixes problem with drawing childless frames. Pointed out
by and a first patch from Anders)
* gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
compute a child_allocation, even if we don't have a child.
* gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
Always chain to the parent's impl, even if we don't have a child.
Mon Jun 26 18:53:31 2000 Owen Taylor <otaylor@redhat.com>
* gdk/gdkrgb.c: If possible, create only a single shm segment and
use multiple parts of it instead of creating a bunch of separate
segments, since the maximum number of segments per system is not
large. (This might be worth backporting to GTK+-1.2.x if we make a
new release )
* gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
structure in preparation for per-colormap GdkRGB.
* gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
to False when we get EINVAL from shmget so that the caller of
gdk_image_new can retry with a smaller segment size.