Method and apparatus for determining boundaries of graphic regions
First Claim
1. A computer display system having a central processing unit (CPU) coupled to display means including a display, said display having a plurality of selectively enabled and disabled display elements arranged in a matrix, such that each display element is identified by a unique X, Y address, comprising:
- memory means coupled to said CPU for storing a plurality of binary quantities, each of said binary quantities disposed in a memory cell corresponding to a display element, said binary quantities defining regions on said display;
cursor control means coupled to said CPU for selecting an initial X, Y address on said display, and corresponding memory cell in said memory means, to identify an area on said display where the boundaries of a region are to be determined, said initial cell being defined as a seed cell;
logic means coupled to said CPU for determining if said initial X, Y address corresponds to a disabled memory cell, and in such event said logic means incrementing said initial X, Y address to search outwardly to adjacent memory cells until an enabled cell is located, said enabled cell then being defined as the new seed cell;
said CPU searching radially outward in M directions from the X, Y address of said seed cell for N consecutive disabled memory cells, and said logic means setting in each of said directions, the last enabled memory cell prior to said N consecutive disabled cells, as boundary cells;
said logic means defining an initial rectangular region through at least two of said boundary cells;
said logic means determining if P consecutive rows and columns of disabled memory cells bound said initial rectangular region, said CPU selectively extending the boundaries of said initial region in X and Y directions until said region is bounded by P consecutive rows and columns of disabled cells;
whereby the boundaries of a region on said display are determined.
3 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides apparatus and methods for determining the boundaries of arbitrarily shaped regions on a computer display system having a central processing unit (CPU). The CPU is coupled to a display having a plurality of selectively enabled and disabled display elements arranged in a matrix, whereby each display element is identified by a unique X,Y address. A memory coupled to the CPU includes a plurality of memory cells, wherein the cells correspond to a display element on the display. An initial X,Y address is selected on the display by a user employing a cursor control to identify an area on the display where the boundaries of a region are to be determined. The initial X,Y address selected by the user is defined as a seed cell. The CPU determines if the initial seed cell corresponds to a disabled memory cell and blank (disabled) display element, and in such event increments the initial X,Y address to search outwardly a predetermined maximum distance to adjacent memory cells until an enabled (non-blank) cell is located. This enabled cell is set as a new seed cell. The CPU then searches radially outward in M directions from the new seed cells X,Y address for N consecutive disabled (blank) memory cells and sets in each of these directions the last non-blank (enabled) memory cell prior to the N consecutive disabled cells, as boundary cells. An initial rectangular region is defined through at least two of these boundary cells, and the CPU determines if P consecutive rows and columns of blank (disabled) memory cells bound the initial rectangular region. If not, the CPU selectively extends the boundaries of the initial rectangular region in X and Y directions until the region is bounded by P consecutive rows and columns of disabled cells. Accordingly, the boundaries of a region on a display are determined.
79 Citations
35 Claims
-
1. A computer display system having a central processing unit (CPU) coupled to display means including a display, said display having a plurality of selectively enabled and disabled display elements arranged in a matrix, such that each display element is identified by a unique X, Y address, comprising:
-
memory means coupled to said CPU for storing a plurality of binary quantities, each of said binary quantities disposed in a memory cell corresponding to a display element, said binary quantities defining regions on said display; cursor control means coupled to said CPU for selecting an initial X, Y address on said display, and corresponding memory cell in said memory means, to identify an area on said display where the boundaries of a region are to be determined, said initial cell being defined as a seed cell; logic means coupled to said CPU for determining if said initial X, Y address corresponds to a disabled memory cell, and in such event said logic means incrementing said initial X, Y address to search outwardly to adjacent memory cells until an enabled cell is located, said enabled cell then being defined as the new seed cell; said CPU searching radially outward in M directions from the X, Y address of said seed cell for N consecutive disabled memory cells, and said logic means setting in each of said directions, the last enabled memory cell prior to said N consecutive disabled cells, as boundary cells; said logic means defining an initial rectangular region through at least two of said boundary cells;
said logic means determining if P consecutive rows and columns of disabled memory cells bound said initial rectangular region, said CPU selectively extending the boundaries of said initial region in X and Y directions until said region is bounded by P consecutive rows and columns of disabled cells;whereby the boundaries of a region on said display are determined. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for determining the boundaries of a region on a computer controlled display system, said display system including a central processing unit (CPU) coupled to a display, said display having a plurality of selectively enabled and disabled display elements arranged in a matrix, such that each display element is identified by a unique X, Y address, comprising the steps of:
-
providing memory means coupled to said CPU for storing a plurality of binary quantities, each of said binary quantities disposed in a memory cell corresponding to a display element, said binary quantities defining regions on said display; positioning a cursor using cursor control means coupled to said CPU for selecting an initial X, Y address on said display, and corresponding memory cell in said memory means, to identify an area on said display where the boundaries of a region are to be determined, said initial cell defined as a seed cell; determining if said initial X, Y address corresponds to a disabled memory cell, and if so, incrementing said initial X, Y address to search outwardly to adjacent memory cells until an enabled cell is located and setting said located enabled cell as the new seed cell; searching radially outward in M directions from the X, Y address of said seed cell for N consecutive disabled memory cells, and setting, for each of said directions, the last enabled memory cell prior to said N consecutive disabled cells as boundary cells; defining an initial rectangular region through at least two of said boundary cells; determining if P consecutive rows and columns of disabled memory cells bound said initial rectangular region, and selectively extending the boundaries of said initial regions in X and Y directions until said region is bounded by P consecutive rows and columns of disabled cells; whereby the boundaries of a region on said display are determined. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method for determining the boundaries of a region on a computer display, said display having a plurality of display cells identified by X, Y addresses on said display, each of said cells being selectively filled with data or left blank, comprising the steps of:
-
providing memory means coupled to a central processing unit (CPU) and said display, for storing data for display in a memory cell corresponding to a display cell, said data defining regions on said display; positioning a cursor using cursor control means coupled to said CPU for selecting an initial display cell on said display, and corresponding memory cell in said memory means, to identify an area on said display where the boundaries of a region are to be determined, said initial display cell defined as a seed cell; determining if said initial seed cell corresponds to a blank display cell and memory cell, and if so, incrementing said initial X, Y address to search outwardly to adjacent cells until a filled cell is located, and setting said located filled cell as the new seed cell; searching radially outward in M directions from the X, Y address of said seed cell for N consecutive blank cells, and setting, for each of said directions, the last filled cell prior to said N consecutive empty cells as boundary cells; defining an initial rectangular region through at least two of said boundary cells; determining if P consecutive rows and columns of empty cells bound said initial rectangular region, and selectively extending the boundaries of said initial region in X and Y directions until said region is bounded by P consecutive rows and columns of empty cells; whereby the boundaries of a region on said display are determined. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A computer display system having a central processing unit (CPU) coupled to display means including a display, said display having a plurality of display cells identified by X,Y addresses on said display, each of said cells being selectively filled with data or left blank, comprising:
-
memory means coupled to said CPU for storing data for display in a memory cell corresponding to a display cell, said data defining regions on said display; cursor control means coupled to said CPU for selecting an initial display cell on said display, and corresponding memory cell in said memory means, to identify an area on said display where the boundaries of a region are to be determined, said initial display cell defined as a seed cell; said CPU determining if said initial seed cell corresponds to a blank display cell and memory cell, and if so, incrementing said initial X,Y address to search outwardly to adjacent cells until a filled cell is located, and setting said located filled cell as the new seed cell; said CPU searching radially outward in M directions from the X,Y address of said seed cell for N consecutive blank cells, and setting, for each of said directions, the last filled cell prior to said N consecutive empty cells as boundary cells; said CPU defining an initial rectangular region through at least two of said boundary cells, and determining if P consecutive rows and columns of empty cells bound said initial rectangular region, and selectively extending the boundaries of said initial region in X and Y directions until said region is bounded by P consecutive rows and columns of empty cells; whereby the boundaries of a region on a display are determined. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. A computer display system having a central processing unit (CPU) coupled to display means including a display, said display having a plurality of selectively enabled and disabled display elements arranged in a matrix, such that each display element is identified by a unique X, Y address, comprising:
-
memory means coupled to said CPU for storing a plurality of binary quantities, each of said binary quantities disposed in a memory cell corresponding to a display element, said binary quantities defining regions on said display; cursor control means coupled to said CPU for selecting an initial X, Y address on said display, and corresponding memory cell in said memory means, to identify an area on said display where the boundaries of a region are to be determined, said initial cell being defined as a seed cell; logic means coupled to said CPU for determining if said initial X,Y address corresponds to a disabled memory cell, and in such event said logic means incrementing said initial X, Y address to search outwardly a pre-determined maximum distance to adjacent memory cells until an enabled cell is located, said enabled cell then being defined as the new seed cell; said CPU searching radially outward in M directions from the X, Y address of said seed cell for N consecutive disabled memory cells, and said logic means setting in each of said directions, the last enabled memory cell prior to said N consecutive disabled cells, as boundary cells; said logic means determining the maximum and minimum values of X, Y coordinates of said boundary cells and said seed cell, and defining maximum (XMAX, YMIN) and minimum (XMIN, YMIN) initial points from said maximum and minimum values, respectively; said logic means defining an initial rectangular region through said maximum and minimum points;
said logic means determining if P consecutive rows and columns of disabled memory cells bound said initial rectangular region, said CPU selectively extending the boundaries of said initial region in X and Y directions until said region is bounded by P consecutive rows and columns of disabled cells;whereby the boundaries of a region on said display are determined. - View Dependent Claims (30, 31)
-
-
32. A method for determining the boundaries of a region on a computer controlled display system, said display system including a central processing unit (CPU) coupled to a display, said display having a plurality of selectively enabled and disabled display elements arranged in a matrix, such that each display element is identified by a unique X, Y address, comprising the steps of:
-
providing memory means coupled to said CPU for storing a plurality of binary quantities, each of said binary quantities disposed in a memory cell corresponding to a display element, said binary quantities defining regions on said display; positioning a cursor using cursor control means coupled to said CPU for selecting an initial X, Y address on said display, and corresponding memory cell in said memory means, to identify an area on said display where the boundaries of a region are to be determined, said initial cell defined as a seed cell; determining if said initial X, Y address corresponds to a disabled memory cell, and if so, incrementing said initial X, Y address to search outwardly a predetermined maximum distance to adjacent memory cells until an enabled cell is located and setting said located enabled cell as the new seed cell; searching radially outward in M directions from the X, Y address of said seed cell for N consecutive disabled memory cells, and setting, for each of said directions, the last enabled memory cell prior to said N consecutive disabled cells as boundary cells; defining maximum (XMAX, YMAX) and minimum (XMIN, YMIN) initial points from the maximum and minimum X, Y values of said boundary cells and said seed cell, respectively; defining an initial rectangular region through said initial maximum and minimum points; determining if P consecutive rows and columns of disabled memory cells bound said initial rectangular region, and selectively extending the boundaries of said initial regions in X and Y directions until said region is bounded by P consecutive rows and columns of disabled cells; whereby the boundaries of a region on said display are determined. - View Dependent Claims (33, 34, 35)
-
Specification