Operator Reference

get_mposition_sub_pixT_get_mposition_sub_pixGetMpositionSubPixGetMpositionSubPixget_mposition_sub_pix (Operator)

get_mposition_sub_pixT_get_mposition_sub_pixGetMpositionSubPixGetMpositionSubPixget_mposition_sub_pix — Query the subpixel mouse position.

Signature

get_mposition_sub_pix( : : WindowHandle : Row, Column, Button)

Herror T_get_mposition_sub_pix(const Htuple WindowHandle, Htuple* Row, Htuple* Column, Htuple* Button)

void GetMpositionSubPix(const HTuple& WindowHandle, HTuple* Row, HTuple* Column, HTuple* Button)

void HWindow::GetMpositionSubPix(double* Row, double* Column, Hlong* Button) const

static void HOperatorSet.GetMpositionSubPix(HTuple windowHandle, out HTuple row, out HTuple column, out HTuple button)

void HWindow.GetMpositionSubPix(out double row, out double column, out int button)

def get_mposition_sub_pix(window_handle: HHandle) -> Tuple[float, float, int]

Description

get_mposition_sub_pixget_mposition_sub_pixGetMpositionSubPixGetMpositionSubPixget_mposition_sub_pix returns the subpixel accurate image coordinates of the mouse pointer in the output window and the mouse button pressed. These values are returned regardless of the state of the mouse buttons (pressed or not pressed). If at least one mouse button is pressed, the state of the modifier keys is returned as well. If no mouse button is pressed, get_mpositionget_mpositionGetMpositionGetMpositionget_mposition returns 0 in ButtonButtonButtonbuttonbutton, even if a modifier key is pressed. The following values are assigned to the individual buttons and keys:

0:

No button,

1:

Left button,

2:

Middle button,

4:

Right button,

8:

Shift key,

16:

Ctrl key,

32:

Alt key.

The sum of the values for all pressed buttons/keys is returned in ButtonButtonButtonbuttonbutton.

For graphics windows the coordinates RowRowRowrowrow and ColumnColumnColumncolumncolumn are expressed with consideration of the current image part (see set_partset_partSetPartSetPartset_part).

If only pixel accurate image coordinates are required, you can use the operator get_mpositionget_mpositionGetMpositionGetMpositionget_mposition.

Attention

get_mposition_sub_pixget_mposition_sub_pixGetMpositionSubPixGetMpositionSubPixget_mposition_sub_pix fails (returns 5 ( H_MSG_FAIL) ) if the mouse pointer is not located within the window. In this case, no values are returned.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

WindowHandleWindowHandleWindowHandlewindowHandlewindow_handle (input_control)  window HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Window handle.

RowRowRowrowrow (output_control)  point.y HTuplefloatHTupleHtuple (real) (double) (double) (double)

Row coordinate of the mouse cursor in the image coordinate system.

ColumnColumnColumncolumncolumn (output_control)  point.x HTuplefloatHTupleHtuple (real) (double) (double) (double)

Column coordinate of the mouse cursor in the image coordinate system.

ButtonButtonButtonbuttonbutton (output_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Mouse button(s) pressed or 0.

Result

If the mouse pointer is not located within the window, 5 ( H_MSG_FAIL) is returned.

Possible Predecessors

open_windowopen_windowOpenWindowOpenWindowopen_window

Alternatives

get_mbuttonget_mbuttonGetMbuttonGetMbuttonget_mbutton, get_mpositionget_mpositionGetMpositionGetMpositionget_mposition, get_mbutton_sub_pixget_mbutton_sub_pixGetMbuttonSubPixGetMbuttonSubPixget_mbutton_sub_pix

See also

open_windowopen_windowOpenWindowOpenWindowopen_window

Module

Foundation