Returns the difference between the union and the intersection of two regions. This is a region containing the pixels that are in one of the source regions, but which are not in both. @source1: a #GdkRegion. @source2: a #GdkRegion. @Returns: the difference between the union and the intersection of @source1 and @source2. Retrieves the motion history for a given device/window pair. @window: a #GdkWindow. @deviceid: the device for which to retrieve motion history. @start: the start time. @stop: the stop time. @nevents_return: location to store the number of events returned. @Returns: a newly allocated array containing all the events from @start to @stop. This array should be freed with g_free() when you are finished using it. @keymap: @hardware_keycode: @state: @group: @keyval: @effective_group: @level: @unused_modifiers: @Returns: @keymap: @keyval: @keys: @n_keys: @Returns: The #GdkDeviceInfo structure contains information about a device. It has the following fields: @deviceid: a unique integer ID for this device. @name: the human-readable name for the device. @source: the type of device. @mode: a value indicating whether the device is enabled and how the device coordinates map to the screen. @has_cursor: if %TRUE, a cursor will be displayed indicating the current on-screen location to the user. Otherwise, the application is responsible for drawing a cursor itself. @num_axes: the number of axes for this device. @axes: a pointer to an array of GdkAxisUse values which give the mapping of axes onto the possible valuators for a GDK device. @num_keys: the number of macro buttons. @keys: a pointer to an array of #GdkDeviceKey structures which describe what key press events are generated for each macro button. Pango Interaction Returns the union of two regions. This is all pixels in either of @source1 or @source2. @source1: a #GdkRegion. @source2: a #GdkRegion. @Returns: the union of @source1 and @source2. @drawable: @Returns: @colormap: @pixel: @result: @event: @state: @Returns: @window: @decorations: @Returns: @keymap: @hardware_keycode: @keys: @keyvals: @n_entries: @Returns: @drawable: @Returns: Sets the key event generated when a macro button is pressed. @deviceid: the device to configure. @index: the index of the macro button. @keyval: the key value for the #GdkKeypressEvent to generate. (a value of 0 means no event will be generated.) @modifiers: the modifier field for the generated #GdkKeyPressEvent. Lists all available input devices, along with their configuration information. @Returns: A #GList of #GdkDeviceInfo structures. This list is internal data of GTK+ and should not be modified or freed. @parent_instance: @GDK_PIXBUF_ALPHA_BILEVEL: @GDK_PIXBUF_ALPHA_FULL: Subtracts one region from another. The result is a region containing all the pixels which are in @source1, but which are not in @source2. @source1: a #GdkRegion. @source2: a #GdkRegion to subtract from @source1. @Returns: @source1 - @source2. Returns information about the current position of the pointer within a window, including extended device information. Any of the return parameters may be %NULL, in which case, they will be ignored. @window: a #GdkWindow. @deviceid: a device ID. @x: location to store current x postion. @y: location to store current y postion. @pressure: location to store current pressure. @xtilt: location to store current tilt in the x direction. @ytilt: location to store current tilt in the y direction. @mask: location to store the current modifier state. This macro contains an integer value representing the device ID for the core pointer device. Sets the mapping of the axes (valuators) of a device onto the predefined valuator types that GTK+ understands. @deviceid: the device to configure. @axes: an array of GdkAxisUse. This length of this array must match the number of axes for the device. @x: @y: @width: @keycode: @group: @level: Sets the source type for a device. @deviceid: the device to configure @source: the new source type. Intersects a set of spans with a region and call a user specified function for each resulting spanline. This function is a lot more effective if the spans are sorted. @region: The region to intersect against. @spans: Array of spans to intersect. @n_spans: Number of spans. @sorted: True if the spans are sorted in increasing y order. @function: The function to call for each intersected spanline. @data: Opaque user data passed to function. @Returns: Points, Rectangles and Regions Returns the intersection of two regions. @source1: a #GdkRegion. @source2: a #GdkRegion. @Returns: the intersection of @source1 and @source2. @keymap: @key: @Returns: @span: The intersected part of the span. @data: Opaque data passed by user. Keyboard Handling @keycode: @group: @level: Enables or disables a device, and determines how the device maps onto the screen. @deviceid: the device to configure. @mode: the new mode. @Returns: %TRUE if the device supports the given mode, otherwise %FALSE and the device's mode is unchanged.