summaryrefslogtreecommitdiff
path: root/gdk/win32/gdkinput-win32.h
Commit message (Collapse)AuthorAgeFilesLines
* Implement better handling of Wintab tablet context overlap on Win32.Robert Ögren2005-02-251-0/+1
| | | | | | | | | | | | | | | 2005-02-24 Robert Ögren <gtk@roboros.com> Implement better handling of Wintab tablet context overlap on Win32. (#167298) * gdk/win32/gdkinput-win32.c (_gdk_input_set_tablet_active): New function that brings any tablet contexts to the top of the overlap order. * gdk/win32/gdkinput-win32.h: Declare _gdk_input_set_tablet_active () * gdk/win32/gdkevents-win32.c (gdk_event_translate): Call _gdk_input_set_tablet_active when a window is activated (on WM_ACTIVATE)
* Implement lazy extended input initialization on Win32, by Robert Ögren.Tor Lillqvist2005-02-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | 2005-02-02 Tor Lillqvist <tml@novell.com> Implement lazy extended input initialization on Win32, by Robert Ögren. Fixes #163163, possibly #162334. Lazy initialization would be a good idea in any case even if it didn't fix any visible problems, though. The Wacom tablet driver seems to get confused if Wintab is initialized but no window is shown before the process exits. This is the case for some GIMP plug-ins, for instance. * gdk/win32/gdkinput-win32.c (_gdk_input_wintab_init_check): Made non-static (and renamed). (_gdk_input_init): Don't call _gdk_input_wintab_init_check(). * gdk/win32/gdkinput-win32.h: Declare _gdk_input_wintab_init_check(). * gdk/win32/gdkinput.c (gdk_devices_list, gdk_display_list_devices, gdk_input_set_extension_events): Call _gdk_input_wintab_init_check() here instead.
* gdk/win32/gdkinput-win32.h Drop the GdkEvent* parameter, it wasn't used.Tor Lillqvist2003-08-071-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-08-07 Tor Lillqvist <tml@iki.fi> * gdk/win32/gdkinput-win32.h * gdk/win32/gdkinput-win32.c (_gdk_input_configure_event, _gdk_input_enter_event): Drop the GdkEvent* parameter, it wasn't used. * gdk/win32/gdkevents-win32.c (gdk_event_translate): Adapt caller accordingly, in fact an uninitialised variable was dereferenced. [Win32] Add support for multiple monitors. * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkglobals-win32.c: New global variables for multiple-monitor info: _gdk_num_monitors, _gdk_monitors, and _gdk_offset_x and _gdk_offset_y. * gdk/win32/gdkdisplay-win32.c (count_monitor, enum_monitor): New functions, enumeration functions passed to EnumDisplayMonitors(). (gdk_display_open): If the EnumDisplayMonitors() and GetMonitorInfo() API is present (on Win98, Win2000 and newer), use if to find out monitor info. Calculate the offset between Win32 coordinates (relative to the primary monitor's origin (and thus negative on monitors to the left of or above it), and GDK's (visible coordinates should be non-negative). * gdk/win32/gdkscreen-win32 (gdk_screen_get_n_monitors, gdk_screen_get_monitor_geometry): Use information collected above. (gdk_window_move, gdk_window_move_resize_window_get_geometry): Subtract _gdk_offset_{x,y} from GDK root window coordinates. (gdk_window_get_geometry, gdk_window_get_origin, gdk_window_get_frame_extents): For top-level windows, add _gdk_offset_{x,y} to GDK root window coordinates Still need to handle multiple monitors in gdk_window_fullscreen(). Probably should make the window fullscreen on the monitor where the cursor is? * gdk/win32/gdkevents-win32.c: Add _gdk_offset_{x,y} to all GDK root window coordinates in GdkEvents. [Win32] Fix geometry hint handling. Add support for resize increment and base size, and aspect ratio geometry hints. The "gridded geometry" test in testgtk now works beautifully. * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints): Turns out this function shouldn't actually ever modify the window's size, just store the hints. (Old code kept for a while inside #if 0.) (gdk_window_set_hints): Remove presumably broken code that handles the position hints, this function is obsolete anyway. * gdk/win32/gdkevents-win32.c: Drop the current_{x,y}_root variables, not used. (adjust_drag): New function, used to implement resize increment hints. (gdk_event_translate): Handle WM_SIZING, implement resize increment and base size, and aspect ratio geometry hints here. The WM_GETMINMAXINFO handler takes care of the minimum and maximum size hints as before. Fix the WM_GETMINMAXINFO handler to take into account window decorations. No need to modify the ptMaxPosition and ptMaxSize fields in the MINMAXINFO struct, the defaults are fine. * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkwindow-win32.c (_gdk_win32_adjust_client_rect, _gdk_win32_get_adjusted_client_rect): New helper functions.
* Bug #107664 continued:Matthias Clasen2003-03-081-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-03-08 Matthias Clasen <maclas@gmx.de> Bug #107664 continued: * gdk/x11/gdkinputprivate.h: * gdk/x11/gdkinput-none.c (_gdk_input_window_none_event): Remove. (_gdk_input_other_event): Return gboolean. * gdk/x11/gdkinput-xfree.c (_gdk_input_window_none_event): Remove. (_gdk_input_other_event): Return gboolean. * gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event): Return gboolean. * gdk/x11/gdkevents-x11.c (gdk_event_translate): Make return_val gboolean, remove pointless call to _gdk_input_window_none_event. * gdk/win32/gdkinput-win32.[hc] (_gdk_input_other_event): Return gboolean. (_gdk_input_window_none_event): Remove. * gtk/gtktextiter.c (_gtk_text_iter_get_indexable_segment): (_gtk_text_iter_get_any_segment): (_gtk_text_iter_get_segment_byte): (_gtk_text_iter_get_segment_char): (_gtk_text_iter_get_text_line): (_gtk_text_iter_get_btree): Fix 0/NULL confusion. * gdk/x11/gdkdnd-x11.c (motif_target_table_check): Return gint. * gdk/win32/gdkfont-win32.c (gdk_font_equal): * gdk/linux-fb/gdkwindow-fb.c (gdk_window_get_deskrelative_origin): (gdk_window_get_origin): * gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Fix 0/FALSE confusion.
* Delete leftover declarations of the obsolete Win32-only functionsTor Lillqvist2002-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-09-20 Tor Lillqvist <tml@iki.fi> * gdk/gdkfont.h: Delete leftover declarations of the obsolete Win32-only functions gdk_font_full_name_get() and gdk_font_full_name_free(). * gdk/gdk.def: Delete from here, too. * gdk/win32/gdkfont-win32.c (logfont_to_xlfd, gdk_font_full_name_get, gdk_font_full_name_free): Delete implementation, and helper functions. (pattern_match, InnerEnumFontFamExProc, EnumFontFamExProc, gdk_font_list_new, gdk_font_list_free): Delete unused functions. (gdk_text_width, gdk_text_width_wc) Instead of code duplication, let gdk_text_extents() and gdk_text_extents_wc() do the job. * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values): Don't use the above removed functions in debugging output. * gdk/win32/gdkdisplay-win32.c * gdk/win32/gdkmain-win32.c * gdk/win32/gdkprivate-win32.h * gdk/win32/gdkselection-win32.c * gdk/win32/gdkinput-win32.h * gdk/win32/gdkinput.c: Make it compile again, pass a GdkDisplay in a couple of places.
* Fix args to pango_x_shutdown_display().Owen Taylor2002-08-021-12/+2
| | | | | | | | | | | | | | | Fri Aug 2 15:56:47 2002 Owen Taylor <otaylor@redhat.com> * gdk/x11/gdkscreen-x11.c (gdk_screen_x11_dispose): Fix args to pango_x_shutdown_display(). * gdk/linux-fb/gdkinput.c gdk/linux-fb/gdkinputprivate.h gdk/win32/gdkinput-win32.[ch] gdk/win32/gdkinput.c gdk/win32/gdkwindow-win32.c gdk/x11/gdkinput-x11.c gdk/x11/gdkinput-xfree.c gdk/x11/gdkinput.c gdk/x11/gdkinputprivate.h gdk/x11/gdkwindow-x11.c: Move a bunch of functions gdk_input => _gdk_input. Clean up some header file cruft. (#79971)
* Renames:Owen Taylor2002-06-201-1/+1
| | | | | | | | | | | 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
* Make the core pointer object per-display. (#85698)Owen Taylor2002-06-181-1/+1
| | | | | | | | | | Tue Jun 18 19:11:51 2002 Owen Taylor <otaylor@redhat.com> * gdk/gdkdisplay.[ch] gdk/gdkevents.c gdk/gdkinput.h gdk/gdkinternals.h gdk/win32/gdkevents-win32.c gdk/win32/gdkinput-win32.[ch] gdk/x11/gdkevents-x11.c gdk/x11/gdkinput{,-none,-x11}.c gdk/x11/gdkinputprivate.h: Make the core pointer object per-display. (#85698)
* Make gdkx.h the only installed header from gdk/x11. All structures inOwen Taylor2001-09-071-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fri Sep 7 11:51:44 2001 Owen Taylor <otaylor@redhat.com> Make gdkx.h the only installed header from gdk/x11. All structures in gdk/x11 are opaque. * gdk/x11/Makefile.am gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h: Don't install gdk{drawable,pixmap,window}-x11.h. * gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c: Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11, GdkVisualClass into C files. * gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static. * gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c, gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c} Add public functions to replace previously exported direct structure access. gdk_x11_colormap_get_{xdisplay,xcolormap} gdk_x11_cursor_get_{xdisplay,xcursor}, gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual, gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage}, gdk_x11_gc_get_{xdisplay,ximage} * gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo, GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals. Fix a number of variables and functions that were exported "accidentally" from GDK. * gdk/**.[ch]: gdk => _gdk for gdk_visual_init, gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit, gdk_input_exit, gdk_windowing_exit, gdk_event_func, gdk_event_data, gdk_event_notify, gdk_queued_events, gdk_queued_tail, gdk_event_new, gdk_events_queue, gdk_events_unqueue, gdk_event_queue_find_first, gdk_event_queue_remove_link, gdk_event_queue_append, gdk_event_button_generate, gdk_debug_flags, gdk_default_filters, gdk_parent_root. * gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c, gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}: gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks, gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window, gdk_use_xshm, gdk_input_ignore_core. * gdk/x11/xsettings-common.h (xsettings_list_insert): Add #defines to namespace functions into the private _gdk_ namespace. * gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window () to replace gdk_parent_root exported variable. Adjust and deprecate GDK_ROOT_PARENT(). * demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix GDK_ROOT_PARENT usage, remove includes of port-specific headers. * gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for _gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core, gdk_input_devices, _gdk_input_windows, gdk_init_input_core. * gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c} docs/Changes-2.0.txt: Remove gdk_wm_protocols, gdk_wm_delete_window functions, gdk_wm_take_focus, use gdk_atom_intern() instead. * gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h} gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h} gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h} gtk/gtkselection.c Unexport gdk_selection_property, just use gdk_atom_intern ("GDK_SELECTION"). * gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}: Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type, GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate, GdkVisualprivate, gdk_x11_gc_flush. Make a number of public exports of variables into functions to increase encapsulation. * gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer, move to gdkinternals.h. Add gdk_device_get_core_pointer (). * gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code, gdk_error_warnings. * gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h} docs/Changes-2.0.txt: s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen() s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow() Add gdk_x11_get_default_xdisplay(). * gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class, Don't export gdk_progclass, move --class command line option and handling to common portion of GDK. Miscellaneous fixes: * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix g_return_val_if_fail that should have been g_return_if_fail. * gdk/gdkinternals.h gdk/gdkprivate.h: Move gdk_synthesize_window_state() to the semi-public gdkprivate.h. * gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded X11 dependency. * gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO: Remove unused gdk_key_repeat_disable/restore. * linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def: Remove unused gdk_null_window_warnings variable. * gdk/Makefile.am (DIST_SUBDIRS) nanox/*: cvs remove nanox; it can be retrieved from the repository; it is too far from functional to be worth having people check out; it would be easier to start from scratch, I suspect. * gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID(). * gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c: Fix some accidentally global variables and unused global variables. * gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c: Fix some accidentally global variables and unused global variables. Add some space for future expansion to multihead. * gdk/gdkdrawable.h: Add four reserved function pointers for future expansion of GdkDrawableClass. * gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer where we can put a GdkScreen * later.
* gdk_device_get_history moved to gdk/gdkinput.c like the other backendsHans Breuer2001-07-201-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-07-20 Hans Breuer <hans@breuer.org> * gdk/win32/gdkinput-win32.c : gdk_device_get_history moved to gdk/gdkinput.c like the other backends * gdk/win32/gdkinput-win32.h : * gdk/win32/gdkinput.c : * gdk/win32/gdkvisual-win32.c : * gdk/win32/gdkwin32.h : mechanical adaption to GdkDevice and GdkVisual GObjectification. UNTESTED for pen-devices because I simply have none. * gdk/gdk.def : * gtk/gtk.def : updated externals * gtk/gtkiconfactory.c : * gtk/gtkoldeditable.c : GError *error needs to be initialized (= NULL) before passing &error to functions to avoid strange crashes * gtk/gtkcontainer.c (gtk_container_real_set_focus_child) : is static * gtk/gtkwidget.c (gtk_widget_get_child_visible): use g_return_val_if_fail * gtk/makefile.msc.in : updated
* gdk/gdk.def Update.Tor Lillqvist2000-11-111-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-11-11 Tor Lillqvist <tml@iki.fi> * gdk/gdk.def * gtk/gtk.def: Update. * gdk/win32/*.c: Add last argument to g_type_register_static() calls. * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall. * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages generated by older wheel mouse drivers. Get the correct y coordinate from WM_MOUSEWHEEL messages. * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string, gdk_win32_fill_style_to_string, gdk_win32_function_to_string, gdk_win32_join_style_to_string, gdk_win32_line_style_to_string): Debugging functions. * gdk/win32/gdkprivate-win32.h: Declare them. * gdk/win32/gdkinput-win32.h: Add declaration for gdk_input_window_destroy(). * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o. * gdk_pixbuf.def: Add gdk_pixbuf_new_subpixbuf.
* Include the build directory.Tor Lillqvist2000-07-251-0/+177
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.