示例#1
0
def drag_drop(drag_from: Location or Pattern or str, drop_to: Location or Pattern or str, region: Rectangle = None,
              duration: float = None,
              align: Alignment = None):
    """Mouse drag and drop.

    :param drag_from: Starting point for drag and drop. Can be pattern, string or location.
    :param drop_to: Ending point for drag and drop. Can be pattern, string or location.
    :param region: Region object in order to minimize the area.
    :param duration: Speed of drag and drop.
    :param align: Click location alignment could be top_left, center, top_right, bottom_left, bottom_right.
    :return: None.
    """

    if isinstance(drag_from, Location):
        loc_from = drag_from
    elif isinstance(drag_from, Pattern):
        loc_from = _get_pattern_click_location(drag_from, region, align)
    elif isinstance(drag_from, str):
        loc_from = _get_string_click_location(drag_from, region, align)
    else:
        raise ValueError(f'drag_from argument must be Location or Pattern or str, {type(drag_from)}')

    if isinstance(drop_to, Pattern):
        loc_to = _get_pattern_click_location(drop_to, region, align)
    elif isinstance(drop_to, str):
        loc_to = _get_string_click_location(drop_to, region, align)
    elif isinstance(drop_to, Location):
        loc_to = drop_to
    else:
        raise ValueError(f'drop_to argument must be Location or Pattern or str, {type(drop_to)}')

    Mouse().drag_and_drop(loc_from, loc_to, duration)
示例#2
0
文件: mouse.py 项目: leshibily/iris2
def drag_drop(drag_from: Pattern or str,
              drop_to: Pattern or str,
              region: Rectangle = None,
              duration: float = None,
              align: Alignment = None):
    """Mouse drag and drop.

    :param drag_from: Starting point for drag and drop. Can be pattern, string or location.
    :param drop_to: Ending point for drag and drop. Can be pattern, string or location.
    :param region: Region object in order to minimize the area.
    :param duration: Speed of drag and drop.
    :param align: Click location alignment could be top_left, center, top_right, bottom_left, bottom_right.
    :return: None.
    """
    loc_from = None
    loc_to = None

    if isinstance(drag_from, Pattern):
        loc_from = _get_pattern_click_location(drag_from, region, align)
    if isinstance(drag_from, str):
        loc_from = _get_string_click_location(drag_from, region, align)

    if isinstance(drop_to, Pattern):
        loc_to = _get_pattern_click_location(drop_to, region, align)
    if isinstance(drop_to, str):
        loc_to = _get_string_click_location(drop_to, region, align)

    Mouse().drag_and_drop(loc_from, loc_to, duration)
示例#3
0
def move(lps: Location or Pattern or str, duration: int = None, region: Rectangle = None, align: Alignment = None):
    """Mouse Move.

    :param lps: Location or Pattern or String.
    :param duration: Speed of hovering from current location to target.
    :param region: Region object in order to minimize the area.
    :param align: Click location alignment could be top_left, center, top_right, bottom_left, bottom_right.
    :return: None.
    """
    click_location = None
    if isinstance(lps, Pattern):
        click_location = _get_pattern_click_location(lps, region, align)
    elif isinstance(lps, str):
        click_location = _get_string_click_location(lps, region, align)
    else:
        click_location = lps

    Mouse().move(click_location, duration)
示例#4
0
文件: mouse.py 项目: leshibily/iris2
def click(ps: Pattern or str = None,
          duration: int = None,
          region: Rectangle = None,
          align: Alignment = None):
    """Mouse Left Click.

    :param ps: Pattern or String.
    :param duration: Speed of hovering from current location to target.
    :param region: Region object in order to minimize the area.
    :param align: Click location alignment could be top_left, center, top_right, bottom_left, bottom_right.
    :return: None.
    """

    click_location = None
    if isinstance(ps, Pattern):
        click_location = _get_pattern_click_location(ps, region, align)
    if isinstance(ps, str):
        click_location = _get_string_click_location(ps, region, align)

    Mouse().general_click(click_location, duration, Button.left, 1)
示例#5
0
文件: mouse.py 项目: leshibily/iris2
def release(ps: Pattern or str,
            duration: int = None,
            region: Rectangle = None,
            button: Button = Button.left,
            align: Alignment = None):
    """Mouse Release.

    :param ps: Pattern or String.
    :param duration: Speed of hovering from current location to target.
    :param region: Region object in order to minimize the area.
    :param button: 'left','right' or 'middle'.
    :param align: Click location alignment could be top_left, center, top_right, bottom_left, bottom_right.
    :return: None.
    """
    click_location = None
    if isinstance(ps, Pattern):
        click_location = _get_pattern_click_location(ps, region, align)
    if isinstance(ps, str):
        click_location = _get_string_click_location(ps, region, align)

    Mouse().release(click_location, duration, button)
示例#6
0
def scroll_right(dx: int = None, iterations: int = 1):
    """Scroll right mouse event."""
    Mouse().scroll(abs(dx), 0, iterations)
示例#7
0
def scroll_left(dx: int = None, iterations: int = 1):
    """Scroll left mouse event."""
    Mouse().scroll(-abs(dx), 0, iterations)
示例#8
0
def scroll_up(dy: int = None, iterations: int = 1):
    """Scroll up mouse event."""
    Mouse().scroll(0, abs(dy), iterations)
示例#9
0
def scroll_down(dy: int = None, iterations: int = 1):
    """Scroll down mouse event."""
    Mouse().scroll(0, -abs(dy), iterations)
示例#10
0
def mouse_reset():
    """Reset Mouse coordinates to top left corner."""

    Mouse().move(None, duration=0)