Function

GtkMenuPositionFunc

Declaration

void
(* GtkMenuPositionFunc) (
  GtkMenu* menu,
  gint* x,
  gint* y,
  gboolean* push_in,
  gpointer user_data
)

Description [src]

A user function supplied when calling gtk_menu_popup() which controls the positioning of the menu when it is displayed. The function sets the x and y parameters to the coordinates where the menu is to be drawn. To make the menu appear on a different monitor than the mouse pointer, gtk_menu_set_monitor() must be called.

Parameters

menu

Type: GtkMenu

A GtkMenu.

The data is owned by the caller of the function.
x

Type: gint*

Address of the #gint representing the horizontal position where the menu shall be drawn.

The argument will be modified by the function.
y

Type: gint*

Address of the #gint representing the vertical position where the menu shall be drawn. This is an output parameter.

The argument will be modified by the function.
push_in

Type: gboolean*

This parameter controls how menus placed outside the monitor are handled. If this is set to TRUE and part of the menu is outside the monitor then GTK+ pushes the window into the visible area, effectively modifying the popup position. Note that moving and possibly resizing the menu around will alter the scroll position to keep the menu items “in place”, i.e. at the same monitor position they would have been without resizing. In practice, this behavior is only useful for combobox popups or option menus and cannot be used to simply confine a menu to monitor boundaries. In that case, changing the scroll offset is not desirable.

The argument will be set by the function.
user_data

Type: gpointer

The data supplied by the user in the gtk_menu_popup() data parameter.

The argument can be NULL.
The data is owned by the caller of the function.