/// <summary> /// Takes a hash of the textbox dialog area /// </summary> /// <param name="filter">filter for text colors to look for</param> /// <returns>the portion of the dialog text area filled with text color</returns> public double DialogBodyText() { Screen.Value = ScreenScraper.ReadWindow(true); ColorFilter filter = RGBHSBRangeGroupFactory.DialogText(); double match = ImageProcessing.FractionalMatchPiece(Screen, filter, Left + 126, Right - 126, Top + 46, Bottom - 38); return(match); }
/// <summary> /// Waits for an expected set of text to appear in the textbox /// </summary> /// <param name="timeout">time in milliseconds to keep trying before giving up</param> /// <param name="filter">color filter to match the expected text color</param> /// <param name="expectedText">hash of the expected text body</param> /// <param name="allowedPixelDifference">maximum allowed deviation from the expected hash value in pixels</param> /// <param name="filter">color filter to match the expected text color</param> /// <returns>true if matching text appears</returns> public bool WaitForExpectedText(double expectedText, int allowedPixelDifference, int timeout) { Stopwatch watch = new Stopwatch(); watch.Start(); while (watch.ElapsedMilliseconds < timeout && !BotProgram.StopFlag) { Screen.Value = ScreenScraper.ReadWindow(true); if (DialogBodyTextMatch(expectedText, allowedPixelDifference)) { return(true); } BotProgram.SafeWait(100); } return(false); }