gdkPointerGrab {RGtk2} | R Documentation

## gdkPointerGrab

### Description

Grabs the pointer (usually a mouse) so that all events are passed to this application until the pointer is ungrabbed with `gdkPointerUngrab`, or the grab window becomes unviewable. This overrides any previous pointer grab by this client.

### Usage

    gdkPointerGrab(window, owner.events = FALSE, event.mask = 0,
        confine.to = NULL, cursor = NULL, time = "GDK_CURRENT_TIME")

### Arguments

``window`` | the `GdkWindow` which will own the grab (the grab window).
``owner.events`` | if `FALSE` then all pointer events are reported with respect to `window` and are only reported if selected by `event.mask`. If `TRUE` then pointer events for this application are reported as normal, but pointer events outside this application are reported with respect to `window` and only if selected by `event.mask`. In either mode, unreported events are discarded.
``event.mask`` | specifies the event mask, which is used in accordance with `owner.events`. Note that only pointer events (i.e. button and motion events) may be selected.
``confine.to`` | If non-`NULL`, the pointer will be confined to this window during the grab. If the pointer is outside `confine.to`, it will automatically be moved to the closest edge of `confine.to` and enter and leave events will be generated as necessary.
``cursor`` | the cursor to display while the grab is active. If this is `NULL` then the normal cursors are used for `window` and its descendants, and the cursor for `window` is used for all other windows.
``time`` | the timestamp of the event which led to this pointer grab. This usually comes from a `GdkEventButton` struct, though `GDK_CURRENT_TIME` can be used if the time isn't known.

### Details

Pointer grabs are used for operations which need complete control over mouse events, even if the mouse leaves the application. For example in GTK+ it is used for Drag and Drop, for dragging the handle in the `GtkHPaned` and `GtkVPaned` widgets, and for resizing columns in `GtkCList` widgets.

Note that if the event mask of an X window has selected both button press and button release events, then a button press event will cause an automatic pointer grab until the button is released. X does this automatically since most applications expect to receive button press and release events in pairs. It is equivalent to a pointer grab on the window with `owner.events` set to `TRUE`.

If you set up anything at the time you take the grab that needs to be cleaned up when the grab ends, you should handle the `GdkEventGrabBroken` events that are emitted when the grab ends unvoluntarily.

### Value

[`GdkGrabStatus`] `GDK_GRAB_SUCCESS` if the grab was successful.

### Author(s)

Derived by RGtkGen from GTK+ documentation

[Package RGtk2 version 2.20.36.3 Index]