send_mouse_down_eventT_send_mouse_down_eventSendMouseDownEventSendMouseDownEventsend_mouse_down_event (Operator)
Name
send_mouse_down_eventT_send_mouse_down_eventSendMouseDownEventSendMouseDownEventsend_mouse_down_event
— Send an event to a window buffer signaling a mouse down event.
Signature
void SendMouseDownEvent(const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column, const HTuple& Button, HTuple* Processed)
HString HWindow::SendMouseDownEvent(const HTuple& Row, const HTuple& Column, Hlong Button) const
HString HWindow::SendMouseDownEvent(Hlong Row, Hlong Column, Hlong Button) const
static HString HDrawingObject::SendMouseDownEvent(const HWindow& WindowHandle, const HTuple& Row, const HTuple& Column, Hlong Button)
static HString HDrawingObject::SendMouseDownEvent(const HWindow& WindowHandle, Hlong Row, Hlong Column, Hlong Button)
static void HOperatorSet.SendMouseDownEvent(HTuple windowHandle, HTuple row, HTuple column, HTuple button, out HTuple processed)
string HWindow.SendMouseDownEvent(HTuple row, HTuple column, int button)
string HWindow.SendMouseDownEvent(int row, int column, int button)
static string HDrawingObject.SendMouseDownEvent(HWindow windowHandle, HTuple row, HTuple column, int button)
static string HDrawingObject.SendMouseDownEvent(HWindow windowHandle, int row, int column, int button)
Description
send_mouse_down_eventsend_mouse_down_eventSendMouseDownEventSendMouseDownEventsend_mouse_down_event
sends an event
at the position (RowRowRowrowrow
, ColumnColumnColumncolumncolumn
) to the buffer window
WindowHandleWindowHandleWindowHandlewindowHandlewindow_handle
, signaling that the mouse button encoded by
ButtonButtonButtonbuttonbutton
has been pressed. Please refer to get_mbuttonget_mbuttonGetMbuttonGetMbuttonget_mbutton
to see how to encode ButtonButtonButtonbuttonbutton
.
The purpose of this operator is to manipulate drawing objects in a
buffer window. If the coordinates RowRowRowrowrow
and ColumnColumnColumncolumncolumn
are pointing on a drawing object, it is activated and can be moved
or changed by sending more events with the send_mouse_down_eventsend_mouse_down_eventSendMouseDownEventSendMouseDownEventsend_mouse_down_event
operator. To simplify the interaction with the drawing object, the
coordinates RowRowRowrowrow
and ColumnColumnColumncolumncolumn
are given in the image
coordinate system. To convert window coordinates into image
coordinates, the operator convert_coordinates_window_to_imageconvert_coordinates_window_to_imageConvertCoordinatesWindowToImageConvertCoordinatesWindowToImageconvert_coordinates_window_to_image
can be used.
If the event could be processed, send_mouse_down_eventsend_mouse_down_eventSendMouseDownEventSendMouseDownEventsend_mouse_down_event
returns
'true'"true""true""true""true" in ProcessedProcessedProcessedprocessedprocessed
. If no action for the event could be
determined (e.g., because there is no drawing object below the mouse
position), 'false'"false""false""false""false" is returned in ProcessedProcessedProcessedprocessedprocessed
. In this case
the caller may determine an action for the event.
The operators send_mouse_down_eventsend_mouse_down_eventSendMouseDownEventSendMouseDownEventsend_mouse_down_event
, send_mouse_up_eventsend_mouse_up_eventSendMouseUpEventSendMouseUpEventsend_mouse_up_event
,
send_mouse_drag_eventsend_mouse_drag_eventSendMouseDragEventSendMouseDragEventsend_mouse_drag_event
and send_mouse_double_click_eventsend_mouse_double_click_eventSendMouseDoubleClickEventSendMouseDoubleClickEventsend_mouse_double_click_event
are
the only means to manipulate drawing objects in buffer windows.
Attention
send_mouse_down_eventsend_mouse_down_eventSendMouseDownEventSendMouseDownEventsend_mouse_down_event
depends on the library libcanvas, which might
not be available on embedded systems.
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 of the buffer window.
RowRowRowrowrow
(input_control) point.y →
HTupleUnion[float, int]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)
Row coordinate of the mouse cursor in the image
coordinate system.
ColumnColumnColumncolumncolumn
(input_control) point.x →
HTupleUnion[float, int]HTupleHtuple (integer / real) (int / long / double) (Hlong / double) (Hlong / double)
Column coordinate of the mouse cursor in the image
coordinate system.
ButtonButtonButtonbuttonbutton
(input_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Mouse button(s) pressed.
ProcessedProcessedProcessedprocessedprocessed
(output_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
'true', if HALCON processed the event.
Result
send_mouse_down_eventsend_mouse_down_eventSendMouseDownEventSendMouseDownEventsend_mouse_down_event
returns the value 2 (
H_MSG_TRUE)
if the window handle
WindowHandleWindowHandleWindowHandlewindowHandlewindow_handle
corresponds to a window of valid type, and the event
is properly encoded. Otherwise, an exception is raised.
Possible Predecessors
open_windowopen_windowOpenWindowOpenWindowopen_window
See also
send_mouse_up_eventsend_mouse_up_eventSendMouseUpEventSendMouseUpEventsend_mouse_up_event
,
send_mouse_double_click_eventsend_mouse_double_click_eventSendMouseDoubleClickEventSendMouseDoubleClickEventsend_mouse_double_click_event
,
open_windowopen_windowOpenWindowOpenWindowopen_window
Module
Foundation