def release( lps: Location or Pattern or str, duration: int = None, region: Rectangle = None, button: Button = Button.left, align: Alignment = None, ): """Mouse Release. :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 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(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().release(click_location, duration, button)
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( "drag_from argument must be Location or Pattern or str, %s" % 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( "drop_to argument must be Location or Pattern or str, %s" % type(drop_to)) Mouse().drag_and_drop(loc_from, loc_to, duration)
def middle_click( lps: Location or Pattern or str = None, duration: int = None, region: Rectangle = None, align: Alignment = None, ): """Mouse middle click. Wrapper over _general_click. :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().general_click(click_location, duration, Button.middle, 1)
def scroll_right(dx: int = None, iterations: int = 1): """Scroll right mouse event.""" Mouse().scroll(abs(dx), 0, iterations)
def scroll_left(dx: int = None, iterations: int = 1): """Scroll left mouse event.""" Mouse().scroll(-abs(dx), 0, iterations)
def scroll_up(dy: int = None, iterations: int = 1): """Scroll up mouse event.""" Mouse().scroll(0, abs(dy), iterations)
def scroll_down(dy: int = None, iterations: int = 1): """Scroll down mouse event.""" Mouse().scroll(0, -abs(dy), iterations)
def mouse_reset(): """Reset Mouse coordinates to top left corner.""" Mouse().move(None, duration=0)