FindColorSpiral2

From SCAR Divi Manual
Revision as of 17:03, 9 February 2012 by Freddy (talk | contribs) (Created page with "==Definition== <source lang="scar" lines="false"> function FindColorSpiral2(var x, y: Integer; Color, xs, ys, xe, ye: Integer): Boolean; </source> ==Availability== SCAR Divi 3.0...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Definition

function FindColorSpiral2(var x, y: Integer; Color, xs, ys, xe, ye: Integer): Boolean;

Availability

SCAR Divi 3.00 > Current

Description

This function searches for a given color specified by Color inside of a given search area specified by xs, ys, xe, ye using a spiral pattern. The search area is given as a set of upper-left (xs, ys) and lower-right (xe, ye) coordinates which are specified relative to the selected client window. The search begins at the given (x, y) coordinate, if x or y are outside of the search area, if the given coordinates are outside of the search area, the funciton will spiral until it enters and covers the entire search area. The function returns false if the color was not found, if it was it returns true and the coordinates of the center of the area of linked pixels containing the found color in (x, y). The search will stop after the first color was found.

Example

var
  w, h: Integer;
  x, y: Integer;

begin
  GetClientDimensions(w, h);
  x := w div 2; y := h div 2;
  if FindColorSpiral2(x, y, 0, 0, 0, w - 1, h - 1) then
    WriteLn('Found color at ' + IntToStr(x) + ', ' + IntToStr(y));
end.

See Also