1. 17 Mar, 2005 1 commit
  2. 16 Mar, 2005 1 commit
    • Matthias Clasen's avatar
      Make PLT-reduction work with gcc4, and don't include everything in · 2a2d769d
      Matthias Clasen authored
      2005-03-15  Matthias Clasen  <mclasen@redhat.com>
      
      	Make PLT-reduction work with gcc4, and don't include
      	everything in gdkalias.h:
      
      	* gdk/gdk.symbols: Group symbols by header and source file.
      	* gdk/makegdkalias.pl: Protect definitions by the same
      	preprocessor symbols used to guard the headers. Move
      	the alias declarations to a separate file which is
      	produced when calling makegdkalias.pl -def
      	* gdk/Makefile.am (gdkaliasdef.c): Add a rule to generate this
      	file.
      	* gdk/*.c, gdk/x11/*.c: Include gdkalias.h after the other
      	headers, include gdkaliasdef.c at the bottom.
      2a2d769d
  3. 08 Mar, 2005 1 commit
    • Matthias Clasen's avatar
      Convert the gdk keyval-keyname tables to a big string + offsets. (#168901) · 3c8b5b49
      Matthias Clasen authored
      2005-03-07  Matthias Clasen  <mclasen@redhat.com>
      
      	Convert the gdk keyval-keyname tables to a big string
      	+ offsets. (#168901)
      
      	* gdk/gen-keyname-table.pl: Perl script inspired by
      	pango/tools/gen-color-table.pl to create the
      	gdk_keys_by_keyval and gdk_keys_by_name tables as lists
      	of offsets pointing into a big const string.
      
      	* gdk/keynames.txt: List of keyval-keyname pairs.
      	* gdk/keyname-table.h: Generated tables.
      
      	* gdk/gdkkeynames.c: Include keyname-table.h and don't
      	generate the inverse table at runtime.
      3c8b5b49
  4. 03 Feb, 2005 1 commit
  5. 29 Nov, 2004 1 commit
    • Matthias Clasen's avatar
      Add dead_hook and dead_horn. · e08caa5b
      Matthias Clasen authored
      2004-11-29  Matthias Clasen  <mclasen@redhat.com>
      
      	* gdk/gdkkeynames.c: Add dead_hook and dead_horn.
      
      	* gdk/gdkkeysyms.h (GDK_dead_hook, GDK_dead_horn): Define
      	these keysyms.  (#159739, Samuel Thibault)
      e08caa5b
  6. 09 Aug, 2004 1 commit
    • Matthias Clasen's avatar
      Add hidden aliases for exported symbols which are used internally in order · 0742ff3a
      Matthias Clasen authored
      Mon Aug  9 15:41:17 2004  Matthias Clasen  <maclas@gmx.de>
      
      	Add hidden aliases for exported symbols which are
      	used internally in order to get rid of many PLT
      	entries.  (#145519, Arjan van de Ven)
      
      	* gdk/Makefile.am: Add rules to generate gdk.def and
      	gdkalias.h from gdk.symbols, and make make check check
      	the abi with abicheck.sh.
      
      	* gdk/gdk.symbols: New file. Definition of the GDK ABI.
      	The file can be processed by cpp to filter out certain
      	subsets of symbols.
      
      	* gdk/abicheck.sh: New file. Script to check the actually
      	symbols exported from libgdk-x11.2.0.so against the symbols
      	found in gdk.symbols.
      
      	* gdk/makegdkalias.pl: New file. Perl script to generate the
      	header containing the alias definitions for internally used
      	exported symbols from a list of symbols.
      
      	* gdk/*.c, gdk/x11/*.c: Include gdkalias.h
      0742ff3a
  7. 06 Mar, 2004 1 commit
  8. 14 May, 2003 1 commit
  9. 05 Jan, 2003 1 commit
    • Tor Lillqvist's avatar
      Use correct DLL and import library names, with GTK_API_VERSION in name, · 0973b993
      Tor Lillqvist authored
      2003-01-05  Tor Lillqvist  <tml@iki.fi>
      
      	* gtk-zip.sh.in: Use correct DLL and import library names, with
      	GTK_API_VERSION in name, not GTK_MAJOR_VERSION.GTK_MINOR_VERSION.
      	(DEVZIP): Add gdk-pixbuf-query-loaders.exe.
      
      	* configure.in: Improve check for dimm.h.
      
      	* configure.in: Set SOEXT to 'so' on Unix, 'dll' on Win32. Used in
      	gdk-pixbuf/Makefile.am.
      
      	* gdk-pixbuf/makefile.mingw.in
      	* gdk-pixbuf/pixops/makefile.mingw.in
      	* gdk/makefile.mingw.in
      	* gdk/win32/makefile.mingw.in
      	* gtk/makefile.mingw.in: Remove. Not maintained anyway.
      
      	* gdk-pixbuf/Makefile.am
      	* gdk-pixbuf/pixops/Makefile.am
      	* gdk/Makefile.am
      	* gdk/win32/Makefile.am
      	* gtk/Makefile.am
      	* configure.in: Remove makefile.mingw{,.in} from here, too.
      
      	* README.win32: Updates. Don't mention the now removed
      	makefile.mingw files.
      
      	* gdk/gdk.def
      	* gtk/gtk.def: Add a couple of missing entries.
      
      	* gdk/gdkkeynames.c: Include <string.h> for strcmp() and memcpy().
      
      	* gdk/win32/gdkevents-win32.c: Move dimm.h header clash workaround
      	earlier.
      
      	* gdk/win32/rc/Makefile.am: Add hack to help
      	build/win32/lt-compile-resource decide which kind of libtool
      	object file to produce.
      0973b993
  10. 15 Dec, 2002 1 commit
    • Matthias Clasen's avatar
      Use g_printf instead of system printf. (#99327) · 8ba71578
      Matthias Clasen authored
      2002-12-15  Matthias Clasen  <maclas@gmx.de>
      
      	* gtk/gtkcalendar.c:
      	* gtk/gtkfilesel.c:
      	* gtk/gtkfontsel.c:
      	* gtk/gtkhruler.c:
      	* gtk/gtkinputdialog.c:
      	* gtk/gtkprogress.c:
      	* gtk/gtktreemodel.c:
      	* gtk/gtkvruler.c:
      	* gtk/queryimmodules.c:
      	* gtk/theme-bits/decompose-bits.c:
      	* gdk-pixbuf/gdk-pixbuf-csource.c:
      	* gdk-pixbuf/make-inline-pixbuf.c:
      	* gdk-pixbuf/queryloaders.c:
      	* gdk/gdkkeynames.c:
      	* gdk/gdkrgb.c:
      	* gdk/linux-fb/gdkfbmanager.c:
      	* gdk/win32/gdkevents-win32.c:
      	* gdk/win32/gdkmain-win32.c:
      	* gdk/win32/gdkproperty-win32.c:
      	* gdk/x11/gdkmain-x11.c: Use g_printf instead of system
      	printf.  (#99327)
      8ba71578
  11. 27 Sep, 2002 1 commit
    • Eric Warmenhoven's avatar
      Move gdk_keval_name and gdk_keyval_from_name to new gdkkeynames.c, share · 393ad738
      Eric Warmenhoven authored
      Fri Sep 27 14:30:34 2002 Eric Warmenhoven <eric@warmenhoven.org>
      
      	* gdk/Makefile.am gdk/gdkkeynames.c gdk/linux-fb/gdkmain-fb.c
      	gdk/win32/gdkkeys-win32.c: Move gdk_keval_name and
      	gdk_keyval_from_name to new gdkkeynames.c, share implementation for
      	linux-fb and win32 (#94123)
      
      	* gdk/linux-fb/Makefile.am gdk/linux-fb/gdkkeyboard-fb.c
      	gdk/linux-fb/gdkmain-fb.c gdk/linux-fb/gdkmouse-fb.c: add
      	-DG_DISABLE_DEPRECATED and -DGDK_PIXBUF_DISABLE_DEPRECATED to compile
      	flags
      
      	* gdk/linux-fb/gdkdisplay-fb.c: prevent segfault if display can't
      	initialize
      
      	* gdk/linux-fb/gdkkeyboard-fb.c: better parsing of keycodes
      
      	* gdk/linux-fb/gdkwindow-fb.c: add stubs for new functions
      393ad738
  12. 11 Sep, 2002 1 commit
    • Tor Lillqvist's avatar
      Merge from gtk-2-0: · 3e58667f
      Tor Lillqvist authored
      2002-09-12  Tor Lillqvist  <tml@iki.fi>
      
      	Merge from gtk-2-0:
      
      	* gdk/win32/gdkkeys-win32.c (print_keysym_tab): Factor out
      	debugging output to new function.
      3e58667f
  13. 20 Jun, 2002 1 commit
    • Owen Taylor's avatar
      Renames: · 28c2b0a3
      Owen Taylor authored
      Thu Jun 20 19:41:09 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/gdkdisplay.h gdk/gdkscreen.h gdk/**.c gtk/*.c
              tests/*.c: Renames:
      
               gdk_get_default_display => gdk_display_get_default
               gdk_get_default_screen  => gdk_screen_get_default
               gdk_open_display        => gdk_display_open
      28c2b0a3
  14. 06 Jun, 2002 1 commit
    • Owen Taylor's avatar
      Changes multihead reorganizing code for win32 support, mostly from a patch · aeaaae04
      Owen Taylor authored
      Wed Jun  5 18:34:47 2002  Owen Taylor  <otaylor@redhat.com>
      
      	Changes multihead reorganizing code for win32 support,
      	mostly from a patch by Hans Breuer.
      
      	* gdk/gdkcolor.c gdk/x11/gdkcolor-x11.c gdk/gdkcursor.c
      	  gdk/x11/gdkcursor-x11.c gdk/gdkevents.c gdk/x11/gdkevents-x11.c
      	  gdk/gdkfont.c gdk/x11/gdkfont-x11.c gdk/gdkkeys.c
      	  gdk/x11/gdkkeys-x11.c gdk/gdkimage.c gdk/x11/gdkimage-x11.c
      	  gdk/gdkscreen.c gdk/x11/gdkmain-x11.c
      	  gdk/gdkdisplay.c gdk/gdkevents-x11.c gdk/gdkpango.c
      	  gdk/x11/gdkpango-x11.c gdk/gdkselection.c
      	  gdk/x11/gdkselection-x11.c gdk/gdkwindow.c
      	  gdk/x11/gdkwindow-x11.c gdk/gdkvisual.c gdk/x11/gdkvisual-x11.c:
      	  Move port-independent singlehead wrapper functions into
      	  port-independent part of GDK. (#80009)
      
      	* gdk/win32/gdkcolor-win32.c gdk/win32/gdkcursor-win32.c
      	  gdk/win32/gdkevents-win32.c gdk/win32/gdkfont-win32.c
      	  gdk/win32/gdkimage-win32.c gdk/win32/gdkkeys-win32.c
      	  gdk/win32/gdkmain-win32.c gdk/win32/gdkproperty-win32.c
      	  gdk/win32/gdkselection-win32.c gdk/win32/gkwindow-win32.c:
      	Turn singlehead functions into "multihead" functions that ignore
      	their GdkDisplay or GdkScreen arguments.
      
      	* gdk/win32/gdkdrawable-win32.c gdk/win32/gdkevents-win32.c
      	gdk/win32/gdkinput-win32.c gdk/win32/gdkprivate-win32.h:
      	Misc multihead-compatibility changes.
      
      	* gtk/gtk.def gdk/gdk.def: Update for multihead functions.
      
      	* gdk/gdkcolormap.h gdk/gdkvisual.h gdk/x11/gdkcolormap-x11.c
      	gdk/x11/gdkvisual-x11.c: Remove the screen fields
      	from the public parts of the colormap/visual structures, add accessors
      	instead.
      
      	* gdk/gdkpixbuf-render.c gdk/gdkpixmap.c gdk/gdkrgb.c
      	  gdk/x11/gdkcolormap-x11.c gdk/x11/gdkimage-x11.c
      	  gdk/x11/gdkimage-x11.c gdk/x11/gdkprivate-x11.h gtk/gtkgc.c
      	  gtk/gtkstyle.c gtk/gtkwidget.c: Use accessors to get the screen
      	for colormaps, visuals; move the fields into the private
      	structures for the x11 backend.
      
      	* gdk/gdkdisplay.[ch] gdk/x11/gdkdisplay-x11.[ch]
      	  gdk/gdkscreen.[ch] gdk/x11/gdkscreen-x11.c:
      	Remove virtualization of screen and display functions.
      	(#79990, patch from Erwann Chenede)
      
      	* gdk/win32/gdkdisplay-x11.c gdk/win32/gdkscreen-win32.c
      	gdk/win32/{Makefile.am, makefile.msc, makefile.mingw}:
      	New files containing stub implementations of Display,
      	Screen functions.
      
      	* gdk/x11/gdkscreen-x11.[ch] gdk/x11/gdkdisplay-x11.[ch]
      	gdk/x11/gdkx.h: Clean up function exports and what
      	headers they are in. (#79954)
      
      	* gdk/x11/gdkx.h: Fix macro that was referring to a non-existant
      	screen->screen_num. (In the patch for #79972, Erwann Chenede)
      
      	* gdk/gdkscreen.c gdk/gdkwindow.c gdk/x11/gdkinternals.h
      	 gdk/x11/gdkscreen-x11.c: Fix gdk_screen_get_window_at_pointer()
      	to use window hooks. (#79972, patch partly from Erwann Chenede)
      
      	* gdk/x11/gdkdisplay-x11.c gdk/x11/gdkevents-x11.c: Fix
      	some warnings.
      aeaaae04
  15. 28 Mar, 2002 1 commit
    • Hans Breuer's avatar
      Fixed dashed line issues (#74441) to an IMO reasonable extend. That is: · fe60d43a
      Hans Breuer authored
      2002-03-29  Hans Breuer  <hans@breuer.org>
      
      	Fixed dashed line issues (#74441) to an IMO reasonable extend.
      	That is: use PS_USERSTYLE on WinNT (the next GDI limit appears
      	to be with lines width > 50); Render horizontal and vertical
      	dashed lines on Win9x 'by hand'. Dotted selection rectangles
      	and Dia look nice ...
      
      	* gdk/win32/gdkprivate-win32.h : add pen_dashes pointer and
      	num_pen_dashes to _GdkGCWin32
      	* gdk/win32/gdkgc-win32.c : initialize pen_dashes and remove
      	the guesses from dashes to windoze line styles.
      	(predraw_set_forground) : always ExtCreatePen (PS_SOLID) on
      	Win9x, which does not support PS_USERSTYLE.
      	* gdk/win32/gdkdrawable-win32.c : new functions render_line_
      	<horizontal|vertical>. Use them if not running on NT in
      	gdk_win32_draw_<rectangle|segments|lines> ()
      
      	* gdk/win32/gdkkeys-win32.c (gdk_keyval_name) : return NULL
      	for keyval == 0 to avoid to have zeros in all menu entries
      	without accelerator.
      fe60d43a
  16. 06 Mar, 2002 1 commit
    • Tor Lillqvist's avatar
      Bypass calls to the grab/ungrab functions in gdkinput-win32.c, as they · d0ebbe9d
      Tor Lillqvist authored
      2002-03-06  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab,
      	gdk_pointer_ungrab): Bypass calls to the grab/ungrab functions in
      	gdkinput-win32.c, as they don't effectively do anything anyway.
      	(build_key_event_state): Set MOD2 bit if key is in AltGr group.
      	(gdk_event_translate): Call _gdk_windowing_window_get_offsets()
      	each time the offsets are used, on the window they refer to,
      	instead of once in the beginning. The window in question might
      	change due to event propagation.
      	(gdk_event_translate): Set key event group to 0 for non-AltGr
      	keys. Do set the SHIFT bit in the key event state also for
      	ISO_Left_Tab. Now backtabbing finally works again.
      
      	* gdk/win32/gdkunput-win32.c: Minor debugging output change.
      
      	* gdk/win32/gdkkeys-win32.c (update_keymap): Set VK_TAB mapping to
      	Gdk_Tab and GDK_ISO_Left_Tab, like on X11.
      	(gdk_keymap_translate_keyboard_state): Add similar code as in the
      	non-XKB case on X11 to generate a more correct
      	consumed_modifiers. Add debugging output.
      	(gdk_keyval_name): Use the U+xxxx format for UCS characters
      	encoded as keyvals. Never return NULL, but hex number
      	representation if keyval not in table.
      
      	* gdk/win32/gdkwindow-win32.c (gdk_window_focus): Call
      	SetFocus(). Doesn't seem to have any harmful effect, and probably
      	is close to what this function is supposed to do. But it didn't
      	fix GtkCombo as I had hoped.
      	(gdk_window_set_type_hint): Don't intern the _NET_WM_* atoms that
      	weren't used and wouldn't have any meaning on Win32 anyway.
      d0ebbe9d
  17. 28 Feb, 2002 1 commit
    • Tor Lillqvist's avatar
      Remove the event_mask, it is now in GdkWindowObject. · 8beceb38
      Tor Lillqvist authored
      2002-03-01  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/win32/gdkwindow-win32.h (struct _GdkWindowImplWin32): Remove
      	the event_mask, it is now in GdkWindowObject.
      
      	* gdk/win32/gdkwindow-win32.c: Change accordingly. Set the
      	GDK_STRUCTURE_MASK in gdk_window_set_events(), as it is always set
      	in gdk_window_new(), too. (Bug#72921)
      
      	* gdk/win32/gdkevents-win32.c: Change accordingly here, too.
      	(vk_from_char): New function, calculates the virtual keycode
      	corresponding to the char in a WM_CHAR message.
      	(build_keypress_event, build_keyrelease_event): Use it.
      	(build_keypress_event): Call ImmReleaseContext() after using the
      	input context. This might plug a memory or resource leak.
      	(build_key_event_state): Remove #if 0 code.
      	(gdk_event_translate): Actually, it would be preferrable to always
      	handle just the WM_KEYDOWN and WM_KEYUP messages, not WM_CHAR at
      	all, and thus drop the contorted logic with ignore_wm_char etc.
      
      	* gdk/win32/gdkkeys-win32.c: (gdk_keymap_get_entries_for_keyval):
      	Debugging output.
      	(gdk_keymap_translate_keyboard_state): Return correct value. (But
      	_gtk_key_hash_lookup() doesn't check the return value...)
      8beceb38
  18. 27 Feb, 2002 2 commits
    • Hans Breuer's avatar
      new file · bc94033d
      Hans Breuer authored
      2002-02-27  Hans Breuer  <hans@breuer.org>
      
      	* demos/gtk-demo/makefile.msc.in : new file
      
      	* gdk-pixbuf/gtk-pixbuf.rc.in : new file to include
      	  version resource
      	* gdk-pixbuf/makefile.msc : create and use gdk-pixbuf.res
      
      	* gdk/win32/gdkkeys-win32.c : handle undefined LANG_URDU,
      	(gdk_keyval_name) : fix endless looping
      
      	* gtk/gtkfilesel.c : translate_win32_path() static
      	* gtk/queryimmodules : print_escaped(), query_module() static
      
      	* gtk/makefile.msc.in : added gtkkeyhash, build gtk-win32.res
      
      	* gtk/stock-icons/makefile.msc : regenerated from directory
      	listing (almost all filenames changed)
      bc94033d
    • Owen Taylor's avatar
      Make sure Page_Up, Page_Down get those names, not Prior, Next. · 0fd671ae
      Owen Taylor authored
      Tue Feb 26 19:16:28 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/win32/gdkkeys-win32.c (gdk_keyval_name):
              * gdk/x11/gdkkeys-x11.c (gdk_keyval_name):
              Make sure Page_Up, Page_Down get those names, not Prior,
              Next.
      0fd671ae
  19. 26 Feb, 2002 1 commit
    • Tor Lillqvist's avatar
      Implement the functions that until now just were non-functional stubs. For · 93fa867e
      Tor Lillqvist authored
      2002-02-26  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/win32/gdkkeys-win32.c: Implement the functions that until
      	now just were non-functional stubs. For "hardware keycodes", we
      	use Windows virtual keycodes. Not scancodes, although that at
      	first might seem more low-level and a better match to X11
      	keycodes.
      
      	The Windows API is really mixed up and confused with respect to
      	scancodes and virtual keycodes. (Surprised?) Some scancodes are
      	generated by two keys on the keyboard (!), and although the
      	keyboard messages do have a flag to indicate which key the user
      	pressed, other API that take a scan code as input don't let you
      	specify which actual key you mean.
      
      	(update_keymap): Function to build a X11-like representation of
      	the keyboard. Each key has four keysyms: two levels (nonshifted
      	and shifted) and two groups (normal and with AltGr).
      
      	(gdk_keymap_get_direction): Use the codepage corresponding to the
      	thread's input locale, not the system codepage.
      
      	* gdk/win32/gdkglobals-win32.c
      	* gdk/win32/gdkmain-win32.c
      	* gdk/win32/gdkprivate-win32.h
      	* gdk/win32/gdkwindow-win32.h
      	* gdk/win32/gdkwindow-win32.c: Remove the input_locale and
      	charset_info fields from GdkWindowImplWin32. Input locale is
      	per-thread in Windows, and as GDK on Windows really only works
      	when the GDI interaction all happens in just one thread anyway,
      	this state can be global. Use globals _gdk_input_locale and
      	_gdk_input_codepage instead. Set these based on the thread's input
      	locale (keyboard layout, or which IME is active).
      
      	* gdk/win32/gdkevents-win32.c: Set the group and hardware_keycode
      	fields in GDK key events. On input locale change messages, set
      	the global state variables, and inform update_keymap() that it
      	has to rebuild the keymap.
      93fa867e
  20. 21 Feb, 2002 1 commit
    • Owen Taylor's avatar
      Implement "fuzzy" key binding lookups; allow matches on key and level but · 708e1a95
      Owen Taylor authored
      Wed Feb 20 14:26:47 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkkeyhash.[ch]: Implement "fuzzy" key binding lookups;
              allow matches on key and level but not group. Also, implement
              ignoring "consumed modifiers correctly."
      
              * gtk/gtkaccelgroup.c gtk/gtkbindings.c: Convert to using
              GtkKeyHash.
      
              * gtk/gtkdebug.h gtk/gtkmain.c: Support GTK_DEBUG=keybindings
      
              * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fill in
              the group for key release events as well as key press events.
      
              * gdk/gdkkeys.h gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
              Rename unused_modifiers to consumed_modifiers, make the docs and
              non-Xkb implementation match the Xkb implementation.
      
              * gdk/linux-fb/gdkkeyboard-fb.c gdk/win32/gdkkeys-win32.c: Propagate
              doc and parameter name changes.
      
              * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
              XkbTranslateKeyCode doesn't handle LockMask, we need to handle
              it ourselves.
      
              * gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Force
              <Shift>Tab to give GDK_ISO_Left_Tab, since we need consistency
              to allow dealing with ISO_Left_Tab.
      
              * gtk/gtkwindow.c gtk/gtktextview.c gtk/gtkscrolledwindow.c
              gtk/gtkpaned.c gtk/gtkcombo.c  gtk/gtknotebook.c:
              Remove inappropriate uses of GDK_ISO_Left_Tab. (GDK_ISO_Left_Tab
              or <Shift>Tab both are equivalent as a binding specifier.)
      
              * gtk/gtkbutton.c (gtk_button_class_init): Make ::activate
              GTK_RUN_ACTION, so you can bind an accelerator to it.
      
              * gtk/gtklabel.c (gtk_label_set_uline_text_internal): Call
              gdk_unicode_to_keyval on the mnemonic character.
      
              * tests/testgtk.c: Add a test for the new fuzzy key binding matching.
      708e1a95
  21. 17 Feb, 2002 1 commit
    • Tor Lillqvist's avatar
      Massive changes. Too many to list here, but I'll try a summary: · bc1ec5c1
      Tor Lillqvist authored
      2002-02-17  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/win32/*.c: Massive changes. Too many to list here, but I'll
      	try a summary:
      
      	1) Unify GdkPixmap and GdkImage implementation: For each
      	GdkPixmap, allocate a GdkImage, and vice versa.
      	GdkPixmapImplWin32Data has a pointer to the GdkImage.
      	GdkImage::windowing_data is a pointer to the GdkPixmap.
      
      	This simplifies many pixmap and image related functions a lot, and
      	reduces duplicated code snippets. For instance, there is only one
      	place in gdk/win32 where CreateDIBSection() is called, in the
      	function _gdk_win32_new_pixmap(). Converting a bitmap (GdkPixmap)
      	to a Windows region is almost trivial, with the bitmap bits being
      	readily accessible in the associated GdkImage.
      
      	All blitting between GdkPixmaps, GdkWindows and GdkImages goes
      	through handled the _gdk_win32_blit() function, which calls
      	different functions to handle the cases of blitting from pixmaps,
      	inside windows (scrolling), or from windows, which all require
      	somewhat different handling.
      
      	2) Support 256-color mode. This has long been very broken, now it
      	works more or less OK. Keep the logical palette for each colormap
      	as small as possible while allocating and freeing colors. Select
      	and realize the logical palette associated with a GdkColormap into
      	a DC before drawing or blitting.
      
      	When the display is in 256-color mode, make it possible for the
      	user to override the size of the palette(s) used with either the
      	GDK_WIN32_MAX_COLORS environment variable, or a -max-colors
      	command line option. It is possible to reduce the palette size all
      	the way down to using just the 16 static colors (which causes the
      	system visual to be of type GDK_VISUAL_STATIC_COLOR. This could
      	possibly be useful if one desperately wants to avoid color
      	flashing. (Note that in order for this to work properly, an as of
      	yet not commited fix to gdkrgb.c is needed.)
      
      	Handle the palette messages. On WM_PALETTECHANGED, call
      	UpdateColors() for the given window hierarchy. Do this only if a
      	window in some other top-level window hierarchy caused the palette
      	change (realized a palette). Do this max five times in a row (an
      	arbitrarily chosen limit), though, otherwise redraw by generating
      	expose events. On WM_QUERYNEWPALETTE, cause a redraw of the whole
      	window hierarchy by generating GDK_EXPOSE events.
      
      	3) Code cleanup in general. For instance, remove the "emulated"
      	X11 structs ColormapStruct, Visual and XStandardColormap. Use the
      	new GDK_DEBUG_* flags for debugging output in the relevant source
      	files. Remove the unused colormap hash table in gdkcolor-win32.c
      
      	4) Plug some resource leaks.
      
      2002-02-14  Tor Lillqvist  <tml@iki.fi>
      
      	* gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Use
      	g_filename_to_uri() to actually create legal URIs in the
      	text/uri-list data.
      bc1ec5c1
  22. 22 Jun, 2001 1 commit
    • Hans Breuer's avatar
      updated externals · f0ee2996
      Hans Breuer authored
      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
      f0ee2996
  23. 19 Feb, 2001 1 commit
  24. 14 Dec, 2000 1 commit
    • Tor Lillqvist's avatar
      Add gdkkeys. · 2e70f892
      Tor Lillqvist authored
      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.
      2e70f892
  25. 25 Oct, 2000 1 commit
    • Tor Lillqvist's avatar
      Include x11/gdkx.h only when building for X11. · fb212745
      Tor Lillqvist authored
      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.
      fb212745
  26. 26 Jul, 2000 1 commit
  27. 25 Jul, 2000 2 commits
    • Tor Lillqvist's avatar
      Generate gtk/makefile.mingw. · 20e675e1
      Tor Lillqvist authored
      2000-07-25  Tor Lillqvist  <tml@iki.fi>
      
      	* configure.in: Generate gtk/makefile.mingw.
      
      	* config.h.win32: Add GETTEXT_PACKAGE.
      
      	* gdk/gdk.def
      	* gtk/gtk.def: Updates.
      
      	* gdk/gdkfont.h
      	* gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
      	need them any longer.
      
      	* gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
      
      	* gdk/win32/*.c: More work.
      
      	* gdk/win32/gdkpango-win32.c: New file.
      
      	* gtk/makefile.mingw.in: New file
      
      	* gtk/makefile.cygwin: Removed
      
      	* gtk/Makefile.am: Update accordingly.
      
      	* gtk/gtkmain.c: Use gtk_win32_get_installation_directory().
      
      	* gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
      	is enough.
      
      	* gtk/gtktypeutils.c: Mark glib_debug_objects for import.
      20e675e1
    • Tor Lillqvist's avatar
      Include the build directory. · 5ac61d3e
      Tor Lillqvist authored
      2000-07-25  Tor Lillqvist  <tml@iki.fi>
      
      	* Makefile.am: Include the build directory.
      
      	* configure.in: Generate build/Makefile and build/win32/Makefile.
      
      	* config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
      
      	* gdk/gdk.def
      	* gtk/gtk.def: Updates.
      
      	* gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
      	PANGOWIN32_LIBS and gdk_pixbuf.
      
      	* gdk/win32: Compiles, but no doubt doesn't work at all.
      
      	* gdk/win32/makefile.mingw.in: Define GDK_COMPILATION.
      
      	* gdk/win32/gdkinput.c: New file, temporarily.
      
      	* gdk/win32/gdkinput-win32.h: New file
      
      	* gdk/win32/gdkinputprivate.h: Remove.
      
      	* gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
      	made externally visible.
      5ac61d3e
  28. 23 Jul, 2000 1 commit
  29. 01 May, 2000 1 commit
    • Tor Lillqvist's avatar
      Large changes to the Win32 backend, partially made necessary by the · 1f149b3a
      Tor Lillqvist authored
      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>.
      1f149b3a
  30. 08 Mar, 2000 1 commit
    • Tor Lillqvist's avatar
      Internal GDK error reporting changes: (gdk_win32_gdi_failed) New function · ec1e8f1f
      Tor Lillqvist authored
      2000-03-07  Tor Lillqvist  <tml@iki.fi>
      
      * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
      (gdk_win32_gdi_failed) New function for reporting errors from GDI,
      for which it is no use to call GetLastError on Win9x.
      (gdk_other_api_failed) New function, for
      general error reporting without calling GetLastError.
      (gdk_win32_api_failed) OTOH, this function always calls
      GetLastError. (gdk_win32_last_error_string) Remove this function,
      GLib has the equivalent now.
      
      * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
      call them with function name, file name and line number in the
      arguments.
      
      * gdk/win32/*.c: Use the new macros for reporting errors from GDI
      functions.
      
      * gtk/gtk.def: Add some missing entry points.
      
      * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
      gtk_paned_set_gutter_size, which don't exist any longer, as void.
      
      Fixes by Hans Breuer:
      
      * gdk/makefile.msc: Update for debugging.
      
      * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
      implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
      PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
      in the dash_list.
      
      * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
      the x11 backend.
      
      * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
      
      * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
      ec1e8f1f
  31. 13 Feb, 2000 1 commit
    • Tor Lillqvist's avatar
      Add an extra parameter so that we don't have to do unnecessary settings to · ff99eb7c
      Tor Lillqvist authored
      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.
      ff99eb7c
  32. 20 Nov, 1999 1 commit
  33. 11 Nov, 1999 1 commit
  34. 10 Nov, 1999 1 commit
  35. 08 Nov, 1999 1 commit
    • Tor Lillqvist's avatar
      New font private structures, related to fontsets. · 0ad4aa57
      Tor Lillqvist authored
      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.
      0ad4aa57
  36. 31 Oct, 1999 1 commit
    • Tor Lillqvist's avatar
      Add new keysyms from X11R6.4 (including EuroSign). · 00c5e838
      Tor Lillqvist authored
      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".
      00c5e838
  37. 05 Oct, 1999 1 commit
    • Tor Lillqvist's avatar
      Corresponding changes as in X11 backend. · d23e3848
      Tor Lillqvist authored
      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.
      d23e3848
  38. 02 Oct, 1999 1 commit
    • Tor Lillqvist's avatar
      Change GDK_WINDOWING_WIN32 usage to #ifdef also here. · c50941c8
      Tor Lillqvist authored
      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.
      c50941c8