Commit Graph

1531 Commits

Author SHA1 Message Date
Tor Lillqvist
aafd722b21 Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a way to get
1999-08-27  Tor Lillqvist  <tml@iki.fi>

Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
way to get window contents continually refreshed while resizing. I
didn't like the effects myself, so it's not on by default.

* gdk/win32/gdkprivate.h: New flag variable
gdk_event_func_from_window_proc, FALSE by default.

* gdk/win32/gdk.c (gdk_init_check): Set above flag if the
environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
are passed --gdk-event-func-from-window-proc.

* gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
and we have am event_func, call it instead of enqueing the event.
1999-08-26 22:22:03 +00:00
Tor Lillqvist
cf451eb447 Fix from Simon Kelley: Set expose_count in GdkEventExposes correctly.
* gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
Kelley: Set expose_count in GdkEventExposes correctly.

* gdk/win32/gdkwindow.c: Remove dead code (#ifdef
MULTIPLE_WINDOW_CLASSES).

* gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
for bug in NT, apparently NT *does* draw the end pixel, too, in
LineTo with a one-pixel pen, so we don't have to do it ourselves.
1999-08-23 18:53:11 +00:00
Tor Lillqvist
b52072a7f8 Improvements by Hans Breuer:
* gdk/win32/gdkwindow.c (RegisterGdkClass): New function

	* gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
	CS_?REDRAW flags as they cause lots of (late) redraws when "show
	window contents while dragging" is turned on. Allocate at least
	one unique class for every GdkWindowType. If support for single
	window-specific icons is ever needed (eg. Dialog specific), every
	such window should get its own class.
1999-08-21 00:41:24 +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
70372ba8bd When blitting inside one window, use ScrollWindowEx, and call
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
	window, use ScrollWindowEx, and call UpdateWindow. This prevents
	bugs when for instance part of the window was outside the
	display. Thanks to Philippe Colantoni for finding and fixing this.
1999-08-17 17:47:14 +00:00
Tor Lillqvist
0455fa3029 Fix start and end radial endpoint calculations which were totally wrong.
* 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.
1999-08-16 04:45:01 +00:00
Tor Lillqvist
60fbf3800b Fix a couple of bugs in the key event handling: Now AltGr chars work
* gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
	in the key event handling: Now AltGr chars work again. Also,
	now Alt-digits are passed up as well as Control-digits.
	Pass keypad plus and minus as normal plus and minus.
1999-08-12 21:44:22 +00:00
Tor Lillqvist
0775c02e08 A couple of minor fixes, not worth any ChangeLog entry (?). 1999-08-06 19:13:08 +00:00
Tor Lillqvist
6af18860b6 Edit some of the cursors a bit to look better on white background.
* gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
 	better on white background.
1999-07-25 22:57:20 +00:00
Tor Lillqvist
51046a9fbf README.win32 Add HAVE_WINTAB. Undefine it if bulding without the Wintab
* 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.
1999-07-25 20:02:21 +00:00
Tor Lillqvist
45a3396064 Update gcc build instructions. Mention gettext is GPL.
* 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.
1999-07-21 19:27:25 +00:00
Tor Lillqvist
38aa9a941b Implement it. Obscure bit manipulation needed.
* 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.
1999-07-14 23:30:15 +00:00
Tor Lillqvist
e3c310e538 Less logging verbiage.
* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.

	* gdk/win32/gdkevents.c: Fix long-standing bug in key
 	events. The key.string wasn't zero-terminated, still we strdup'ed
 	it in gdk_event_copy(). Synthesize crossing events for button
 	events before possible propagation.

	* gdk/win32/gdkwindow.c: Log gdk_window_set_title.

	* gdk/win32/makefile.cygwin
	* gtk/makefile.cygwin: Use new DLL naming style for the
 	GCC-compiled ones.

	* gdk/win32/makefile.msc
	* gtk/makefile.msc: Cosmetics mostly.

	* gtk/gtk.def: Add missing entry points.

	* gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
1999-07-12 23:12:39 +00:00
Tor Lillqvist
c9b2958b6c Don't draw anything if width or height is zero. Don't print a warning if
* gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
 	or height is zero. Don't print a warning if Pie or Arc fails, they
	always fail (?) for very narrow ellipses.

	* gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
 	the part or the destination window corresponding to source area
 	outside of the source drawable's boundary.

	* gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
 	anything if less than two points.

	* gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
 	return NULL. Gtk cut-and-paste inside a single program works
 	better this way. (It always gets the clipboard contents from
 	Windows, not from its own copy, which is cleared anyway. I can't
 	say I fully understand what happens... Emulating the X selection
 	and property stuff is a bit of a mess.)

	* gdk/win32/gdkevents.c
	* gdk/win32/gdkproperty.c: A bt more verbose logging.

	* gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
 	that never got deleted). Revamp gdk_region_shrink.

	* gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
 	after use.

	* gtk/gtk.def: Add some missing entry points.

	* gtk/gtkrc.c: Strip trailing directory separator from pixmap path
 	component.
1999-07-10 00:26:54 +00:00
Tor Lillqvist
5363075ebd Handle Control-digits specially.
* gdk/win32/gdkevents.c (gdk_event_translate): Handle
 	Control-digits specially.
1999-07-03 23:31:50 +00:00
Tor Lillqvist
fee33a543d bpl was set wrong for bitmaps, should be multiple of 4. (Thanks to Hans
* gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
 	bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
 	finding this.)
1999-06-28 07:06:01 +00:00
Tor Lillqvist
a6afd23c5b Mention using GNU gettext. Enable NLS stuff. Use GNU gettext. Minor header
* 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.
1999-06-14 21:43:53 +00:00
Tor Lillqvist
16d002d074 AdjustWindowRectEx2 renamed to SafeAdjustWindowRectEx. Don't override all
* gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
 	SafeAdjustWindowRectEx. Don't override all calls to
 	AdjustWindowRectEx by it, but use it only in two places: When
 	creating a new top-level window and when moving a top-level
 	window.

	Use screen coordinate rectangle, not client rectangle, in
 	gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
 	when we try to place a window so that the decoration (mainly,
 	title bar) isn't visible.

	These changes fix the bug that showed up for instance as the
 	GIMP's saved top-level windows moving right and down (by an amount
 	equal to the window decoration) for each session. This bug showed
 	up also in testgtk's "Saved Position".

	gdk_window_resize also redone a bit.
1999-05-30 02:15:33 +00:00
Tor Lillqvist
34c2f20968 Add (commented out) Windows-style theme include line.
* gtk/testgtkrc: Add (commented out) Windows-style theme
	include line.

	* gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
1999-05-25 04:03:14 +00:00
Tor Lillqvist
330dd2f7c3 Copy our gdkprivate.h and gdkx.h to a gdk subdirectory, so that
* gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
 	gdkx.h to a gdk subdirectory, so that applications can include
 	these with <gdk/*.h> without trouble.

	* gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
	(gdk_image_destroy): Plugged resource leak, some GdkImages didn't
	have their bitmap destroyed.

	* gdk/win32/gdk.def: Add gdk_root_parent.
1999-05-18 22:23:23 +00:00
Tor Lillqvist
1c84483f3e Support added for building using a GNU toolchain on Win32,
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.
1999-04-25 21:55:05 +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
db30076b0b Check for lstat.
* 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.
1999-03-16 20:03:50 +00:00
Tor Lillqvist
0a23dccde4 Forgot to document maketypes.awk change in ChangeLog. Added gdk.def file. 1999-03-15 00:08:22 +00:00
Tor Lillqvist
c65508d272 This might seem like a large patch, but it isn't that bad, and nothing
should break on Unix/X11.

Win32 merge and general portability stuff:

* acconfig.h,configure.in: Check for <sys/time.h>.

* gdk/win32: New directory (actually, been there for a while).

* gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
NATIVE_WIN32, and use these. Always case fold on Win32. No
backslashed escapes on native Win32.

* gtk/{gtk.def,makefile.msc}: New files.

* gtk/Makefile.am: Add above new files.

* gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
instead of <strings.h>.

* gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
<unistd.h> appropriately.

* gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
Use ABS() (from <glib.h>) instead of abs().

* gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
of gtk (and thus glib) headers, so that WIN32 will be
defined. With MS C, include <direct.h> for mkdir prototype.

* gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
some casts, needed by MS C.

* gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
implemented).

* gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
<X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
G_SEARCHPATH_SEPARATOR_S and g_module_build_path.

* gtk/gtkmain.h: Mark variables for export/import on Win32.

* gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
the event is not a hint, or its window is not the slider. Needed
on Win32, at least.

* gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
a subdirectory of the Windows directory as gtk system
configuration directory.

* gtk/gtkselection.c: No chunks on Win32.

* gtk/gtksocket.c: Not implemented on Win32.

* gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.

* gtk/makeenums.h: Include gdkprivate.h after gdk.h.

* gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
1999-03-15 00:03:37 +00:00
Tor Lillqvist
a3c5d33f26 Configure now generates a gdkconfig.h file, in similar way as GLib's
configure generates glibconfig.h. Currently it only defines what
windowing API GDK uses, and on Unix (where configure scripts are
used), it's always X11...

Include gdkconfig.h in gdktypes.h.

gdkconfig.h is installed in @libdir@/gtk+/include (like glibconfig.h
is in @libdir@/glib/include). (This might be debatable?) Add that to
gtk-config --cflags.

Merge in Win32 changes to gtkfontsel.c
1999-03-13 16:40:24 +00:00
Tor Lillqvist
700891684e Check for NULL parameter in gdk_font_load. Plug a memory leak in gdkim.c. 1999-03-12 20:12:58 +00:00
Tor Lillqvist
91ed4f809f Some bug fixes and improvements to the Win32 GDK. 1999-03-07 22:25:54 +00:00
Tor Lillqvist
fd1b869a35 cur files are binary. Changed to -kb and committed the correct versions,
previously (in text mode) had been cut off at a ^Z by the Windows CVS client...
1999-03-06 08:45:07 +00:00
Tor Lillqvist
17dd9e43dc cur files are binary. cvs admin -kb and recommit. 1999-03-06 08:42:03 +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