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.
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-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.
2000-05-02 Tor Lillqvist <tml@iki.fi>
Large changes to the Win32 backend, partially made necessary by
the changes to the backend-independent internal
structures. Attempts to implement similar backing store stuff as
on X11. The current (CVS) version of the Win32 backend is *not* as
stable as it was before the no-flicker branch was merged. A
zipfile with that version is available from
http://www.gimp.org/win32/. That should be use by "production"
code until this CVS version is usable. (But note, the Win32
backend has never been claimed to be "production quality".)
* README.win32: Add the above comment about versions.
* gdk/gdkwindow.c: Don't use backing store for now on Win32.
* gdk/gdk.def: Update.
* gdk/gdkfont.h: Declare temporary Win32-only functions. Will
presumably be replaced by some more better mechanism as 1.4 gets
closer to release shape.
* gdk/makefile.{cygwin,msc}: Update.
* gdk/win32/*.c: Correct inclusions of the backend-specific and
internal headers. Change code according to changes in these. Use
gdk_drawable_*, not gdk_window_* where necessary.
* gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
our old DND.
* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
to interpret single characters as UTF-8. Thanks to Hans Breuer.
Use correct function name in warning messages.
* gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
GSourceFuncs gdk_event_prepare and gdk_event_check.
(gdk_event_get_graphics_expose): Do implement, use
PeekMessage. Thanks to Hans Breuer.
(event_mask_string): Debugging function to print an GdkEventMask.
(gdk_pointer_grab): Use it.
* gdk/win32/gdkfont-win32.c: The Unicode subrange that the
(old) book I used claimed was Hangul actually is CJK Unified
Ideographs Extension A. Also, Hangul Syllables were missing.
Improve logging.
* gdk/win32/gdkgc-win32.c: Largish changes.
* gdk/win32/gdkim-win32.c (gdk_set_locale): Use
g_win32_getlocale() from GLib, and not setlocale() to get current
locale name.
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
gdkwin32.h, similarily as in the X11 backend.
* gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
assignment was used instead of equals in if test. Thanks to Hans
Breuer.
* gdk/win32/makefile.{cygwin,msc}
* gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
path to the Win32 headers that works also with the mingw compiler.
* gtk/gtkstyle.c: Include <string.h>.
2000-03-04 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
just pixel value of background colour.
* gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
containing code snippet previously duplicated in a couple of
places.
* gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
gdk_colormap_color.
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
events for autorepeated Shift, Control and Alt keys. Use
gdk_colormap_color.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
pointer is inside the window the cursor of which we are setting,
call SetCursor immediately.
* gdk/win32/makefile.cygwin
* gtk/makefile.cygwin: If we don't have the build number stamp
file, use zero.
* gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
gtk_paned_set_gutter_size as empty.
* gtk/gtk.def: Remove gtk_paned_set_gutter_size.
2000-02-04 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
g_filename_to_utf8 to convert the font names Windows gives us from
whatever is the default codepage to UTF-8.
(gdk_font_load_internal) Use g_filename_from_utf8 for conversion
in the other direction.
* gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
error in debugging output.
2000-02-02 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
and height parameters to gdk_window_clear_area(). Not minus one.
2000-02-01 Tor Lillqvist <tml@iki.fi>
* gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
g_filename_from_utf8 functions (which were added a moment ago to
GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
size buffers.
* gtk/gtkfilesel.h: Add comment about
gtk_file_selection_get_filename returning the filename in the C
runtime's encoding.
* README.win32
* gdk/gdk.def
* gdk/makefile.{cygwin,msc}
* gtk/gtk.def: Updates.
* gdk/gdkcursor-win32.c: Initialise refcount.
1999-10-31 Tor Lillqvist <tml@iki.fi>
* gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
EuroSign).
* gdk/gdktypes.h: Add note about wchar_t not necessarily being the
same type as GdkWChar, especially on Win32.
* gdk/win32/*.c: Change gdk_root_parent to be a pointer.
* gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
before passing to Windows GDI for drawing etc. Convert to the
system default codepage before passing to Windows as window
titles.
* gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
support changing input locale on the fly.
* gdk/win32/gdkevent.c: Support input language (keyboard locale)
on-the-fly changes. Convert incoming characters from the current
codepage to Unicode (and then to a UTF-8 multi-byte string) based
on the current input language. Use keysym<->Unicode mapping tables
and functions borrowed from xterm sources.
Support IMEs (Input Method Editors) for CJK languages. On non-CJK
editions of Win9x, use the ActiveX-based Active IMM (Input Method
Manager) if available. IMEs and the Active IMM are available under
the disguise of Chinese, Korean and Japanese support for IE and
Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
support is present in all editions (as long as you install it).
Call DispatchMessage from gdk_events_queue() (and thus
gdk_WindowProc()), instead of duplicating the code in
gdk_WindowProc().
Reworked the grab handling and propagation code, factored out
duplicated code snippets into separate functions. Other cleanups,
too.
* gdk/win32/surrogate-dimm.h: Provide just the bits we need from
the <dimm.h> header describing the Active IMM.
* gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
just do the same as for "single" fonts.
* gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
the new keysyms from gdkkeysyms.h.
* gtk/gtkfontsel.c (Win32): Load the font for the preview as a
fontset, so that gtkentry uses wide characters.
* gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
GTk+'s system directory "gtk+", not "gtk".
* gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
endpoint calculations which were totally wrong. (A little RTFMing
helps a lot ;-)
* gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
from a separate directory, not from gettext, because of licensing
issues (we want to use the LGPL version).
* README.win32: Mention the intl from glibc vs from gettext issue.
* README.win32
* config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
the Wintab SDK.
* gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
OK, but getting closer. Guard against bogus tilt data from Wacom
ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
enable easier building without Wintab.
* gdk/win32/gdkinput.h
* gdk/win32/gdkevents.c
* gdk/win32/gdkwindow.c: Minor changes related related to above.
* gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
code. As we have just one visual on Win32, no sense to have it in a
table, and no need for the hash table.
* README.win32: Update gcc build instructions. Mention gettext is
GPL.
* gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
supported cursor size with GetSystemMetrics.
* gdk/win32/gdkfont.c
* gtk/gtkfontsel.c: Guard against some font weight and charset
symbols being undefined (in mingw32 headers).
* gdk/win32/makefile.cygwin
* gtk/makefile.cygwin
* gtk/gtkthemes.c: No longer need to have differently named
gcc-built DLLs when using gcc-2.95 and -fnative-struct.
* gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
it. Obscure bit manipulation needed.
* gdk/win32/gdkevents.c: Logging.
* gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
style (file name include compiler name) for theme engines.
* README.win32: Mention using GNU gettext.
* config.h.win32: Enable NLS stuff.
* gtk/makefile.msc: Use GNU gettext.
* gdk/win32/gdkdnd.c: Minor header reorg.
* gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
cosmetics.
* gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
* gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
* gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
* config.h.win32: Changes for gcc.
* gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
* gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
* gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
* gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
Protect shl stuff unavaiilable with mingw32 headers.
* gdk/win32/gdkevents.c: Fix typo.
* gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
* gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
* gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
* gdk/win32/gdkprivate.h: Make up for some stuff missing from
the mingw32 headers.
* gdk/win32/makefile.msc: Use latest Wintab kit and glib.
* gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
* gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
Test for NATIVE_WIN32, not _MSC_VER.
* gtk/gtkmain.c: No use warning about developer version on Win32,
there aren't any non-developer versions anyhow.
* gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
* gtk/makefile.msc: Use pthread from another directory. Minor other
changes.
* configure.in: Check for lstat.
* config.h.win32: Add non-definition of HAVE_LSTAT, just for
completeness.
* gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
* gtk/gtk.def: Removed CRs.
* gtk/makefile.msc: Correct include path to Win32 GDK version (in
..\gdk\win32).
* gdk/win32/makefile.msc: Correct upwards relative paths.