Exemple #1
0
/*
 * Perform a triple click at the given mouse position
 *
 * Implemented by first generating a single click, then a double click,
 * and finally a triple click. Apps seem to respond more consistently to
 * this behaviour since that is how a human would have to generate a
 * triple click event.
 *
 * You can optionally specify a point to click; the mouse cursor will
 * instantly jump to the given point; otherwise the click event happens
 * at the current cursor position.
 *
 * @overload triple_click()
 *   @return [CGPoint]
 * @overload triple_click(point)
 *   @param point [CGPoint]
 *   @return [CGPoint]
 */
static
VALUE
rb_mouse_triple_click(const int argc,
                      VALUE* const argv,
                      UNUSED const VALUE self)
{
    switch (argc) {
    case 0:
        mouse_triple_click();
        break;
    case 1:
    default:
        mouse_triple_click2(rb_mouse_unwrap_point(argv[0]));
    }

    return CURRENT_POSITION;
}
Exemple #2
0
void
mouse_triple_click()
{
  mouse_triple_click2(mouse_current_position());
}