Commit Graph

71 Commits

Author SHA1 Message Date
Tor Lillqvist
37cfb7d74b Move the test for no segments before the assertion for non-NULL segment
2000-02-14  Tor Lillqvist  <tml@iki.fi>

* gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
before the assertion for non-NULL segment list.

* gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
Seems that pattern brushes *must* be 8x8 pixels! At least on my
machine, but it might be display driver dependent. Sigh, so make
sure the stipple is that size. Does Windows suck or what?

* gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
places.
2000-02-13 23:19:23 +00:00
Tor Lillqvist
ff99eb7cc1 Add an extra parameter so that we don't have to do unnecessary settings to
2000-02-13  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
so that we don't have to do unnecessary settings to the HDC.

* gdk/win32/gdkdrawable-win32.c
* gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
gdk_gc_predraw.

* gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
GDI paths, call WidenPath to get the outline of the stroken path,
and then fill the outline (with the brush that was built from the
stipple).

* gdk/win32/gdkgc-win32.c: Factor out common code from
_gdk_win32_gc_new and gdk_win32_gc_set_values into
gdk_win32_gc_values_to_win32values.

* gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
gdk_win32_api_failed): New functions for error logging.

* gdk/win32/gdkprivate-win32.h: Declare them, and a macro
WIN32_API_FAILED to call them, passing function or file name and
line number.

* gdk/win32/*.c: Use the WIN32_API_FAILED macro.

* gdk/win32/gdkprivate-win32.h: Store just the pixel values from
GdkColor for foreground and background in GdkGCWin32Data.

* gdk/makefile.cygwin: Link in the resource object separately.

* gdk/win32/rc/gdk.rc
* gtk/gtk.rc (New file)
* gdk/win32/makefile.cygwin
* gtk/makefile.cygwin: Update build number in DLLs automatically,
as in GLib.
2000-02-13 14:52:47 +00:00
Tor Lillqvist
e57b1afa2b Use g_filename_to_utf8 to convert the font names Windows gives us from
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.
2000-02-03 01:19:03 +00:00
Tor Lillqvist
72fc042792 Fix two copy&paste errors.
1999-11-25  Tor Lillqvist  <tml@iki.fi>

* gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin):
Fix two copy&paste errors.

* gdk/makefile.cygwin: Also rebuild DLL when the static archive in
win32 has changed.

* gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
GdkWin32SingleFont struct.

* gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
subranges of loaded fonts. Clear font signature first, in case
GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.

* gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
Unoffset clip region.
1999-11-25 00:27:11 +00:00
Tor Lillqvist
143002cac5 Remove, as this is a file generated by configure (or copied from
1999-11-21  Tor Lillqvist  <tml@iki.fi>

* gdk/gdkconfig.h: Remove, as this is a file generated by configure
(or copied from gdkconfig.h.win32 on Win32, sigh).

* gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.

* gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
1999-11-21 22:56:37 +00:00
Tor Lillqvist
8e06c4d7f4 Further hacking. Now actually compiles. Haven't tried yet whether
actually does anything useful... Time for bed.
1999-11-20 01:22:57 +00:00
Tor Lillqvist
b6524a84f5 Intermediate commit. 1999-11-19 01:09:13 +00:00
Tor Lillqvist
c00a9a84ea Also for truecolor drawables use just the pixel field in the foreground
1999-11-18  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
drawables use just the pixel field in the foreground and
background GdkColor of the GdkGC.

gdk_gc_set_{fore,back}ground() are called in the GIMP with
GdkColors containing uninitialized (red,green,blue) fields, and
just the pixel field filled in, and furthermore in the
visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
It thus turns out that we really don't need to have the full
GdkColor for fg and bg in GdkGCWin32Data after all. Will change
it later to have just the pixel values.

(Note that this version of gdkgc-win32.c still is the old gdkgc.c,
it won't compile in the reorganised directory structure.)
1999-11-18 22:03:24 +00:00
Tor Lillqvist
eec6970fe2 Intermediate commit. I go to bed now. 1999-11-17 00:45:37 +00:00
Tor Lillqvist
638ebcee70 re-adding for manual rename of repository files. 1999-11-11 22:12:27 +00:00
Tor Lillqvist
84477de7fc Just renamed the Win32 backend files to *-win32. 1999-11-10 00:04:17 +00:00
Tor Lillqvist
b5f414a1a5 gdk/win32/gdkdraw.c gdk/win32/gdkfont.c Various minor cleanups and
1999-11-08  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkdraw.c
* gdk/win32/gdkfont.c
* gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
following yesterday's changes. (Unrelated to Owen's reorg.)
1999-11-08 21:34:06 +00:00
Tor Lillqvist
0ad4aa57d6 New font private structures, related to fontsets.
1999-11-07  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkprivate.h: New font private structures, related to
fontsets.

* gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
gdk_font_list_free(). On X11, will just be wrappers to
XListFonts() and XFreeFontNames(). On Win32, the code previously
in gtkfontsel.c is now here.

New function gdk_font_xlfd_create(). On X11 will get the FONT
property of the font (for GDK_FONT_FONTs), or call
XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
builds a XLFD style name from the font information in the LOGFONT
struct(s).

New function gdk_font_xlfd_free(), which correspondingly frees the
string returned by gdk_font_xlfd_create().

Implement fontsets on Win32. Add a function that iterates over a
wide char string and calls a callback function for each substring
of wide chars from the same Unicode subrange (and thus probably
available in the same real font).

Improve the XLFD emulation a bit.

* gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.

* gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
Beta3, WM_IME_CHAR messages don't seem to contain the composed
multi-byte char as with the Active IMM on Win9x. Oh well, handle
WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
ImmGetCompositionStringW() to get the composed Unicode chars.

* gdk/win32/gdkgc.c
* gdk/win32/gdkdraw.c: Changes needed because of the font private
struct changes.

* gdk/win32/gdk.def: Add the new functions.
1999-11-08 00:09:29 +00:00
Tor Lillqvist
00c5e83871 Add new keysyms from X11R6.4 (including EuroSign).
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".
1999-10-31 21:35:39 +00:00
Tor Lillqvist
d23e3848a9 Corresponding changes as in X11 backend.
1999-10-05  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/*.[ch]: Corresponding changes as in X11 backend.

* gdk/win32/gdkcompat.c: New file, actually provide an
implementation for the deprecated functions. (Just temporarily.)

* gtk/gtkfilesel.c: Fix an #ifdef syntax botch.

* gtk/makefile.{cygwin,msc}: Update gdk_headers.

* gdk/win32/gdk.def gtk/gtk.def: Updates.
1999-10-05 19:04:48 +00:00
Tor Lillqvist
4c84db87d9 A few includes added for the picky MSVC compiler. 1999-10-02 22:53:45 +00:00
Tor Lillqvist
c50941c82d Change GDK_WINDOWING_WIN32 usage to #ifdef also here.
1999-10-03  Tor Lillqvist  <tml@iki.fi>

* gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
to #ifdef also here.

* gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
Owen did to the X11 backend.

* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
ScrollWindowEx when blitting inside a window, it can't be correct
in the general case.

* gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
WM_GETMINMAXINFO is easier.

* gdk/win32/gdkimage.c (gdk_image_new): Create new image with
depth equal to the bitspixel value, not the visual's depth.

* gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
to 24 even if the bitspixel value is 32.

* gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
need to check for depth==32 when bpp==32, depth will always be 24.
1999-10-02 22:42:58 +00:00
Tor Lillqvist
29b00ba8e5 Fix a cut&paste error that caused crashes.
* gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
	error that caused crashes.
1999-08-19 19:10:26 +00:00
Tor Lillqvist
d142187b38 Fixes to the win32 backend to actually be able to compile within a
directory hierarchy like this, with common gdk.h and gdktypes.h
for all backends. gdkrectangles.c and gdkrgb.c is copied before
compilation from the x11 backed (which still is in .., but
eventually will be in ..\x11).
1999-03-17 20:12:47 +00:00
Tor Lillqvist
91ed4f809f Some bug fixes and improvements to the Win32 GDK. 1999-03-07 22:25:54 +00:00
Tor Lillqvist
9f3b82e178 Win32 version of GDK source files and resource files (cursors and icons). 1999-03-05 19:53:56 +00:00